Mercurial > hg > truffle
diff src/cpu/sparc/vm/templateTable_sparc.cpp @ 3279:08ccee2c4dbf
6993078: JSR 292 too many pushes: Lesp points into register window
Reviewed-by: kvn, never
author | twisti |
---|---|
date | Thu, 21 Apr 2011 00:25:40 -0700 |
parents | 38fea01eb669 |
children | 286c498ae0d4 |
line wrap: on
line diff
--- a/src/cpu/sparc/vm/templateTable_sparc.cpp Wed Apr 20 18:29:35 2011 -0700 +++ b/src/cpu/sparc/vm/templateTable_sparc.cpp Thu Apr 21 00:25:40 2011 -0700 @@ -3289,8 +3289,6 @@ /*virtual*/ false, /*vfinal*/ false, /*indy*/ true); __ mov(SP, O5_savedSP); // record SP that we wanted the callee to restore - __ verify_oop(G5_callsite); - // profile this call __ profile_call(O4); @@ -3303,8 +3301,10 @@ __ sll(Rret, LogBytesPerWord, Rret); __ ld_ptr(Rtemp, Rret, Rret); // get return address + __ verify_oop(G5_callsite); __ load_heap_oop(G5_callsite, __ delayed_value(java_lang_invoke_CallSite::target_offset_in_bytes, Rscratch), G3_method_handle); __ null_check(G3_method_handle); + __ verify_oop(G3_method_handle); // Adjust Rret first so Llast_SP can be same as Rret __ add(Rret, -frame::pc_return_offset, O7);