[M3commit] CVS Update: cm3

Jay Krell jkrell at elego.de
Sat Feb 27 20:54:08 CET 2010


CVSROOT:	/usr/cvs
Changes by:	jkrell at birch.	10/02/27 20:54:08

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

Log message:
	IsInt => TypeIsSigned
	
	IsWord => TypeIsUnsigned
	
	Is64 => TypeIs64
	
	TIntN.T{n := NUMBER(Target.Int), x := ...} => TIntN.T{x := ...}
	n's default is NUMBER(Target.Int)
	
	uint_type.size => typeBitSize (new local)
	Modula-3 hides pointers vs. values from me, which normally
	I think is syntacic inconvenience in C, "." vs. "->", I should
	just be able to always say ".", but maybe there is a pointer after all
	
	adjust comments to be less scary when they are about efficiency and
	not correctness e.g. a few 64bit operations involving constants
	generate function calls when they could/should be implemented inline
	
	interesting point from a code size point of view though, is
	that we could inline "everything", and a caller who doesn't like
	the bloat could generally wrap up the operations in a function,
	if they notice, though we have some obligation to be
	efficient for people that don't bother looking
	(specifically, we don't inline some things that Visual C++ does, e.g. rotate64,
	and we do outline some things same as Visual C++ that processor manual
	suggests inlining e.g. 64bit shifts)
	
	GetOperandSize => OperandGetSize
	I know the first one reads more like an English sentence, but
	the second "scales" better I think, more mechanical
	and higher odds of success to always say TypeOperation than
	to find a nice English sentence




More information about the M3commit mailing list