ThreadService and MemoryService implementations collect information at a safepoint and after the safepoint create objects to pass back to Java code. The oops they collect are saved directly in the data structures necessitating an oops_do() call on them. If the oops are moved to OopStorage, they can be iterated more efficiently by GC. Also all the GCs won't require a case to call Management::oops_do().
- relates to
-
JDK-8251302 Create dedicated OopStorages for Management and Jvmti
- Resolved
-
JDK-8273902 Memory leak in OopStorage due to bug in OopHandle::release()
- Closed
-
JDK-8247808 Move JVMTI strong oops to OopStorage
- Resolved
-
JDK-8247920 Unify handling of all OopStorage instances in root processing
- Resolved