< prev index next >
src/share/vm/prims/jvm.cpp
Print this page
rev 6864 : 8061651: Interface to the Lookup Index Cache to improve URLClassPath search time
Summary: Implemented the interface in sun.misc.URLClassPath and corresponding JVM_XXX APIs
Reviewed-by: mchung, acorn, jiangli, dholmes
@@ -22,10 +22,11 @@
*
*/
#include "precompiled.hpp"
#include "classfile/classLoader.hpp"
+#include "classfile/classLoaderExt.hpp"
#include "classfile/javaAssertions.hpp"
#include "classfile/javaClasses.hpp"
#include "classfile/symbolTable.hpp"
#include "classfile/systemDictionary.hpp"
#if INCLUDE_CDS
@@ -391,10 +392,18 @@
(Arguments::mode() != Arguments::_int)) {
PUTPROP(props, "sun.management.compiler", compiler_name);
}
}
+ const char* enableSharedLookupCache = "false";
+#if INCLUDE_CDS
+ if (ClassLoaderExt::is_lookup_cache_enabled()) {
+ enableSharedLookupCache = "true";
+ }
+#endif
+ PUTPROP(props, "sun.cds.enableSharedLookupCache", enableSharedLookupCache);
+
return properties;
JVM_END
/*
@@ -764,10 +773,40 @@
JVMWrapper("JVM_ResolveClass");
if (PrintJVMWarnings) warning("JVM_ResolveClass not implemented");
JVM_END
+JVM_ENTRY(jboolean, JVM_KnownToNotExist(JNIEnv *env, jobject loader, const char *classname))
+ JVMWrapper("JVM_KnownToNotExist");
+#if INCLUDE_CDS
+ return ClassLoaderExt::known_to_not_exist(env, loader, classname, CHECK_(false));
+#else
+ return false;
+#endif
+JVM_END
+
+
+JVM_ENTRY(jobjectArray, JVM_GetResourceLookupCacheURLs(JNIEnv *env, jobject loader))
+ JVMWrapper("JVM_GetResourceLookupCacheURLs");
+#if INCLUDE_CDS
+ return ClassLoaderExt::get_lookup_cache_urls(env, loader, CHECK_NULL);
+#else
+ return NULL;
+#endif
+JVM_END
+
+
+JVM_ENTRY(jintArray, JVM_GetResourceLookupCache(JNIEnv *env, jobject loader, const char *resource_name))
+ JVMWrapper("JVM_GetResourceLookupCache");
+#if INCLUDE_CDS
+ return ClassLoaderExt::get_lookup_cache(env, loader, resource_name, CHECK_NULL);
+#else
+ return NULL;
+#endif
+JVM_END
+
+
// Returns a class loaded by the bootstrap class loader; or null
// if not found. ClassNotFoundException is not thrown.
//
// Rationale behind JVM_FindClassFromBootLoader
// a> JVM_FindClassFromClassLoader was never exported in the export tables.
< prev index next >