[M3commit] CVS Update: cm3

Jay Krell jkrell at elego.de
Mon Mar 15 15:40:14 CET 2010


CVSROOT:	/usr/cvs
Changes by:	jkrell at birch.	10/03/15 15:40:14

Modified files:
	cm3/m3-sys/m3back/src/: Codex86.m3 M3x86.m3 

Log message:
	Do something cleaner when generating prologues.
	In the interest of an optimization that saves an instruction
	from many many (all?) functions, the original authors
	often produce an epilogue by punching through abstraction
	boundaries and using objfile.patch.
	Worse, they sometimes do that, sometimes use equivalent
	code that goes through the layers.
	With this change, instead, we backup(5) and then use the
	clearer version.
	Unfortunately, if nothing else done, that leaves us trying to
	fixup the branch that we wiped out (its use of the label
	to the end of function. So compensate slightly in Codex86.m3.
	This is trading one ugliness for another.
	Perhaps something better can be found.
	I had something that compared to last_exitbranch in codex86.m3
	but that wasn't quite right and introduced e.g. one instruction
	difference in RTHeapMap.m3.




More information about the M3commit mailing list