diff src/share/vm/prims/jni.cpp @ 17704:56cd09c4a5c9

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 cc3f124c6eae
children 191174b49bec
line wrap: on
line diff
--- a/src/share/vm/prims/jni.cpp	Fri Feb 28 09:10:55 2014 -0800
+++ b/src/share/vm/prims/jni.cpp	Wed Feb 12 12:01:45 2014 -0800
@@ -4450,8 +4450,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) ||