1.1 --- a/src/share/vm/prims/whitebox.cpp Tue Oct 28 09:17:36 2014 +0100 1.2 +++ b/src/share/vm/prims/whitebox.cpp Mon Oct 13 16:09:57 2014 -0700 1.3 @@ -104,6 +104,28 @@ 1.4 return closure.found(); 1.5 WB_END 1.6 1.7 +WB_ENTRY(jboolean, WB_ClassKnownToNotExist(JNIEnv* env, jobject o, jobject loader, jstring name)) 1.8 + ThreadToNativeFromVM ttnfv(thread); // can't be in VM when we call JNI 1.9 + const char* class_name = env->GetStringUTFChars(name, NULL); 1.10 + jboolean result = JVM_KnownToNotExist(env, loader, class_name); 1.11 + env->ReleaseStringUTFChars(name, class_name); 1.12 + return result; 1.13 +WB_END 1.14 + 1.15 +WB_ENTRY(jobjectArray, WB_GetLookupCacheURLs(JNIEnv* env, jobject o, jobject loader)) 1.16 + ThreadToNativeFromVM ttnfv(thread); // can't be in VM when we call JNI 1.17 + return JVM_GetResourceLookupCacheURLs(env, loader); 1.18 +WB_END 1.19 + 1.20 +WB_ENTRY(jintArray, WB_GetLookupCacheMatches(JNIEnv* env, jobject o, jobject loader, jstring name)) 1.21 + ThreadToNativeFromVM ttnfv(thread); // can't be in VM when we call JNI 1.22 + const char* resource_name = env->GetStringUTFChars(name, NULL); 1.23 + jintArray result = JVM_GetResourceLookupCache(env, loader, resource_name); 1.24 + 1.25 + env->ReleaseStringUTFChars(name, resource_name); 1.26 + return result; 1.27 +WB_END 1.28 + 1.29 WB_ENTRY(jlong, WB_GetCompressedOopsMaxHeapSize(JNIEnv* env, jobject o)) { 1.30 return (jlong)Arguments::max_heap_for_compressed_oops(); 1.31 } 1.32 @@ -939,6 +961,11 @@ 1.33 {CC"isObjectInOldGen", CC"(Ljava/lang/Object;)Z", (void*)&WB_isObjectInOldGen }, 1.34 {CC"getHeapOopSize", CC"()I", (void*)&WB_GetHeapOopSize }, 1.35 {CC"isClassAlive0", CC"(Ljava/lang/String;)Z", (void*)&WB_IsClassAlive }, 1.36 + {CC"classKnownToNotExist", 1.37 + CC"(Ljava/lang/ClassLoader;Ljava/lang/String;)Z",(void*)&WB_ClassKnownToNotExist}, 1.38 + {CC"getLookupCacheURLs", CC"(Ljava/lang/ClassLoader;)[Ljava/net/URL;", (void*)&WB_GetLookupCacheURLs}, 1.39 + {CC"getLookupCacheMatches", CC"(Ljava/lang/ClassLoader;Ljava/lang/String;)[I", 1.40 + (void*)&WB_GetLookupCacheMatches}, 1.41 {CC"parseCommandLine", 1.42 CC"(Ljava/lang/String;[Lsun/hotspot/parser/DiagnosticCommand;)[Ljava/lang/Object;", 1.43 (void*) &WB_ParseCommandLine