[M3commit] CVS Update: cm3

Jay Krell jkrell at elego.de
Wed Mar 10 15:51:32 CET 2010


CVSROOT:	/usr/cvs
Changes by:	jkrell at birch.	10/03/10 15:51:32

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

Log message:
	safe keeping: this generates insert/extract better but either
	causes or reveals a register allocation problem, followed
	by an assertion failure; the register allocation problem
	can be seen here:
	
	000003C6: 8B4D08              MOV ECX tv.65[_x]
	000003C9: 8B450C              MOV EAX tv.65[_x]+4
	000003CC: 23CB                AND ECX EBX
	000003CE: 23C2                AND EAX EDX
	000003D0: 0BCE                OR ECX ESI
	000003D2: 0BC7                OR EAX EDI
	exit_proc         Int.64
	000003D4: 91                  XCHG  EAX ECX
	000003D5: 8BD0                MOV EDX EAX
	000003D7: E900000000          JMP L.39
	end_procedure     p.24[_Long__Insert]
	
	64bit return values are EDX:EAX.
	This has, by chance, the value in EAX:ECX, and then
	messes up converting it to EDX:EAX.




More information about the M3commit mailing list