JDK-8234693 : Consolidate CDS static and dynamic archive dumping code
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 13,14
  • Priority: P3
  • Status: Resolved
  • Resolution: Delivered
  • Submitted: 2019-11-23
  • Updated: 2021-02-09
  • Resolved: 2021-02-09
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 17
17Resolved
Related Reports
Duplicate :  
Relates :  
Sub Tasks
JDK-8236236 :  
JDK-8236366 :  
JDK-8250989 :  
JDK-8250990 :  
Description
Currently there are two very similar implementations for static CDS archive dumping (metaspaceShared.cpp) and dynamic CDS archive dumping (dynamicArchive.cpp). We should consolidate the code into a single implementation.
Comments
Only issues associated with changesets should be closed as "Fixed". For an "umbrella", we have been using "Delivered".
09-02-2021

All subtasks are implemented. Closing as Fixed for JDK 17.
09-02-2021

Re: the above comment -- now there's a new design for copying the MetaspaceObjs into the output buffer, so I'll resume this RFE. See https://wiki.openjdk.java.net/display/HotSpot/How+CDS+Copies+Class+Metadata+into+the+Archive I added two more sub tasks (consolidate object copying / consolidate buffer allocation) to make the refactoring more tractable.
03-08-2020

I tried consolidating the two implementations, but that cause significant slow down for static dumping. So I will defer the fix until I can find a way to consolidate without sacrificing performance (probably by some smart use of C++ templates).
11-03-2020