hotspot/test/compiler/compilercontrol/share/scenario/State.java
changeset 34226 db9dea22fbfc
parent 33457 b43c023fc149
child 35100 d1061cfa4703
--- a/hotspot/test/compiler/compilercontrol/share/scenario/State.java	Wed Nov 25 00:40:04 2015 +0100
+++ b/hotspot/test/compiler/compilercontrol/share/scenario/State.java	Thu Nov 26 03:05:19 2015 +0300
@@ -182,11 +182,13 @@
     }
 
     public boolean isC1Inlinable() {
-        return ! dontInline[Scenario.Compiler.C1.ordinal()].orElse(false);
+        return ! dontInline[Scenario.Compiler.C1.ordinal()].orElse(false)
+                && isC1Compilable();
     }
 
     public boolean isC2Inlinable() {
-        return ! dontInline[Scenario.Compiler.C2.ordinal()].orElse(false);
+        return ! dontInline[Scenario.Compiler.C2.ordinal()].orElse(false)
+                && isC2Compilable();
     }
 
     public boolean isInlinable() {
@@ -206,11 +208,13 @@
     }
 
     public boolean isC1ForceInline() {
-        return forceInline[Scenario.Compiler.C1.ordinal()].orElse(false);
+        return forceInline[Scenario.Compiler.C1.ordinal()].orElse(false)
+                && isC1Compilable();
     }
 
     public boolean isC2ForceInline() {
-        return forceInline[Scenario.Compiler.C2.ordinal()].orElse(false);
+        return forceInline[Scenario.Compiler.C2.ordinal()].orElse(false)
+                && isC2Compilable();
     }
 
     public boolean isForceInline() {
@@ -229,7 +233,7 @@
         if (value && isC2Compilable()) {
             setForceInline(Scenario.Compiler.C2.ordinal());
         } else {
-            setDontInline(Scenario.Compiler.C1.ordinal());
+            setDontInline(Scenario.Compiler.C2.ordinal());
         }
     }