--- old/make/symbols/symbols-unix 2016-08-08 20:27:52.112268365 -0400 +++ new/make/symbols/symbols-unix 2016-08-08 20:27:52.012267869 -0400 @@ -25,7 +25,6 @@ JVM_ArrayCopy JVM_AssertionStatusDirectives JVM_CallStackWalk -JVM_CheckReferencePendingList JVM_ClassDepth JVM_ClassLoaderDepth JVM_Clone @@ -132,6 +131,7 @@ JVM_GetTemporaryDirectory JVM_GetVmArguments JVM_Halt +JVM_HasReferencePendingList JVM_HoldsLock JVM_IHashCode JVM_InitProperties @@ -181,6 +181,7 @@ JVM_ToStackTraceElement JVM_TotalMemory JVM_UnloadLibrary +JVM_WaitForReferencePendingList JVM_Yield # Module related API's --- old/src/share/vm/prims/jvm.cpp 2016-08-08 20:27:52.664271102 -0400 +++ new/src/share/vm/prims/jvm.cpp 2016-08-08 20:27:52.560270586 -0400 @@ -3366,18 +3366,17 @@ return JNIHandles::make_local(env, ref); JVM_END -JVM_ENTRY(jboolean, JVM_CheckReferencePendingList(JNIEnv* env, jboolean await)) - JVMWrapper("JVM_CheckReferencePendingList"); +JVM_ENTRY(jboolean, JVM_HasReferencePendingList(JNIEnv* env)) + JVMWrapper("JVM_HasReferencePendingList"); MonitorLockerEx ml(Heap_lock); - if (Universe::reference_pending_list() != NULL) { - return true; - } else if (await) { - do { - ml.wait(); - } while (Universe::reference_pending_list() == NULL); - return true; - } else { - return false; + return Universe::has_reference_pending_list(); +JVM_END + +JVM_ENTRY(void, JVM_WaitForReferencePendingList(JNIEnv* env)) + JVMWrapper("JVM_WaitForReferencePendingList"); + MonitorLockerEx ml(Heap_lock); + while (!Universe::has_reference_pending_list()) { + ml.wait(); } JVM_END --- old/src/share/vm/prims/jvm.h 2016-08-08 20:27:53.272274117 -0400 +++ new/src/share/vm/prims/jvm.h 2016-08-08 20:27:53.172273621 -0400 @@ -303,7 +303,10 @@ JVM_GetAndClearReferencePendingList(JNIEnv *env); JNIEXPORT jboolean JNICALL -JVM_CheckReferencePendingList(JNIEnv *env, jboolean await); +JVM_HasReferencePendingList(JNIEnv *env); + +JNIEXPORT void JNICALL +JVM_WaitForReferencePendingList(JNIEnv *env); /* * java.io.ObjectInputStream