< prev index next >

src/hotspot/share/runtime/serviceThread.cpp

Print this page

        

*** 39,48 **** --- 39,49 ---- #include "prims/resolvedMethodTable.hpp" #include "services/diagnosticArgument.hpp" #include "services/diagnosticFramework.hpp" #include "services/gcNotifier.hpp" #include "services/lowMemoryDetector.hpp" + #include "services/threadTable.hpp" ServiceThread* ServiceThread::_instance = NULL; void ServiceThread::initialize() { EXCEPTION_MARK;
*** 122,131 **** --- 123,133 ---- bool has_gc_notification_event = false; bool has_dcmd_notification_event = false; bool stringtable_work = false; bool symboltable_work = false; bool resolved_method_table_work = false; + bool thread_table_work = false; bool protection_domain_table_work = false; bool oopstorage_work = false; bool oopstorages_cleanup[oopstorage_count] = {}; // Zero (false) initialize. JvmtiDeferredEvent jvmti_event; {
*** 149,158 **** --- 151,161 ---- (has_gc_notification_event = GCNotifier::has_event()) | (has_dcmd_notification_event = DCmdFactory::has_pending_jmx_notification()) | (stringtable_work = StringTable::has_work()) | (symboltable_work = SymbolTable::has_work()) | (resolved_method_table_work = ResolvedMethodTable::has_work()) | + (thread_table_work = ThreadTable::has_work()) | (protection_domain_table_work = SystemDictionary::pd_cache_table()->has_work()) | (oopstorage_work = needs_oopstorage_cleanup(oopstorages, oopstorages_cleanup, oopstorage_count)))
*** 192,201 **** --- 195,208 ---- if (resolved_method_table_work) { ResolvedMethodTable::do_concurrent_work(jt); } + if (thread_table_work) { + ThreadTable::do_concurrent_work(jt); + } + if (protection_domain_table_work) { SystemDictionary::pd_cache_table()->unlink(); } if (oopstorage_work) {
< prev index next >