< prev index next >

test/hotspot/jtreg/compiler/valhalla/valuetypes/ValueTypeTest.java

Print this page

        

@@ -204,10 +204,11 @@
     protected static final String SCOBJ = "(.*# ScObj.*" + END;
     protected static final String LOAD_UNKNOWN_VALUE = "(.*call_leaf,runtime  load_unknown_value.*" + END;
     protected static final String STORE_UNKNOWN_VALUE = "(.*call_leaf,runtime  store_unknown_value.*" + END;
     protected static final String VALUE_ARRAY_NULL_GUARD = "(.*call,static  wrapper for: uncommon_trap.*reason='null_check' action='none'.*" + END;
     protected static final String STORAGE_PROPERTY_CLEARING = "(.*((int:536870911)|(salq.*3\\R.*sarq.*3)).*" + END;
+    protected static final String CLASS_CHECK_TRAP = START + "CallStaticJava" + MID + "uncommon_trap.*class_check" + END;
 
     public static String[] concat(String prefix[], String... extra) {
         ArrayList<String> list = new ArrayList<String>();
         if (prefix != null) {
             for (String s : prefix) {

@@ -751,6 +752,13 @@
         if (VERBOSE) {
             System.out.println("enqueueMethodForCompilation " + m + ", level = " + level);
         }
         WHITE_BOX.enqueueMethodForCompilation(m, level);
     }
+
+    // Unlike C2, C1 intrinsics never deoptimize System.arraycopy. Instead, we fall back to
+    // a normal method invocation when encountering flattened arrays.
+    static boolean isCompiledByC2(Method m) {
+        return USE_COMPILER && !XCOMP && WHITE_BOX.isMethodCompiled(m, false) &&
+            WHITE_BOX.getMethodCompilationLevel(m, false) >= COMP_LEVEL_FULL_OPTIMIZATION;
+    }
 }
< prev index next >