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

Yumin Qi minqi at openjdk.java.net
Wed Apr 21 18:10:34 UTC 2021


On Wed, 21 Apr 2021 16:11:01 GMT, Calvin Cheung <ccheung at openjdk.org> wrote:

>> 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 incrementally with one additional commit since the last revision:
> 
>   move the setting of shared old class bit to InstanceKlass::remove_unshareable_info

src/hotspot/share/classfile/verifier.cpp line 291:

> 289:     // However, bytecodes for shared old classes can be verified because
> 290:     // they have not been rewritten.
> 291:     (!(klass->is_shared() && klass->is_rewritten())) &&

the outmost brackets are not necessary. Could your remove it?

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

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


More information about the hotspot-runtime-dev mailing list