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