JDK-8242296 : Archive packages from java.base and the unnamed modules into CDS
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 15
  • Priority: P4
  • Status: Resolved
  • Resolution: Duplicate
  • Submitted: 2020-04-07
  • Updated: 2020-08-19
  • Resolved: 2020-06-15
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.
Other
tbdResolved
Related Reports
Duplicate :  
Description
During early VM bootstrap, we create a ModuleEntry for java.base, plus 3 ModuleEntry's for the unnamed modules for the 3 loaders (boot/platform/app).

With the default CDS image, we then create 167 PackageEntry's for the java.base module.

With AppCDS, possibly many more packages will be created in the unnamed module of the app loader.

We should try to archive all the PackageEntry for the java.base module and the 3 main unnamed modules. That way, shared classes of these modules can have a pre-initialized InstanceKlass::_package_entry field, so we can avoid the hashtable lookup at run time. We also save the time for dynamically allocating the  PackageEntry's.
Comments
PackageEntries will be archived in JDK-8244778.
15-06-2020