RFR: JDK-8166948: Exploded image too slow to be usable

Magnus Ihse Bursie magnus.ihse.bursie at oracle.com
Tue Oct 4 07:30:24 UTC 2016

On 2016-09-30 16:06, Erik Joelsson wrote:
> Hello,
> I missed adding a dependency for the cross compilation case. The 
> change is in Main.gmk, adding the line:
> +      buildtools-modules: create-buildjdk
> New webrev: http://cr.openjdk.java.net/~erikj/8166948/webrev.02/

Looks good to me.


> /Erik
> On 2016-09-30 10: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/
>> /Erik

More information about the build-dev mailing list