[M3commit] [modula3/cm3] ea19a4: Further try on FINALLY static links. Also LOOPHOL...

Rodney Bates rodney.m.bates at acm.org
Fri Nov 20 23:36:27 CET 2015


  Branch: refs/heads/master
  Home:   https://github.com/modula3/cm3
  Commit: ea19a440682108f1bf4b9f2fa3540dab2bea9c6c
      https://github.com/modula3/cm3/commit/ea19a440682108f1bf4b9f2fa3540dab2bea9c6c
  Author: Rodney Bates <rodney.m.bates at acm.org>
  Date:   2015-11-20 (Fri, 20 Nov 2015)

  Changed paths:
    M m3-sys/llvm3.6.1/src/M3CG_LLVM.m3

  Log Message:
  -----------
  Further try on FINALLY static links.  Also LOOPHOLE Fixes.

For most procedures, CG emits neither a static link formal nor
an actual for it in a call.  Backend must insert this stuff,
detecting whether the proc is nested, etc.

For an internally-generated FINALLY procedure, CG emits an explicit
formal for a static link, but does not emit an actual parameter
for in it a call.  CG does explicitly pass the SL to the runtime,
when pushing a finally frame, and this SL will be passed by the
runtime when it calls the FINALLY procedure.

This fixes execution runtime failures in p014, p035, p079, p140.

Also some fixes for LOOPHOLE, to conform to llvm's system of casts.


  Commit: ae305a8c6249660b234f9222e165543e1a43be7d
      https://github.com/modula3/cm3/commit/ae305a8c6249660b234f9222e165543e1a43be7d
  Author: Rodney Bates <rodney.m.bates at acm.org>
  Date:   2015-11-20 (Fri, 20 Nov 2015)

  Log Message:
  -----------
  Merge branch 'master' of https://github.com/modula3/cm3


Compare: https://github.com/modula3/cm3/compare/e05671e1b6fb...ae305a8c6249


More information about the M3commit mailing list