JDK-8248407 : Move Universe roots into OopStorage
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 16
  • Priority: P3
  • Status: Resolved
  • Resolution: Delivered
  • Submitted: 2020-06-26
  • Updated: 2020-08-07
  • Resolved: 2020-08-07
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 16
16Resolved
Related Reports
Blocks :  
Relates :  
Sub Tasks
JDK-8249768 :  
JDK-8249938 :  
JDK-8250516 :  
JDK-8250519 :  
JDK-8250589 :  
Description
These can go in vm_global() oop storage since they're global and don't change once created.
Things that need special handling are:
   the mirrors are saved/restored with CDS
   _reference_pending_list is used atomically
   _the_null_sentinel is referenced by generated code

Universe::oops_do() also calls
   ThreadsSMRSupport::exiting_threads_oops_do(f);

So removing Universe as a case in all the GCs is blocked on changing Thread::_threadObj to an OopHandle.
Comments
All of the subtasks of this RFE are done. Closing as Resolved/Delivered.
07-08-2020