Integrated: 8263399: CDS should archive only classes allowed by module system
Ioi Lam
iklam at openjdk.java.net
Sun Mar 14 06:05:29 UTC 2021
On Thu, 11 Mar 2021 01:08:16 GMT, Ioi Lam <iklam at openjdk.org> wrote:
> `ClassListParser::load_current_class()` tries to archive a boot class from `-Xbootclasspath/a` into the unnamed package, even if the module system forbids this class from being defined in the unnamed package.
>
> Such classes, even if archived, won't be usable at runtime anyway. The only test case affected by this code is test/hotspot/jtreg/runtime/cds/appcds/jigsaw/classpathtests/BootAppendTests.java, which asserts that such class must be archived, but also asserts that such archived classes cannot be used at runtime. So the first assert seems unnecessary and should be removed.
>
> The main change is in classListParser.cpp.
>
> The change in metaspaceShared.cpp is necessary because the `Preload Warning: Cannot find %s"` message was sometimes printed only in the code path that I've deleted.
This pull request has now been integrated.
Changeset: da9ead5e
Author: Ioi Lam <iklam at openjdk.org>
URL: https://git.openjdk.java.net/jdk/commit/da9ead5e
Stats: 47 lines in 3 files changed: 16 ins; 19 del; 12 mod
8263399: CDS should archive only classes allowed by module system
Reviewed-by: ccheung, minqi
-------------
PR: https://git.openjdk.java.net/jdk/pull/2929
More information about the hotspot-runtime-dev
mailing list