< prev index next >
src/hotspot/share/runtime/thread.cpp
Print this page
rev 47413 : Introduce SafepointMechanism
*** 75,84 ****
--- 75,85 ----
#include "runtime/mutexLocker.hpp"
#include "runtime/objectMonitor.hpp"
#include "runtime/orderAccess.inline.hpp"
#include "runtime/osThread.hpp"
#include "runtime/safepoint.hpp"
+ #include "runtime/safepointMechanism.inline.hpp"
#include "runtime/sharedRuntime.hpp"
#include "runtime/statSampler.hpp"
#include "runtime/stubRoutines.hpp"
#include "runtime/sweeper.hpp"
#include "runtime/task.hpp"
*** 2370,2384 ****
thread->set_thread_state(state);
InterfaceSupport::serialize_thread_state_with_handler(thread);
}
! if (SafepointSynchronize::do_call_back()) {
! // If we are safepointing, then block the caller which may not be
! // the same as the target thread (see above).
! SafepointSynchronize::block(curJT);
! }
if (thread->is_deopt_suspend()) {
thread->clear_deopt_suspend();
RegisterMap map(thread, false);
frame f = thread->last_frame();
--- 2371,2381 ----
thread->set_thread_state(state);
InterfaceSupport::serialize_thread_state_with_handler(thread);
}
! SafepointMechanism::block_if_requested(curJT);
if (thread->is_deopt_suspend()) {
thread->clear_deopt_suspend();
RegisterMap map(thread, false);
frame f = thread->last_frame();
< prev index next >