< prev index next >

src/hotspot/share/runtime/safepoint.cpp

Print this page
rev 47413 : Introduce SafepointMechanism

*** 1108,1118 **** return_value = Handle(thread(), result); assert(Universe::heap()->is_in_or_null(result), "must be heap pointer"); } // Block the thread ! SafepointSynchronize::block(thread()); // restore oop result, if any if (return_oop) { caller_fr.set_saved_oop_result(&map, return_value()); } --- 1108,1118 ---- return_value = Handle(thread(), result); assert(Universe::heap()->is_in_or_null(result), "must be heap pointer"); } // Block the thread ! SafepointMechanism::block_if_requested(thread()); // restore oop result, if any if (return_oop) { caller_fr.set_saved_oop_result(&map, return_value()); }
*** 1124,1134 **** // verify the blob built the "return address" correctly assert(real_return_addr == caller_fr.pc(), "must match"); // Block the thread ! SafepointSynchronize::block(thread()); set_at_poll_safepoint(false); // If we have a pending async exception deoptimize the frame // as otherwise we may never deliver it. if (thread()->has_async_condition()) { --- 1124,1134 ---- // verify the blob built the "return address" correctly assert(real_return_addr == caller_fr.pc(), "must match"); // Block the thread ! SafepointMechanism::block_if_requested(thread()); set_at_poll_safepoint(false); // If we have a pending async exception deoptimize the frame // as otherwise we may never deliver it. if (thread()->has_async_condition()) {
< prev index next >