On Mon, 22 Mar 2021 19:40:19 GMT, Aleksei Voitylov <avoity...@openjdk.org> 
wrote:

> 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.

Marked as reviewed by alanb (Reviewer).

src/java.base/share/classes/java/lang/ModuleLayer.java line 156:

> 154: 
> 155:     static {
> 156:         // Initialize EMPTY_LAYER from the archive.

Style wide you can drop L154 and L156 and the comment on EMPTY_LAYER will cover 
its initialization too.

Otherwise looks okay but the more archiving we add does make it harder to 
change this code.

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

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

Reply via email to