--- old/src/hotspot/share/runtime/thread.cpp 2019-04-25 11:54:39.038644559 +0200 +++ new/src/hotspot/share/runtime/thread.cpp 2019-04-25 11:54:38.316620242 +0200 @@ -2831,18 +2831,17 @@ #endif // PRODUCT -void JavaThread::deoptimized_wrt_marked_nmethods() { +void JavaThread::deoptimize_marked_methods(bool in_handshake) { if (!has_last_Java_frame()) return; // BiasedLocking needs an updated RegisterMap for the revoke monitors pass StackFrameStream fst(this, UseBiasedLocking); for (; !fst.is_done(); fst.next()) { if (fst.current()->should_be_deoptimized()) { - Deoptimization::deoptimize(this, *fst.current(), fst.register_map()); + Deoptimization::deoptimize(this, *fst.current(), fst.register_map(), in_handshake); } } } - // If the caller is a NamedThread, then remember, in the current scope, // the given JavaThread in its _processed_thread field. class RememberProcessedThread: public StackObj { @@ -4602,13 +4601,6 @@ threads_do(&handles_closure); } -void Threads::deoptimized_wrt_marked_nmethods() { - ALL_JAVA_THREADS(p) { - p->deoptimized_wrt_marked_nmethods(); - } -} - - // Get count Java threads that are waiting to enter the specified monitor. GrowableArray* Threads::get_pending_threads(ThreadsList * t_list, int count,