mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 07:14:30 +02:00
8227054: ServiceThread needs to know about all OopStorage objects
8227053: ServiceThread cleanup of OopStorage is missing some OopStorages provides named access and iteration. Reviewed-by: eosterlund, pliden, coleenp
This commit is contained in:
parent
de8d01d4d3
commit
1acad37ee6
28 changed files with 721 additions and 358 deletions
|
@ -47,6 +47,7 @@
|
|||
#include "compiler/compileBroker.hpp"
|
||||
#include "gc/shared/gcTraceTime.inline.hpp"
|
||||
#include "gc/shared/oopStorage.inline.hpp"
|
||||
#include "gc/shared/oopStorageSet.hpp"
|
||||
#include "interpreter/bytecodeStream.hpp"
|
||||
#include "interpreter/interpreter.hpp"
|
||||
#include "jfr/jfrEvents.hpp"
|
||||
|
@ -114,10 +115,6 @@ bool SystemDictionary::_has_checkPackageAccess = false;
|
|||
|
||||
const int defaultProtectionDomainCacheSize = 1009;
|
||||
|
||||
OopStorage* SystemDictionary::_vm_global_oop_storage = NULL;
|
||||
OopStorage* SystemDictionary::_vm_weak_oop_storage = NULL;
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Java-level SystemLoader and PlatformLoader
|
||||
|
||||
|
@ -1855,7 +1852,7 @@ void SystemDictionary::oops_do(OopClosure* f, bool include_handles) {
|
|||
invoke_method_table()->oops_do(f);
|
||||
|
||||
if (include_handles) {
|
||||
vm_global_oop_storage()->oops_do(f);
|
||||
OopStorageSet::vm_global()->oops_do(f);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2896,25 +2893,3 @@ int SystemDictionaryDCmd::num_arguments() {
|
|||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
void SystemDictionary::initialize_oop_storage() {
|
||||
_vm_global_oop_storage =
|
||||
new OopStorage("VM Global Oop Handles",
|
||||
VMGlobalAlloc_lock,
|
||||
VMGlobalActive_lock);
|
||||
|
||||
_vm_weak_oop_storage =
|
||||
new OopStorage("VM Weak Oop Handles",
|
||||
VMWeakAlloc_lock,
|
||||
VMWeakActive_lock);
|
||||
}
|
||||
|
||||
OopStorage* SystemDictionary::vm_global_oop_storage() {
|
||||
assert(_vm_global_oop_storage != NULL, "Uninitialized");
|
||||
return _vm_global_oop_storage;
|
||||
}
|
||||
|
||||
OopStorage* SystemDictionary::vm_weak_oop_storage() {
|
||||
assert(_vm_weak_oop_storage != NULL, "Uninitialized");
|
||||
return _vm_weak_oop_storage;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue