On 30/09/2016 09:03, Erik Joelsson wrote:

During the build process, we create an exploded image as an interim step before linking the real JDK and JRE images. This exploded image is used both for running certain build tools during the build but is also used by developers when needing a quick build-test cycle since the exploded image is much faster to build incrementally.

Lately, with newer Jigsaw features, the exploded image has become very slow to run. This is caused by the runtime needing to index all packages in all modules at startup. In a linked image, this data is pregenerated, but in the exploded case, it's not. There have been reports of this taking up to 4-5 seconds on certain configurations.

To fix this, we can add a new build tool that is run on the exploded image, which updates the module-info.class files with this package index. This will also have the benefit of also speeding up jmod and jlink when run during the build.

Alan provided the tool and I have modified the build to use it.

Bug: https://bugs.openjdk.java.net/browse/JDK-8166948

Webrev: http://cr.openjdk.java.net/~erikj/8166948/webrev.01/


The build changes looks okay to me. The only thing is that all tools using BUILD_JIGSAW_TOOLS are invoked with the same --add-exports, not really an issue but I could imagine needing to split those out sometime.

-Alan

Reply via email to