diff src/share/vm/prims/jni.cpp @ 14370:4f6bf7dd3f52

8028785: [parfait] warnings from b116 for hotspot.src.share.vm.prims: JNI exception pending Summary: added JNI exception pending check in several files under src/share/vm/prims directory Reviewed-by: coleenp, minqi
author ccheung
date Wed, 12 Feb 2014 12:01:45 -0800
parents 602e80a36dfb
children c66479743828
line wrap: on
line diff
--- a/src/share/vm/prims/jni.cpp	Tue Feb 11 21:32:19 2014 -0800
+++ b/src/share/vm/prims/jni.cpp	Wed Feb 12 12:01:45 2014 -0800
@@ -4348,8 +4348,23 @@
 
     // Get needed field and method IDs
     directByteBufferConstructor = env->GetMethodID(directByteBufferClass, "<init>", "(JI)V");
+    if (env->ExceptionCheck()) {
+      env->ExceptionClear();
+      directBufferSupportInitializeFailed = 1;
+      return false;
+    }
     directBufferAddressField    = env->GetFieldID(bufferClass, "address", "J");
+    if (env->ExceptionCheck()) {
+      env->ExceptionClear();
+      directBufferSupportInitializeFailed = 1;
+      return false;
+    }
     bufferCapacityField         = env->GetFieldID(bufferClass, "capacity", "I");
+    if (env->ExceptionCheck()) {
+      env->ExceptionClear();
+      directBufferSupportInitializeFailed = 1;
+      return false;
+    }
 
     if ((directByteBufferConstructor == NULL) ||
         (directBufferAddressField    == NULL) ||