RFR: 8263968: CDS: java/lang/ModuleLayer.EMPTY_LAYER should be singleton
Aleksei Voitylov
avoitylov at openjdk.java.net
Mon Mar 22 19:55:51 UTC 2021
With CDS and G1, test api/java_lang/ModuleLayer/Boot.html fails in JDK 16.
After JDK-8253081 with CDS enabled two instances of empty layer appear in the runtime. One comes from default initialization of java/lang/ModuleLayer.EMPTY_LAYER, another one comes from CDS archive and is returned by ModuleLayer.boot().parents().get(0). The fix makes java/lang/ModuleLayer.EMPTY_LAYER a singleton with both CDS on and off, similar to java/lang/module/Configuration.EMPTY_CONFIGURATION.
Testing: JCK 16, jtreg (including newly added test), pre-submit GitHub actions tests.
-------------
Commit messages:
- fix jcheck requirements
- JDK-8263968: CDS: java/lang/ModuleLayer.EMPTY_LAYER should be singleton
Changes: https://git.openjdk.java.net/jdk/pull/3131/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=3131&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8263968
Stats: 24 lines in 3 files changed: 21 ins; 0 del; 3 mod
Patch: https://git.openjdk.java.net/jdk/pull/3131.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/3131/head:pull/3131
PR: https://git.openjdk.java.net/jdk/pull/3131
More information about the core-libs-dev
mailing list