small changes, long build time

Alan Bateman Alan.Bateman at
Sat Apr 30 07:53:52 UTC 2016

On 30/04/2016 08:32, David Holmes wrote:
> Just to add my concerns here, I was changing the launcher and building 
> images and that caused the jmods to be rebuilt as well. I would not 
> expect that so do we have missing dependency information in the build?
By "changing the launcher" then do you mean the native code, say in 
jdk/src/java.base/share/native/? There are many modules with native 
launchers and the launcher code is compiled for each one. If you instead 
mean LauncherHelper or other java code then it's in java.base and so the 
classes in that module need to be recompiled and of course everything 
depends on java.base.

As regards the jmod files then they are the packaged modules. The linker 
consumes these so they need to be built before we create the images. 
Also the packaged modules are copied into the `jdk` image (by jlink) as 
it is needed to create custom images.

Anyway points to mention:

1. The jmod files are currently huge. This is mostly because of debug 
info. Erik fixed this recently in jdk9/dev via JDK-8155632 but it may 
not have got to all forests yet.

2. We have changes coming (should be in jdk9/dev by mid next week) that 
avoids the need to generate the packaged modules in reverse topology 
order. This is the change to the where the integrity hashes are recorded 
that I mentioned in the first reply. This may help with the build times 
a bit although generating the packaged modules is I/O bound so mileage 
may vary.


More information about the build-dev mailing list