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