Another option would be to put the responsibility of popping the frame on the caller. But that would probably screw things up...
Hmm, I haven't looked at the source in a while, but just where does an F_RETURN jump to? Shouldn't F_RETURN just do a return? Ie, shouldn't F_RETURN be compiled as:
jmp F_RETURN
instead of
jsr F_RETURN jmp *%eax
?
/ Fredrik (Naranek) Hubinette (Real Build Master)
Previous text:
2003-08-07 23:57: Subject: Machine code efficiency
A simple workaround would be to replace
jsr F_RETURN jmp %eax
with:
jmp static_return_stub
; Somewhere global return_stub: jsr F_RETURN jmp %eax
/ Fredrik (Naranek) Hubinette (Real Build Master)