diff options
| author | 2012-08-14 15:09:57 -0700 | |
|---|---|---|
| committer | 2012-08-14 16:04:32 -0700 | |
| commit | 865e6e01486e3d7d61b7d0d952b420e5912c8219 (patch) | |
| tree | 07cd2ba3dcd98ec4bff361f6dae4b6efebdc2e8d /src/compiler_llvm/jni_compiler.cc | |
| parent | 634ea28f78c4a138e6a1de54eae8696095422415 (diff) | |
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).
Change-Id: Ibce43ed84f81a8e332c2e77674e355c338efaaf0
Diffstat (limited to 'src/compiler_llvm/jni_compiler.cc')
0 files changed, 0 insertions, 0 deletions