< prev index next >
src/hotspot/share/runtime/deoptimization.cpp
Print this page
rev 57079 : imported patch 8234796
*** 805,814 ****
--- 805,823 ----
JavaThread* jt = (JavaThread*)thread;
jt->deoptimize_marked_methods();
}
};
+ class DeoptimizeMarkedHS : public HandshakeOperation {
+ public:
+ DeoptimizeMarkedHS() : HandshakeOperation("Deoptimize") {}
+ void do_thread(JavaThread* jt) {
+ jt->deoptimize_marked_methods();
+ }
+ };
+
+
void Deoptimization::deoptimize_all_marked() {
ResourceMark rm;
DeoptimizationMarker dm;
if (SafepointSynchronize::is_at_safepoint()) {
*** 820,830 ****
// Make the dependent methods not entrant
{
MutexLocker mu(CodeCache_lock, Mutex::_no_safepoint_check_flag);
CodeCache::make_marked_nmethods_not_entrant();
}
! DeoptimizeMarkedTC deopt;
Handshake::execute(&deopt);
}
}
Deoptimization::DeoptAction Deoptimization::_unloaded_action
--- 829,839 ----
// Make the dependent methods not entrant
{
MutexLocker mu(CodeCache_lock, Mutex::_no_safepoint_check_flag);
CodeCache::make_marked_nmethods_not_entrant();
}
! DeoptimizeMarkedHS deopt;
Handshake::execute(&deopt);
}
}
Deoptimization::DeoptAction Deoptimization::_unloaded_action
< prev index next >