[M3commit] [modula3/cm3] 44fbd1: allocate jmpbufs with alloca(external variable ini...

Jay Krell jay.krell at cornell.edu
Sat Aug 8 20:29:13 CEST 2015

  Branch: refs/heads/master
  Home:   https://github.com/modula3/cm3
  Commit: 44fbd1608a73affa0625a9df4bff1c7248cc6f3c
  Author: Jay Krell <jay.krell at cornell.edu>
  Date:   2015-08-08 (Sat, 08 Aug 2015)

  Changed paths:
    M m3-libs/m3core/src/runtime/ex_frame/RTExFrame.m3
    M m3-sys/m3back/src/M3C.m3
    M m3-sys/m3cc/gcc/gcc/m3cg/parse.c
    A m3-sys/m3front/src/misc/Jmpbufs.i3
    A m3-sys/m3front/src/misc/Jmpbufs.m3
    M m3-sys/m3front/src/misc/M3.i3
    M m3-sys/m3front/src/misc/Marker.i3
    M m3-sys/m3front/src/misc/Marker.m3
    M m3-sys/m3front/src/misc/m3makefile
    M m3-sys/m3front/src/stmts/TryFinStmt.m3
    M m3-sys/m3front/src/stmts/TryStmt.m3
    M m3-sys/m3front/src/values/Module.i3
    M m3-sys/m3front/src/values/Module.m3
    M m3-sys/m3front/src/values/Procedure.m3
    M m3-sys/m3middle/src/M3RT.m3
    M m3-sys/m3middle/src/Target.i3
    M m3-sys/m3middle/src/Target.m3

  Log Message:
  allocate jmpbufs with alloca(external variable initialized in C)
instead of having cm3 know any target-specfic jmp_buf sizeA

The point is: This removes a chunk of target-specific code (in Target.m3).
It is a slight deoptimization in otherwise already very inefficient code,
which might be replaced be something much more efficient than it previously was.

More information about the M3commit mailing list