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

Reply via email to