RFR: Proposed jimage refresh for JDK9

Alan Bateman Alan.Bateman at oracle.com
Mon May 18 14:58:36 UTC 2015



On 15/05/2015 16:45, Jim Laskey (Oracle) wrote:
> http://cr.openjdk.java.net/~jlaskey/jdk9-jimage/top/ <http://cr.openjdk.java.net/~jlaskey/jdk9-jimage/top/>
> http://cr.openjdk.java.net/~jlaskey/jdk9-jimage/hotspot/ <http://cr.openjdk.java.net/~jlaskey/jdk9-jimage/hotspot/>
> http://cr.openjdk.java.net/~jlaskey/jdk9-jimage/jdk/ <http://cr.openjdk.java.net/~jlaskey/jdk9-jimage/jdk/>
> http://cr.openjdk.java.net/~jlaskey/jdk9-jimage/langtools/ <http://cr.openjdk.java.net/~jlaskey/jdk9-jimage/langtools/>
>
> There are some issues with regard to the hotspot changes, but I’m working with Coleen and John R. to resolve those.
>
>
Just to put a bit more context on this.

As Jim says in the subject line, this is refresh of the jimage 
implementation in JDK 9 (that went in with the initial push of JEP 220).

One of the discussion points at the time was making it a bit easier for 
tools using the jrt file system to locate classes and resources without 
knowing which module they are in. This is addressed in this update by 
introducing a top-level /packages directory in the jrt file system. More 
details in JDK-8066492 [1]. A number of tools already have early support 
for JDK 9 so they will need some adjustments once these changes get into 
JDK 9.

Another issue addressed in this refresh is the startup performance when 
first opening the file system. This is something that has been 
noticeable with javac and javadoc at least.

Jim can say more about the architectural changes but at a high level 
then access goes through a VM interface now whereas previously access 
from the application and extensions class loaders took different path. 
Another change is that the jimage file is optionally fully memory-mapped 
now whereas it was previously only the header. There is a XX option to 
control this and an open question is whether to do this by default on 
32-bit and small devices. For now, there are still 3 jimages file as 
before but we should eventually be able to move to one once the module 
system goes in.

-Alan

[1] https://bugs.openjdk.java.net/browse/JDK-8066492


More information about the jigsaw-dev mailing list