diff src/share/vm/prims/jni.cpp @ 17805:bbfbe9b06038

Merge
author kvn
date Thu, 13 Mar 2014 14:57:01 -0700
parents cc3f124c6eae
children 56cd09c4a5c9
line wrap: on
line diff
--- a/src/share/vm/prims/jni.cpp	Mon Mar 10 12:58:02 2014 +0100
+++ b/src/share/vm/prims/jni.cpp	Thu Mar 13 14:57:01 2014 -0700
@@ -1356,9 +1356,13 @@
       // interface call
       KlassHandle h_holder(THREAD, holder);
 
-      int itbl_index = m->itable_index();
-      Klass* k = h_recv->klass();
-      selected_method = InstanceKlass::cast(k)->method_at_itable(h_holder(), itbl_index, CHECK);
+      if (call_type == JNI_VIRTUAL) {
+        int itbl_index = m->itable_index();
+        Klass* k = h_recv->klass();
+        selected_method = InstanceKlass::cast(k)->method_at_itable(h_holder(), itbl_index, CHECK);
+      } else {
+        selected_method = m;
+      }
     }
   }
 
@@ -5061,8 +5065,8 @@
 void TestMetaspaceAux_test();
 void TestMetachunk_test();
 void TestVirtualSpaceNode_test();
+#if INCLUDE_ALL_GCS
 void TestOldFreeSpaceCalculation_test();
-#if INCLUDE_ALL_GCS
 void TestG1BiasedArray_test();
 #endif
 
@@ -5082,11 +5086,11 @@
     run_unit_test(QuickSort::test_quick_sort());
     run_unit_test(AltHashing::test_alt_hash());
     run_unit_test(test_loggc_filename());
-    run_unit_test(TestOldFreeSpaceCalculation_test());
 #if INCLUDE_VM_STRUCTS
     run_unit_test(VMStructs::test());
 #endif
 #if INCLUDE_ALL_GCS
+    run_unit_test(TestOldFreeSpaceCalculation_test());
     run_unit_test(TestG1BiasedArray_test());
     run_unit_test(HeapRegionRemSet::test_prt());
 #endif