< prev index next >
test/hotspot/jtreg/compiler/valhalla/valuetypes/ValueTypeTest.java
Print this page
@@ -181,10 +181,14 @@
// Regular expressions used to match nodes in the PrintIdeal output
protected static final String START = "(\\d+\\t(.*";
protected static final String MID = ".*)+\\t===.*";
protected static final String END = ")|";
+ // Generic allocation
+ protected static final String ALLOC_G = "(.*call,static wrapper for: _new_instance_Java" + END;
+ protected static final String ALLOCA_G = "(.*call,static wrapper for: _new_array_Java" + END;
+ // Value type allocation
protected static final String ALLOC = "(.*precise klass compiler/valhalla/valuetypes/MyValue.*\\R(.*(nop|spill).*\\R)*.*_new_instance_Java" + END;
protected static final String ALLOCA = "(.*precise klass \\[Lcompiler/valhalla/valuetypes/MyValue.*\\R(.*(nop|spill).*\\R)*.*_new_array_Java" + END;
protected static final String LOAD = START + "Load(B|S|I|L|F|D|P|N)" + MID + "@compiler/valhalla/valuetypes/MyValue.*" + END;
protected static final String LOADK = START + "LoadK" + MID + END;
protected static final String STORE = START + "Store(B|C|S|I|L|F|D|P|N)" + MID + "@compiler/valhalla/valuetypes/MyValue.*" + END;
@@ -197,10 +201,11 @@
protected static final String CALL = START + "CallStaticJava" + MID + END;
protected static final String STOREVALUETYPEFIELDS = START + "CallStaticJava" + MID + "store_value_type_fields" + END;
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;
public static String[] concat(String prefix[], String... extra) {
ArrayList<String> list = new ArrayList<String>();
if (prefix != null) {
for (String s : prefix) {
@@ -230,28 +235,27 @@
*/
public String[] getVMParameters(int scenario) {
switch (scenario) {
case 0: return new String[] {
"-XX:+AlwaysIncrementalInline",
- "-XX:ValueArrayElemMaxFlatOops=-1",
+ "-XX:ValueArrayElemMaxFlatOops=5",
"-XX:ValueArrayElemMaxFlatSize=-1",
"-XX:ValueFieldMaxFlatSize=-1",
"-XX:+ValueTypePassFieldsAsArgs",
"-XX:+ValueTypeReturnedAsFields"};
case 1: return new String[] {
"-XX:-UseCompressedOops",
- "-XX:ValueArrayElemMaxFlatOops=-1",
+ "-XX:ValueArrayElemMaxFlatOops=5",
"-XX:ValueArrayElemMaxFlatSize=-1",
"-XX:ValueFieldMaxFlatSize=-1",
"-XX:-ValueTypePassFieldsAsArgs",
"-XX:-ValueTypeReturnedAsFields"};
case 2: return new String[] {
- "-DVerifyIR=false",
"-XX:-UseCompressedOops",
"-XX:ValueArrayElemMaxFlatOops=0",
"-XX:ValueArrayElemMaxFlatSize=0",
- "-XX:ValueFieldMaxFlatSize=0",
+ "-XX:ValueFieldMaxFlatSize=-1",
"-XX:+ValueTypePassFieldsAsArgs",
"-XX:+ValueTypeReturnedAsFields",
"-XX:+StressValueTypeReturnedAsFields"};
case 3: return new String[] {
"-DVerifyIR=false",
@@ -269,11 +273,11 @@
"-XX:+ValueTypePassFieldsAsArgs",
"-XX:-ValueTypeReturnedAsFields",
"-XX:-ReduceInitialCardMarks"};
case 5: return new String[] {
"-XX:+AlwaysIncrementalInline",
- "-XX:ValueArrayElemMaxFlatOops=-1",
+ "-XX:ValueArrayElemMaxFlatOops=5",
"-XX:ValueArrayElemMaxFlatSize=-1",
"-XX:ValueFieldMaxFlatSize=-1",
"-XX:-ValueTypePassFieldsAsArgs",
"-XX:-ValueTypeReturnedAsFields"};
}
< prev index next >