[M3commit] CVS Update: cm3
Jay Krell
jkrell at elego.de
Thu Sep 20 15:16:52 CEST 2012
CVSROOT: /usr/cvs
Changes by: jkrell at birch. 12/09/20 15:16:52
Modified files:
cm3/m3-sys/m3back/src/: M3C.m3
Log message:
declare/implement finally procs as K&R instead of ANSI
since they are not always passed the activation/exception record
(I need to write tests to see when they use it, and if never,
then just omit it)
for nested functions in general, put static_link last, not first, since
it is often passed for indirect calls to non-nested functions
but for finally procs, put it first, since it is always passed,
and the other parameter isn't always passed at all
but note, in call_indirect, we put it always last, so that is a bug
I think frontend needs to always pass the exception/activation information,
even if nil, to fix this.
uniquify all local names, for now, since begin/end_block don't
provide the scoping they are meant to, because declare/import_procedure
comes in at arbitrary times..
fix struct sizes, but it probably wasn't really wrong
current state uncertain, but previously, by putting the static link
last, I got much much further..lots of code ran, and then assertion
failure deep in garbage collector...moving attention maybe to m3-sys/m3tests..
if fixing this finally proc stuff doesn't fix the garbage collector..
More information about the M3commit
mailing list