< prev index next >

src/hotspot/share/runtime/serviceThread.cpp

Print this page

        

@@ -25,11 +25,10 @@
 #include "precompiled.hpp"
 #include "classfile/protectionDomainCache.hpp"
 #include "classfile/stringTable.hpp"
 #include "classfile/symbolTable.hpp"
 #include "classfile/systemDictionary.hpp"
-#include "memory/universe.hpp"
 #include "runtime/handles.inline.hpp"
 #include "runtime/interfaceSupport.inline.hpp"
 #include "runtime/javaCalls.hpp"
 #include "runtime/jniHandles.hpp"
 #include "runtime/serviceThread.hpp"

@@ -137,11 +136,11 @@
       // suspend-equivalent because ServiceThread is not visible to
       // external suspension.
 
       ThreadBlockInVM tbivm(jt);
 
-      MonitorLocker ml(Service_lock, Mutex::_no_safepoint_check_flag);
+      MonitorLockerEx ml(Service_lock, Mutex::_no_safepoint_check_flag);
       // Process all available work on each (outer) iteration, rather than
       // only the first recognized bit of work, to avoid frequently true early
       // tests from potentially starving later work.  Hence the use of
       // arithmetic-or to combine results; we don't want short-circuiting.
       while (((sensors_changed = LowMemoryDetector::has_pending_requests()) |

@@ -156,11 +155,11 @@
                                                           oopstorages_cleanup,
                                                           oopstorage_count)))
 
              == 0) {
         // Wait until notified that there is some work to do.
-        ml.wait();
+        ml.wait(Mutex::_no_safepoint_check_flag);
       }
 
       if (has_jvmti_events) {
         jvmti_event = JvmtiDeferredEventQueue::dequeue();
       }

@@ -189,11 +188,11 @@
     if(has_dcmd_notification_event) {
       DCmdFactory::send_notification(CHECK);
     }
 
     if (resolved_method_table_work) {
-      ResolvedMethodTable::do_concurrent_work(jt);
+      ResolvedMethodTable::unlink();
     }
 
     if (protection_domain_table_work) {
       SystemDictionary::pd_cache_table()->unlink();
     }
< prev index next >