RFR: JDK-8080511 - Refresh of jimage support

Jim Laskey (Oracle) james.laskey at oracle.com
Fri Aug 21 11:50:50 UTC 2015


The API is still a work in progress.  Stay tuned.


> On Aug 21, 2015, at 4:37 AM, deven you <ydwchina at gmail.com> wrote:
> 
> Hi Jim,
> 
> I have one question. I see Hotspot already supports in decompressing compressed resource and there is a method newCompressedResource in jdk/src/java.base/share/classes/jdk/internal/jimage/ResourcePool.java
>  for creating a compressed resource but I did not find any API uses this method and not find there is any compressed resource in bootmodules.jimage.
> 
> What I want to know is 1. if I want to compress one resource in a certain module what are the steps?  I assume I need write some code which first gets the plugin and compressed buffer and then pass to newCompressedResource? If there is some compressed zip or jar files in a certain module how the relevant code deals with this condition?
>                                   2. Any plan that bootmodules.jiamge or other jimage files will contain such compressed resources?
> 
> Thanks a lot!
> 
> 2015-06-18 8:08 GMT+08:00 Jim Laskey (Oracle) <james.laskey at oracle.com <mailto:james.laskey at oracle.com>>:
> https://bugs.openjdk.java.net/browse/JDK-8080511 <https://bugs.openjdk.java.net/browse/JDK-8080511>
> 
> This is an long overdue refresh of the jimage support in the JDK9-dev repo.  This includes native support for reading jimage files, improved jrt-fs (java runtime file system) support for retrieving modules and packages from the runtime, and improved performance for langtools in the presence of jrt-fs.
> 
> http://cr.openjdk.java.net/~jlaskey/hs-rt-jimage/webrev-top <http://cr.openjdk.java.net/~jlaskey/hs-rt-jimage/webrev-top> <http://cr.openjdk.java.net/~jlaskey/hs-rt-jimage/webrev-top <http://cr.openjdk.java.net/~jlaskey/hs-rt-jimage/webrev-top>>
> http://cr.openjdk.java.net/~jlaskey/hs-rt-jimage/webrev-jdk <http://cr.openjdk.java.net/~jlaskey/hs-rt-jimage/webrev-jdk> <http://cr.openjdk.java.net/~jlaskey/hs-rt-jimage/webrev-jdk <http://cr.openjdk.java.net/~jlaskey/hs-rt-jimage/webrev-jdk>>
> http://cr.openjdk.java.net/~jlaskey/hs-rt-jimage/webrev-hotspot <http://cr.openjdk.java.net/~jlaskey/hs-rt-jimage/webrev-hotspot> <http://cr.openjdk.java.net/~jlaskey/hs-rt-jimage/webrev-hotspot <http://cr.openjdk.java.net/~jlaskey/hs-rt-jimage/webrev-hotspot>>
> http://cr.openjdk.java.net/~jlaskey/hs-rt-jimage/webrev-langtools <http://cr.openjdk.java.net/~jlaskey/hs-rt-jimage/webrev-langtools> <http://cr.openjdk.java.net/~jlaskey/hs-rt-jimage/webrev-langtools <http://cr.openjdk.java.net/~jlaskey/hs-rt-jimage/webrev-langtools>>
> 
> 
> Details:
> 
> - jrt-fs provides access, via the nio FileSystem API, to the classes in a .jimage file, organized by module or by package.
> - Shared code for jimage support converted to native.  Currently residing in hotspot, but will migrate to it’s own jdk library https://bugs.openjdk.java.net/browse/JDK-8087181 <https://bugs.openjdk.java.net/browse/JDK-8087181> <https://bugs.openjdk.java.net/browse/JDK-8087181 <https://bugs.openjdk.java.net/browse/JDK-8087181>>
> - A new archive abstraction for class/resource sources.
> - java based implementation layer for jimage reading to allow backport to JDK8 (jrt-fs.jar - IDE support.)
> - JNI support for jimage into hotspot.
> - White box tests written to exercise native jimage support.
> 
> 



More information about the jigsaw-dev mailing list