[M3commit] CVS Update: cm3

Jay Krell jkrell at elego.de
Wed Apr 10 03:29:13 CEST 2013


CVSROOT:	/usr/cvs
Changes by:	jkrell at birch.	13/04/10 03:29:13

Modified files:
	cm3/m3-sys/m3back/src/: M3C.m3 

Log message:
	start really using structs and other types for locals!
	(not yet for parameters)
	
	remove FORWARD_STRUCT in favor of duplication
	
	comment out getMinimumBitSize
	
	stop predeclaring:
	(*CONST UID_RANGE_0_31 = 16_2DA6581D; [0..31] *)
	(*CONST UID_RANGE_0_63 = 16_2FA3581D; [0..63] *)
	as they end up sized 8 bits instead of integer
	
	fix subranges to be sized as appropriate instead
	of based on domain_type -- very important!
	We are using these types now too, not just records.
	
	There are some stop-gaps here casting to record
	addresses to ADDRESS. e.g. exit_proc
	
	Change types from M<typeid> to T<typeid>.
	M for Modula-3, T for type.
	
	Example:
	_L_59 = {
	start = 0x101204640 "/Users/jay/dev2/cm3/m3-libs/m3core",
	length = 34,
	wide = 0 '\0',
	L_0 = "\000\000\000\000\000\000"
	}
	L_176_L_177 = 0x1005344ac "UH??H??@H?}?H?u?H?E?"
	L_178_L_179 = 0x1005344ac "UH??H??@H?}?H?u?H?E?"
	_frame = {
	_unused = 0x7fff5fbfeed0 "??_?"
	}
	(gdb) bt 1
	#0  Text__Length (t_L_61=0x101204618 "`Vn") at Text.m3.c:1853
	
	This is a significant improvement over stock gdb.
	Except for the appended "_L_<integer>" which is set to
	be removed, once I handle scopes and don't lift locals out
	to toplevel for each function.




More information about the M3commit mailing list