< 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 >