Callee-save frame fix
Previously, the callee-frame stubs tried to be a little too efficient
in stack usage by re-using the storage allocated for the Method* to pass
an argument. Unfortunately, if the compiler decided to do a tail-call
optimization on the called routine, it could end up re-using that same
slot for outgoing arguments (thus clobbering the Method*, and breaking
a subsequent stack crawl).
This CL fixes the problem by not re-using the Method* slot (at the cost
of a few extra instructions and 16 bytes of stack).
1 file changed