RFR: 8261090: Store old classfiles in static CDS archive [v2]

Calvin Cheung ccheung at openjdk.java.net
Tue Apr 20 00:01:50 UTC 2021


> Please review this RFE for storing old classfiles with major version < 50 in static CDS archive.
> During static CDS dump time, old classes won't be verified/rewritten. They will be verified/rewritten during runtime.
> Therefore, the `_constMethod`, `_constants`, and `_cache` of old classes must be stored in the RW region of the archive for runtime rewriting. The `ConstantPool::remove_unshareable_info` will be skipped during dump time and the `ConstantPool::restore_unshareable_info` will be skipped during runtime for old classes.
> 
> Passed tiers 1,2,3,4 tests on mach5.

Calvin Cheung has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains seven additional commits since the last revision:

 - review comments from @iklam
 - Merge branch 'master' into 8261090-store-old-classfiles
 - use is_written() instead of is_old_class() in constantPool.cpp
 - remove extraneous whitespace
 - Merge branch 'master' into 8261090-store-old-classfiles
 - add comments and some code simplification
 - 8261090: Store old classfiles in static CDS archive

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/3479/files
  - new: https://git.openjdk.java.net/jdk/pull/3479/files/11fdb562..c93eaedd

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=3479&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=3479&range=00-01

  Stats: 31409 lines in 1112 files changed: 3184 ins; 24288 del; 3937 mod
  Patch: https://git.openjdk.java.net/jdk/pull/3479.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/3479/head:pull/3479

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


More information about the hotspot-runtime-dev mailing list