[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