RFR (M) 8061651 - Interface to the Lookup Index Cache to improve URLClassPath search time
Jiangli Zhou
jiangli.zhou at oracle.com
Tue Oct 21 21:04:43 UTC 2014
Hi Ioi,
Here are some comments from me:
-src/share/vm/classfile/classLoader.cpp
In ClassLoader::setup_search_path, if canonicalize is true it's not
necessary to allocate the 'path' and copy the 'class_path' to 'path'.
-src/share/vm/memory/metadataFactory.hpp
In free_array, is it possible to disable it only when PrintSharedSpaces
is enabled, instead of disabling it for all?
-jdk/src/share/native/sun/misc/URLClassPath.c
Is verifying class name needed in
Java_sun_misc_URLClassPath_knownToNotExist0? The class name will be
verified when the class loader loads the class.
-jdk/src/share/classes/sun/misc/URLClassPath.java
CanlookupCacheEnabled flag change during runtime? In getLookupCache()
the flag is checked more than once.
Thanks,
Jiangli
On 10/21/2014 10:27 AM, Ioi Lam wrote:
> Please review this fix:
>
> http://cr.openjdk.java.net/~iklam/8061651-lookup-index-open-v1/
>
> Bug: Add an interface to the JVM's Class/Resource Lookup Index Cache
> for improving sun.misc.URLClassPath search time
>
> https://bugs.openjdk.java.net/browse/JDK-8061651
>
> Summary of fix:
>
> Some J2EE environments have lots of JAR files in the
> classpath. However, during run-time, most classes are loaded by
> custom classloaders which delegate to the system loader. As a
> result, each class loaded by a custom classloader will cause many
> JAR search failures (in sun.misc.URLClassPath).
>
> To limit the number of searches in URLClassPath, the 8uX HotSpot
> VM is going to include a Class/Resource Lookup Index Cache that
> records information about the class/resource entries in the JAR
> files in the classpath. This can be used to improve
> sun.misc.URLClassPath search time.
>
> This is part 1 of the REF -- we are adding appropriate interfaces
> in both the JDK code and the HotSpot code to access this cache.
>
> URLClassPath.java is modified to use JNI to call into the HotSpot
> JVM_XXX APIs to access the cache.
>
> The implementation of this cache is done in part 2 of this RFE.
>
> Note that this enhancement is for JDK 8uX only. In JDK9 and
> beyond, we are considering an alternative implementation where the
> cache is maintained in the core libs code, outside of HotSpot.
>
> Tests:
>
> JPRT
> Adhoc SQE tests
>
> Thanks
> - Ioi
More information about the core-libs-dev
mailing list