[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