< prev index next >

src/cpu/ppc/vm/templateInterpreterGenerator_ppc.cpp

Print this page

        

*** 879,892 **** __ align(32, 12); __ bind(done); BLOCK_COMMENT("} stack_overflow_check_with_compare"); } - void TemplateInterpreterGenerator::unlock_method(bool check_exceptions) { - __ unlock_object(R26_monitor, check_exceptions); - } - // Lock the current method, interpreter register window must be set up! void TemplateInterpreterGenerator::lock_method(Register Rflags, Register Rscratch1, Register Rscratch2, bool flags_preloaded) { const Register Robj_to_lock = Rscratch2; { --- 879,888 ----
*** 1564,1574 **** // Handle exceptions if (synchronized) { // Don't check for exceptions since we're still in the i2n frame. Do that // manually afterwards. ! unlock_method(false); } // Reset active handles after returning from native. // thread->active_handles()->clear(); __ ld(active_handles, thread_(active_handles)); --- 1560,1570 ---- // Handle exceptions if (synchronized) { // Don't check for exceptions since we're still in the i2n frame. Do that // manually afterwards. ! __ unlock_object(R26_monitor, false); // Can also unlock methods. } // Reset active handles after returning from native. // thread->active_handles()->clear(); __ ld(active_handles, thread_(active_handles));
*** 1607,1617 **** BIND(exception_return_sync_check); if (synchronized) { // Don't check for exceptions since we're still in the i2n frame. Do that // manually afterwards. ! unlock_method(false); } BIND(exception_return_sync_check_already_unlocked); const Register return_pc = R31; --- 1603,1613 ---- BIND(exception_return_sync_check); if (synchronized) { // Don't check for exceptions since we're still in the i2n frame. Do that // manually afterwards. ! __ unlock_object(R26_monitor, false); // Can also unlock methods. } BIND(exception_return_sync_check_already_unlocked); const Register return_pc = R31;
< prev index next >