[M3commit] CVS Update: cm3

Jay Krell jkrell at elego.de
Mon Sep 13 14:04:13 CEST 2010


CVSROOT:	/usr/cvs
Changes by:	jkrell at birch.	10/09/13 14:04:13

Modified files:
	cm3/m3-sys/m3cc/gcc/gcc/m3cg/: parse.c 

Log message:
	separate get_int into get_int and trace_int
	This way:
	- no more passing of 0 to suppress trace (somewhat reversion
	of earlier changes)
	- macros that multiply can trace the multiplied value
	That is the real point, it seems more correct this way,
	though the serialized value is what was traced and wasn't
	entirely illegitimate.
	- get_int less changed vs. historical version, if that matters
	
	eliminate temporaries from min and max (but not check_eq)
	combine min and max implementations into minmax
	
	eliminate more manual tracing (I only eliminate them after
	looking at the new auto+manual version, make sure
	auto has parity)
	
	eliminate several cases of multiplication by BITS_PER_UNIT
	almost immediately followed by division by BITS_PER_UNIT
	It seems kind of confusing either way. I guess "BYTEOFFSET"
	is an indication that a number of bytes is serialized,
	and the macro would then convert to the usual bit offset,
	but then a bunch of code really wants byte offsets anyway.
	And there I was starting to think that bitoffsets
	were a much better currency.
	And yes, I know that division and multiplication by
	constant power of 2 (eh, really any 32 bit constant,
	these days) is super duper fast)
	I certainly be comfortable passing bit offsets here
	in the first place, and then doing just the divide as needed.




More information about the M3commit mailing list