RFR: 8249262: Initialize InstanceKlass::_package_entry during CDS dump time

Calvin Cheung ccheung at openjdk.java.net
Sat Jan 23 00:07:48 UTC 2021


With JDK-8244778, the `PackageEntry` of all archived classes (for the 3 built-in class loaders) are all created during CDS dump time. We can remember this in `InstanceKlass::_package_entry` during dump time to avoid the hashtable lookup at runtime in `InstanceKlass::set_package()` and `SystemDictionaryShared::get_package_entry_from_class_name()`.

Passed tiers 1 - 4 testing.

Just a very small perf improvement with HelloWorld:
instr delta =        -9514    -0.0145%
time  delta =       -0.272 ms -0.6916%

-------------

Commit messages:
 - cleanup code
 - fix Windows build issue and improve SystemDictionaryShared::get_package_entry_from_class_name
 - 8249262: (fix a jvmti test failure)
 - Merge branch 'master' into 8249262-initialize-package-entry
 - 8249262 (fix some bugs)
 - 8249262 (initial commit)

Changes: https://git.openjdk.java.net/jdk/pull/2206/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2206&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8249262
  Stats: 66 lines in 9 files changed: 58 ins; 0 del; 8 mod
  Patch: https://git.openjdk.java.net/jdk/pull/2206.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/2206/head:pull/2206

PR: https://git.openjdk.java.net/jdk/pull/2206


More information about the hotspot-runtime-dev mailing list