< prev index next >
src/hotspot/share/runtime/thread.cpp
Print this page
rev 54620 : imported patch 8222637
rev 54621 : imported patch 8221734-v1
*** 2829,2850 ****
}
}
#endif // PRODUCT
! void JavaThread::deoptimized_wrt_marked_nmethods() {
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());
}
}
}
-
// If the caller is a NamedThread, then remember, in the current scope,
// the given JavaThread in its _processed_thread field.
class RememberProcessedThread: public StackObj {
NamedThread* _cur_thr;
public:
--- 2829,2849 ----
}
}
#endif // PRODUCT
! 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(), 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 {
NamedThread* _cur_thr;
public:
*** 4600,4616 ****
// Only walk the Handles in Thread.
ThreadHandlesClosure handles_closure(f);
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<JavaThread*>* Threads::get_pending_threads(ThreadsList * t_list,
int count,
address monitor) {
GrowableArray<JavaThread*>* result = new GrowableArray<JavaThread*>(count);
--- 4599,4608 ----
< prev index next >