8174961: [JVMCI] incorrect implementation of isCompilable
authordnsimon
Tue, 14 Feb 2017 12:04:28 -0800
changeset 43957 9ae31c0b2148
parent 43956 3567eee750f2
child 43958 c809fcb66c81
8174961: [JVMCI] incorrect implementation of isCompilable Reviewed-by: kvn
hotspot/src/share/vm/jvmci/jvmciCompilerToVM.cpp
hotspot/test/compiler/jvmci/compilerToVM/IsCompilableTest.java
--- a/hotspot/src/share/vm/jvmci/jvmciCompilerToVM.cpp	Tue Feb 14 12:31:11 2017 -0800
+++ b/hotspot/src/share/vm/jvmci/jvmciCompilerToVM.cpp	Tue Feb 14 12:04:28 2017 -0800
@@ -735,9 +735,7 @@
 
 C2V_VMENTRY(jboolean, isCompilable,(JNIEnv *, jobject, jobject jvmci_method))
   methodHandle method = CompilerToVM::asMethod(jvmci_method);
-  // Ignore the not_compilable flags in hosted mode since they are never set by
-  // the JVMCI compiler.
-  return UseJVMCICompiler || !method->is_not_compilable(CompLevel_full_optimization);
+  return !method->is_not_compilable(CompLevel_full_optimization);
 C2V_END
 
 C2V_VMENTRY(jboolean, hasNeverInlineDirective,(JNIEnv *, jobject, jobject jvmci_method))
--- a/hotspot/test/compiler/jvmci/compilerToVM/IsCompilableTest.java	Tue Feb 14 12:31:11 2017 -0800
+++ b/hotspot/test/compiler/jvmci/compilerToVM/IsCompilableTest.java	Tue Feb 14 12:04:28 2017 -0800
@@ -42,7 +42,7 @@
  *                   compiler.jvmci.compilerToVM.IsCompilableTest
  * @run main/othervm -Xbootclasspath/a:.
  *                   -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI
- *                   -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
+ *                   -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:-UseJVMCICompiler
  *                   compiler.jvmci.compilerToVM.IsCompilableTest
  */
 
@@ -69,20 +69,17 @@
     }
 
     private static void runSanityTest(Executable aMethod) {
-        boolean UseJVMCICompiler = (Boolean) WB.getVMFlag("UseJVMCICompiler");
         HotSpotResolvedJavaMethod method = CTVMUtilities
                 .getResolvedMethod(aMethod);
         boolean isCompilable = CompilerToVMHelper.isCompilable(method);
-        boolean expected = UseJVMCICompiler || WB.isMethodCompilable(aMethod);
+        boolean expected = WB.isMethodCompilable(aMethod);
         Asserts.assertEQ(isCompilable, expected, "Unexpected initial " +
                 "value of property 'compilable'");
 
-        if (!UseJVMCICompiler) {
-            WB.makeMethodNotCompilable(aMethod);
-            isCompilable = CompilerToVMHelper.isCompilable(method);
-            Asserts.assertFalse(isCompilable, aMethod + "Unexpected value of " +
-                "property 'isCompilable' after setting 'compilable' to false");
-        }
+        WB.makeMethodNotCompilable(aMethod);
+        isCompilable = CompilerToVMHelper.isCompilable(method);
+        Asserts.assertFalse(isCompilable, aMethod + "Unexpected value of " +
+            "property 'isCompilable' after setting 'compilable' to false");
     }
 
     private static List<Executable> createTestCases() {