< prev index next >

src/hotspot/share/runtime/deoptimization.cpp

Print this page
rev 57156 : imported patch 8234796-v3

@@ -799,35 +799,35 @@
 
 
   return bt;
 JRT_END
 
-class DeoptimizeMarkedTC : public ThreadClosure {
+class DeoptimizeMarkedClosure : public HandshakeClosure {
  public:
-  virtual void do_thread(Thread* thread) {
-    assert(thread->is_Java_thread(), "must be");
+  DeoptimizeMarkedClosure() : HandshakeClosure("Deoptimize") {}
+  void do_thread(Thread* thread) {
     JavaThread* jt = (JavaThread*)thread;
     jt->deoptimize_marked_methods();
   }
 };
 
 void Deoptimization::deoptimize_all_marked() {
   ResourceMark rm;
   DeoptimizationMarker dm;
 
   if (SafepointSynchronize::is_at_safepoint()) {
-    DeoptimizeMarkedTC deopt;
+    DeoptimizeMarkedClosure deopt;
     // Make the dependent methods not entrant
     CodeCache::make_marked_nmethods_not_entrant();
     Threads::java_threads_do(&deopt);
   } else {
     // Make the dependent methods not entrant
     {
       MutexLocker mu(CodeCache_lock, Mutex::_no_safepoint_check_flag);
       CodeCache::make_marked_nmethods_not_entrant();
     }
-    DeoptimizeMarkedTC deopt;
+    DeoptimizeMarkedClosure deopt;
     Handshake::execute(&deopt);
   }
 }
 
 Deoptimization::DeoptAction Deoptimization::_unloaded_action
< prev index next >