src/cpu/sparc/vm/templateTable_sparc.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 6474243 Cdiff src/cpu/sparc/vm/templateTable_sparc.cpp

src/cpu/sparc/vm/templateTable_sparc.cpp

Print this page

        

*** 2083,2093 **** if (is_static) { __ clr(Otos_i); } else { if (has_tos) { // save object pointer before call_VM() clobbers it ! __ mov(Otos_i, Lscratch); } else { // Load top of stack (do not pop the value off the stack); __ ld_ptr(Lesp, Interpreter::expr_offset_in_bytes(0), Otos_i); } __ verify_oop(Otos_i); --- 2083,2093 ---- if (is_static) { __ clr(Otos_i); } else { if (has_tos) { // save object pointer before call_VM() clobbers it ! __ push_ptr(Otos_i); // put object on tos where GC wants it. } else { // Load top of stack (do not pop the value off the stack); __ ld_ptr(Lesp, Interpreter::expr_offset_in_bytes(0), Otos_i); } __ verify_oop(Otos_i);
*** 2095,2105 **** // Otos_i: object pointer or NULL if static // Rcache: cache entry pointer __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::post_field_access), Otos_i, Rcache); if (!is_static && has_tos) { ! __ mov(Lscratch, Otos_i); // restore object pointer __ verify_oop(Otos_i); } __ get_cache_and_index_at_bcp(Rcache, index, 1); __ bind(Label1); } --- 2095,2105 ---- // Otos_i: object pointer or NULL if static // Rcache: cache entry pointer __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::post_field_access), Otos_i, Rcache); if (!is_static && has_tos) { ! __ pop_ptr(Otos_i); // restore object pointer __ verify_oop(Otos_i); } __ get_cache_and_index_at_bcp(Rcache, index, 1); __ bind(Label1); }
src/cpu/sparc/vm/templateTable_sparc.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File