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

Yumin Qi minqi at openjdk.java.net
Wed Apr 21 18:26:33 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

test/hotspot/jtreg/runtime/cds/appcds/OldSuperInf.java line 56:

> 54:         OutputAnalyzer output = TestCommon.dump(appJar, appClasses, "-Xlog:class+load,cds=debug,verification=trace");
> 55:         TestCommon.checkExecReturn(output, 0,
> 56:                                    dynamicMode ? true : false,

Why use a ternary operator, is it the variable itself OK here?

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

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


More information about the hotspot-runtime-dev mailing list