# HG changeset patch # User vlivanov # Date 1457948152 -10800 # Node ID e9c073b0c19e1a9578d926aff71e816f41494274 # Parent 0bc3ad031d60b3bd581515436fc5af7dda08e54d 8143407: C1: @Stable array support Reviewed-by: twisti diff -r 0bc3ad031d60 -r e9c073b0c19e hotspot/src/share/vm/c1/c1_Canonicalizer.cpp --- a/hotspot/src/share/vm/c1/c1_Canonicalizer.cpp Mon Mar 14 12:35:48 2016 +0300 +++ b/hotspot/src/share/vm/c1/c1_Canonicalizer.cpp Mon Mar 14 12:35:52 2016 +0300 @@ -257,7 +257,38 @@ } } -void Canonicalizer::do_LoadIndexed (LoadIndexed* x) {} +void Canonicalizer::do_LoadIndexed (LoadIndexed* x) { + StableArrayConstant* array = x->array()->type()->as_StableArrayConstant(); + IntConstant* index = x->index()->type()->as_IntConstant(); + + assert(array == NULL || FoldStableValues, "not enabled"); + + // Constant fold loads from stable arrays. + if (array != NULL && index != NULL) { + jint idx = index->value(); + if (idx < 0 || idx >= array->value()->length()) { + // Leave the load as is. The range check will handle it. + return; + } + + ciConstant field_val = array->value()->element_value(idx); + if (!field_val.is_null_or_zero()) { + jint dimension = array->dimension(); + assert(dimension <= array->value()->array_type()->dimension(), "inconsistent info"); + ValueType* value = NULL; + if (dimension > 1) { + // Preserve information about the dimension for the element. + assert(field_val.as_object()->is_array(), "not an array"); + value = new StableArrayConstant(field_val.as_object()->as_array(), dimension - 1); + } else { + assert(dimension == 1, "sanity"); + value = as_ValueType(field_val); + } + set_canonical(new Constant(value)); + } + } +} + void Canonicalizer::do_StoreIndexed (StoreIndexed* x) { // If a value is going to be stored into a field or array some of // the conversions emitted by javac are unneeded because the fields diff -r 0bc3ad031d60 -r e9c073b0c19e hotspot/src/share/vm/c1/c1_GraphBuilder.cpp --- a/hotspot/src/share/vm/c1/c1_GraphBuilder.cpp Mon Mar 14 12:35:48 2016 +0300 +++ b/hotspot/src/share/vm/c1/c1_GraphBuilder.cpp Mon Mar 14 12:35:52 2016 +0300 @@ -1519,6 +1519,29 @@ append(new Return(x)); } +Value GraphBuilder::make_constant(ciConstant field_value, ciField* field) { + BasicType field_type = field_value.basic_type(); + ValueType* value = as_ValueType(field_value); + + // Attach dimension info to stable arrays. + if (FoldStableValues && + field->is_stable() && field_type == T_ARRAY && !field_value.is_null_or_zero()) { + ciArray* array = field_value.as_object()->as_array(); + jint dimension = field->type()->as_array_klass()->dimension(); + value = new StableArrayConstant(array, dimension); + } + + switch (field_type) { + case T_ARRAY: + case T_OBJECT: + if (field_value.as_object()->should_be_constant()) { + return new Constant(value); + } + return NULL; // Not a constant. + default: + return new Constant(value); + } +} void GraphBuilder::access_field(Bytecodes::Code code) { bool will_link; @@ -1563,22 +1586,13 @@ switch (code) { case Bytecodes::_getstatic: { // check for compile-time constants, i.e., initialized static final fields - Instruction* constant = NULL; + Value constant = NULL; if (field->is_constant() && !PatchALot) { - ciConstant field_val = field->constant_value(); - BasicType field_type = field_val.basic_type(); - switch (field_type) { - case T_ARRAY: - case T_OBJECT: - if (field_val.as_object()->should_be_constant()) { - constant = new Constant(as_ValueType(field_val)); - } - break; - - default: - constant = new Constant(as_ValueType(field_val)); - } + ciConstant field_value = field->constant_value(); // Stable static fields are checked for non-default values in ciField::initialize_from(). + assert(!field->is_stable() || !field_value.is_null_or_zero(), + "stable static w/ default value shouldn't be a constant"); + constant = make_constant(field_value, field); } if (constant != NULL) { push(type, append(constant)); @@ -1591,38 +1605,29 @@ } break; } - case Bytecodes::_putstatic: - { Value val = pop(type); - if (state_before == NULL) { - state_before = copy_state_for_exception(); - } - append(new StoreField(append(obj), offset, field, val, true, state_before, needs_patching)); + case Bytecodes::_putstatic: { + Value val = pop(type); + if (state_before == NULL) { + state_before = copy_state_for_exception(); } + append(new StoreField(append(obj), offset, field, val, true, state_before, needs_patching)); break; + } case Bytecodes::_getfield: { // Check for compile-time constants, i.e., trusted final non-static fields. - Instruction* constant = NULL; + Value constant = NULL; obj = apop(); ObjectType* obj_type = obj->type()->as_ObjectType(); if (obj_type->is_constant() && !PatchALot) { ciObject* const_oop = obj_type->constant_value(); if (!const_oop->is_null_object() && const_oop->is_loaded()) { if (field->is_constant()) { - ciConstant field_val = field->constant_value_of(const_oop); - BasicType field_type = field_val.basic_type(); - switch (field_type) { - case T_ARRAY: - case T_OBJECT: - if (field_val.as_object()->should_be_constant()) { - constant = new Constant(as_ValueType(field_val)); - } - break; - default: - constant = new Constant(as_ValueType(field_val)); - } - if (FoldStableValues && field->is_stable() && field_val.is_null_or_zero()) { + ciConstant field_value = field->constant_value_of(const_oop); + if (FoldStableValues && field->is_stable() && field_value.is_null_or_zero()) { // Stable field with default value can't be constant. constant = NULL; + } else { + constant = make_constant(field_value, field); } } else { // For CallSite objects treat the target field as a compile time constant. diff -r 0bc3ad031d60 -r e9c073b0c19e hotspot/src/share/vm/c1/c1_GraphBuilder.hpp --- a/hotspot/src/share/vm/c1/c1_GraphBuilder.hpp Mon Mar 14 12:35:48 2016 +0300 +++ b/hotspot/src/share/vm/c1/c1_GraphBuilder.hpp Mon Mar 14 12:35:52 2016 +0300 @@ -276,6 +276,7 @@ void iterate_all_blocks(bool start_in_current_block_for_inlining = false); Dependencies* dependency_recorder() const; // = compilation()->dependencies() bool direct_compare(ciKlass* k); + Value make_constant(ciConstant value, ciField* field); void kill_all(); diff -r 0bc3ad031d60 -r e9c073b0c19e hotspot/src/share/vm/c1/c1_ValueType.hpp --- a/hotspot/src/share/vm/c1/c1_ValueType.hpp Mon Mar 14 12:35:48 2016 +0300 +++ b/hotspot/src/share/vm/c1/c1_ValueType.hpp Mon Mar 14 12:35:52 2016 +0300 @@ -45,6 +45,7 @@ class ObjectConstant; class ArrayType; class ArrayConstant; +class StableArrayConstant; class InstanceType; class InstanceConstant; class MetadataType; @@ -168,6 +169,7 @@ virtual MethodConstant* as_MethodConstant() { return NULL; } virtual MethodDataConstant* as_MethodDataConstant() { return NULL; } virtual ArrayConstant* as_ArrayConstant() { return NULL; } + virtual StableArrayConstant* as_StableArrayConstant() { return NULL; } virtual AddressConstant* as_AddressConstant() { return NULL; } // type operations @@ -355,6 +357,20 @@ virtual ciType* exact_type() const; }; +class StableArrayConstant: public ArrayConstant { + private: + jint _dimension; + + public: + StableArrayConstant(ciArray* value, jint dimension) : ArrayConstant(value) { + assert(dimension > 0, "not a stable array"); + _dimension = dimension; + } + + jint dimension() const { return _dimension; } + + virtual StableArrayConstant* as_StableArrayConstant() { return this; } +}; class InstanceType: public ObjectType { public: diff -r 0bc3ad031d60 -r e9c073b0c19e hotspot/test/compiler/stable/StableConfiguration.java --- a/hotspot/test/compiler/stable/StableConfiguration.java Mon Mar 14 12:35:48 2016 +0300 +++ b/hotspot/test/compiler/stable/StableConfiguration.java Mon Mar 14 12:35:52 2016 +0300 @@ -31,54 +31,10 @@ public class StableConfiguration { static final WhiteBox WB = WhiteBox.getWhiteBox(); static final boolean isStableEnabled; - static final boolean isServerWithStable; static { Boolean value = WB.getBooleanVMFlag("FoldStableValues"); isStableEnabled = (value == null ? false : value); - isServerWithStable = isStableEnabled && get(); System.out.println("@Stable: " + (isStableEnabled ? "enabled" : "disabled")); - System.out.println("Server Compiler: " + get()); - } - - // The method 'get' below returns true if the method is server compiled - // and is used by the Stable tests to determine whether methods in - // general are being server compiled or not as the -XX:+FoldStableValues - // option is only applicable to -server. - // - // On aarch64 we DeOptimize when patching. This means that when the - // method is compiled as a result of -Xcomp it DeOptimizes immediately. - // The result is that getMethodCompilationLevel returns 0. This means - // the method returns true based on java.vm.name. - // - // However when the tests are run with -XX:+TieredCompilation and - // -XX:TieredStopAtLevel=1 this fails because methods will always - // be client compiled. - // - // Solution is to add a simple method 'get1' which should never be - // DeOpted and use that to determine the compilation level instead. - static void get1() { } - - - - // ::get() is among immediately compiled methods. - static boolean get() { - try { - get1(); - Method m = StableConfiguration.class.getDeclaredMethod("get1"); - int level = WB.getMethodCompilationLevel(m); - if (level > 0) { - return (level == 4); - } else { - String javaVM = System.getProperty("java.vm.name", ""); - if (javaVM.contains("Server")) return true; - if (javaVM.contains("Client")) return false; - throw new Error("Unknown VM type: "+javaVM); - } - } catch (NoSuchMethodException e) { - throw new Error(e); - } - } - } diff -r 0bc3ad031d60 -r e9c073b0c19e hotspot/test/compiler/stable/TestStableBoolean.java --- a/hotspot/test/compiler/stable/TestStableBoolean.java Mon Mar 14 12:35:48 2016 +0300 +++ b/hotspot/test/compiler/stable/TestStableBoolean.java Mon Mar 14 12:35:52 2016 +0300 @@ -87,8 +87,7 @@ import java.lang.reflect.InvocationTargetException; public class TestStableBoolean { - static final boolean isStableEnabled = StableConfiguration.isStableEnabled; - static final boolean isServerWithStable = StableConfiguration.isServerWithStable; + static final boolean isStableEnabled = StableConfiguration.isStableEnabled; public static void main(String[] args) throws Exception { run(DefaultValue.class); @@ -209,14 +208,14 @@ c.v = new boolean[1]; c.v[0] = true; boolean val1 = get(); c.v[0] = false; boolean val2 = get(); assertEquals(val1, true); - assertEquals(val2, (isServerWithStable ? true : false)); + assertEquals(val2, (isStableEnabled ? true : false)); } { c.v = new boolean[20]; c.v[10] = true; boolean val1 = get1(); c.v[10] = false; boolean val2 = get1(); assertEquals(val1, true); - assertEquals(val2, (isServerWithStable ? true : false)); + assertEquals(val2, (isStableEnabled ? true : false)); } { @@ -241,19 +240,19 @@ c.v = new boolean[1][1]; c.v[0][0] = true; boolean val1 = get(); c.v[0][0] = false; boolean val2 = get(); assertEquals(val1, true); - assertEquals(val2, (isServerWithStable ? true : false)); + assertEquals(val2, (isStableEnabled ? true : false)); c.v = new boolean[1][1]; c.v[0][0] = false; boolean val3 = get(); - assertEquals(val3, (isServerWithStable ? true : false)); + assertEquals(val3, (isStableEnabled ? true : false)); c.v[0] = new boolean[1]; c.v[0][0] = false; boolean val4 = get(); - assertEquals(val4, (isServerWithStable ? true : false)); + assertEquals(val4, (isStableEnabled ? true : false)); } { c.v = new boolean[1][1]; boolean[] val1 = get1(); c.v[0] = new boolean[1]; boolean[] val2 = get1(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { @@ -279,28 +278,28 @@ c.v = new boolean[1][1][1]; c.v[0][0][0] = true; boolean val1 = get(); c.v[0][0][0] = false; boolean val2 = get(); assertEquals(val1, true); - assertEquals(val2, (isServerWithStable ? true : false)); + assertEquals(val2, (isStableEnabled ? true : false)); c.v = new boolean[1][1][1]; c.v[0][0][0] = false; boolean val3 = get(); - assertEquals(val3, (isServerWithStable ? true : false)); + assertEquals(val3, (isStableEnabled ? true : false)); c.v[0] = new boolean[1][1]; c.v[0][0][0] = false; boolean val4 = get(); - assertEquals(val4, (isServerWithStable ? true : false)); + assertEquals(val4, (isStableEnabled ? true : false)); c.v[0][0] = new boolean[1]; c.v[0][0][0] = false; boolean val5 = get(); - assertEquals(val5, (isServerWithStable ? true : false)); + assertEquals(val5, (isStableEnabled ? true : false)); } { c.v = new boolean[1][1][1]; boolean[] val1 = get1(); c.v[0][0] = new boolean[1]; boolean[] val2 = get1(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { c.v = new boolean[1][1][1]; boolean[][] val1 = get2(); c.v[0] = new boolean[1][1]; boolean[][] val2 = get2(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { @@ -327,37 +326,37 @@ c.v = new boolean[1][1][1][1]; c.v[0][0][0][0] = true; boolean val1 = get(); c.v[0][0][0][0] = false; boolean val2 = get(); assertEquals(val1, true); - assertEquals(val2, (isServerWithStable ? true : false)); + assertEquals(val2, (isStableEnabled ? true : false)); c.v = new boolean[1][1][1][1]; c.v[0][0][0][0] = false; boolean val3 = get(); - assertEquals(val3, (isServerWithStable ? true : false)); + assertEquals(val3, (isStableEnabled ? true : false)); c.v[0] = new boolean[1][1][1]; c.v[0][0][0][0] = false; boolean val4 = get(); - assertEquals(val4, (isServerWithStable ? true : false)); + assertEquals(val4, (isStableEnabled ? true : false)); c.v[0][0] = new boolean[1][1]; c.v[0][0][0][0] = false; boolean val5 = get(); - assertEquals(val5, (isServerWithStable ? true : false)); + assertEquals(val5, (isStableEnabled ? true : false)); c.v[0][0][0] = new boolean[1]; c.v[0][0][0][0] = false; boolean val6 = get(); - assertEquals(val6, (isServerWithStable ? true : false)); + assertEquals(val6, (isStableEnabled ? true : false)); } { c.v = new boolean[1][1][1][1]; boolean[] val1 = get1(); c.v[0][0][0] = new boolean[1]; boolean[] val2 = get1(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { c.v = new boolean[1][1][1][1]; boolean[][] val1 = get2(); c.v[0][0] = new boolean[1][1]; boolean[][] val2 = get2(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { c.v = new boolean[1][1][1][1]; boolean[][][] val1 = get3(); c.v[0] = new boolean[1][1][1]; boolean[][][] val2 = get3(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { @@ -420,7 +419,7 @@ c.v = new boolean[1][1]; c.v[0] = new boolean[0]; boolean[] val1 = get1(); c.v[0] = new boolean[0]; boolean[] val2 = get1(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { @@ -456,14 +455,14 @@ c.v = new boolean[1][1][1]; c.v[0][0] = new boolean[0]; boolean[] val1 = get1(); c.v[0][0] = new boolean[0]; boolean[] val2 = get1(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { c.v = new boolean[1][1][1]; c.v[0] = new boolean[0][0]; boolean[][] val1 = get2(); c.v[0] = new boolean[0][0]; boolean[][] val2 = get2(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { @@ -598,7 +597,7 @@ elem.a = false; boolean val3 = get(); boolean val4 = get1(); assertEquals(val1, true); - assertEquals(val3, (isServerWithStable ? true : false)); + assertEquals(val3, (isStableEnabled ? true : false)); assertEquals(val2, true); assertEquals(val4, false); diff -r 0bc3ad031d60 -r e9c073b0c19e hotspot/test/compiler/stable/TestStableByte.java --- a/hotspot/test/compiler/stable/TestStableByte.java Mon Mar 14 12:35:48 2016 +0300 +++ b/hotspot/test/compiler/stable/TestStableByte.java Mon Mar 14 12:35:52 2016 +0300 @@ -88,7 +88,6 @@ public class TestStableByte { static final boolean isStableEnabled = StableConfiguration.isStableEnabled; - static final boolean isServerWithStable = StableConfiguration.isServerWithStable; public static void main(String[] args) throws Exception { run(DefaultValue.class); @@ -209,10 +208,10 @@ c.v = new byte[1]; c.v[0] = 1; byte val1 = get(); c.v[0] = 2; byte val2 = get(); assertEquals(val1, 1); - assertEquals(val2, (isServerWithStable ? 1 : 2)); + assertEquals(val2, (isStableEnabled ? 1 : 2)); c.v = new byte[1]; c.v[0] = 3; byte val3 = get(); - assertEquals(val3, (isStableEnabled ? (isServerWithStable ? 1 : 2) + assertEquals(val3, (isStableEnabled ? (isStableEnabled ? 1 : 2) : 3)); } @@ -220,10 +219,10 @@ c.v = new byte[20]; c.v[10] = 1; byte val1 = get1(); c.v[10] = 2; byte val2 = get1(); assertEquals(val1, 1); - assertEquals(val2, (isServerWithStable ? 1 : 2)); + assertEquals(val2, (isStableEnabled ? 1 : 2)); c.v = new byte[20]; c.v[10] = 3; byte val3 = get1(); - assertEquals(val3, (isStableEnabled ? (isServerWithStable ? 1 : 2) + assertEquals(val3, (isStableEnabled ? (isStableEnabled ? 1 : 2) : 3)); } @@ -249,21 +248,21 @@ c.v = new byte[1][1]; c.v[0][0] = 1; byte val1 = get(); c.v[0][0] = 2; byte val2 = get(); assertEquals(val1, 1); - assertEquals(val2, (isServerWithStable ? 1 : 2)); + assertEquals(val2, (isStableEnabled ? 1 : 2)); c.v = new byte[1][1]; c.v[0][0] = 3; byte val3 = get(); - assertEquals(val3, (isStableEnabled ? (isServerWithStable ? 1 : 2) + assertEquals(val3, (isStableEnabled ? (isStableEnabled ? 1 : 2) : 3)); c.v[0] = new byte[1]; c.v[0][0] = 4; byte val4 = get(); - assertEquals(val4, (isStableEnabled ? (isServerWithStable ? 1 : 2) + assertEquals(val4, (isStableEnabled ? (isStableEnabled ? 1 : 2) : 4)); } { c.v = new byte[1][1]; byte[] val1 = get1(); c.v[0] = new byte[1]; byte[] val2 = get1(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { @@ -289,31 +288,31 @@ c.v = new byte[1][1][1]; c.v[0][0][0] = 1; byte val1 = get(); c.v[0][0][0] = 2; byte val2 = get(); assertEquals(val1, 1); - assertEquals(val2, (isServerWithStable ? 1 : 2)); + assertEquals(val2, (isStableEnabled ? 1 : 2)); c.v = new byte[1][1][1]; c.v[0][0][0] = 3; byte val3 = get(); - assertEquals(val3, (isStableEnabled ? (isServerWithStable ? 1 : 2) + assertEquals(val3, (isStableEnabled ? (isStableEnabled ? 1 : 2) : 3)); c.v[0] = new byte[1][1]; c.v[0][0][0] = 4; byte val4 = get(); - assertEquals(val4, (isStableEnabled ? (isServerWithStable ? 1 : 2) + assertEquals(val4, (isStableEnabled ? (isStableEnabled ? 1 : 2) : 4)); c.v[0][0] = new byte[1]; c.v[0][0][0] = 5; byte val5 = get(); - assertEquals(val5, (isStableEnabled ? (isServerWithStable ? 1 : 2) + assertEquals(val5, (isStableEnabled ? (isStableEnabled ? 1 : 2) : 5)); } { c.v = new byte[1][1][1]; byte[] val1 = get1(); c.v[0][0] = new byte[1]; byte[] val2 = get1(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { c.v = new byte[1][1][1]; byte[][] val1 = get2(); c.v[0] = new byte[1][1]; byte[][] val2 = get2(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { @@ -340,41 +339,41 @@ c.v = new byte[1][1][1][1]; c.v[0][0][0][0] = 1; byte val1 = get(); c.v[0][0][0][0] = 2; byte val2 = get(); assertEquals(val1, 1); - assertEquals(val2, (isServerWithStable ? 1 : 2)); + assertEquals(val2, (isStableEnabled ? 1 : 2)); c.v = new byte[1][1][1][1]; c.v[0][0][0][0] = 3; byte val3 = get(); - assertEquals(val3, (isStableEnabled ? (isServerWithStable ? 1 : 2) + assertEquals(val3, (isStableEnabled ? (isStableEnabled ? 1 : 2) : 3)); c.v[0] = new byte[1][1][1]; c.v[0][0][0][0] = 4; byte val4 = get(); - assertEquals(val4, (isStableEnabled ? (isServerWithStable ? 1 : 2) + assertEquals(val4, (isStableEnabled ? (isStableEnabled ? 1 : 2) : 4)); c.v[0][0] = new byte[1][1]; c.v[0][0][0][0] = 5; byte val5 = get(); - assertEquals(val5, (isStableEnabled ? (isServerWithStable ? 1 : 2) + assertEquals(val5, (isStableEnabled ? (isStableEnabled ? 1 : 2) : 5)); c.v[0][0][0] = new byte[1]; c.v[0][0][0][0] = 6; byte val6 = get(); - assertEquals(val6, (isStableEnabled ? (isServerWithStable ? 1 : 2) + assertEquals(val6, (isStableEnabled ? (isStableEnabled ? 1 : 2) : 6)); } { c.v = new byte[1][1][1][1]; byte[] val1 = get1(); c.v[0][0][0] = new byte[1]; byte[] val2 = get1(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { c.v = new byte[1][1][1][1]; byte[][] val1 = get2(); c.v[0][0] = new byte[1][1]; byte[][] val2 = get2(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { c.v = new byte[1][1][1][1]; byte[][][] val1 = get3(); c.v[0] = new byte[1][1][1]; byte[][][] val2 = get3(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { @@ -436,7 +435,7 @@ c.v = new byte[1][1]; c.v[0] = new byte[0]; byte[] val1 = get1(); c.v[0] = new byte[0]; byte[] val2 = get1(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { @@ -472,14 +471,14 @@ c.v = new byte[1][1][1]; c.v[0][0] = new byte[0]; byte[] val1 = get1(); c.v[0][0] = new byte[0]; byte[] val2 = get1(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { c.v = new byte[1][1][1]; c.v[0] = new byte[0][0]; byte[][] val1 = get2(); c.v[0] = new byte[0][0]; byte[][] val2 = get2(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { @@ -614,7 +613,7 @@ elem.a = 2; byte val3 = get(); byte val4 = get1(); assertEquals(val1, 1); - assertEquals(val3, (isServerWithStable ? 1 : 2)); + assertEquals(val3, (isStableEnabled ? 1 : 2)); assertEquals(val2, 1); assertEquals(val4, 2); diff -r 0bc3ad031d60 -r e9c073b0c19e hotspot/test/compiler/stable/TestStableChar.java --- a/hotspot/test/compiler/stable/TestStableChar.java Mon Mar 14 12:35:48 2016 +0300 +++ b/hotspot/test/compiler/stable/TestStableChar.java Mon Mar 14 12:35:52 2016 +0300 @@ -88,7 +88,6 @@ public class TestStableChar { static final boolean isStableEnabled = StableConfiguration.isStableEnabled; - static final boolean isServerWithStable = StableConfiguration.isServerWithStable; public static void main(String[] args) throws Exception { run(DefaultValue.class); @@ -209,10 +208,10 @@ c.v = new char[1]; c.v[0] = 'a'; char val1 = get(); c.v[0] = 'b'; char val2 = get(); assertEquals(val1, 'a'); - assertEquals(val2, (isServerWithStable ? 'a' : 'b')); + assertEquals(val2, (isStableEnabled ? 'a' : 'b')); c.v = new char[1]; c.v[0] = 'c'; char val3 = get(); - assertEquals(val3, (isStableEnabled ? (isServerWithStable ? 'a' : 'b') + assertEquals(val3, (isStableEnabled ? (isStableEnabled ? 'a' : 'b') : 'c')); } @@ -220,10 +219,10 @@ c.v = new char[20]; c.v[10] = 'a'; char val1 = get1(); c.v[10] = 'b'; char val2 = get1(); assertEquals(val1, 'a'); - assertEquals(val2, (isServerWithStable ? 'a' : 'b')); + assertEquals(val2, (isStableEnabled ? 'a' : 'b')); c.v = new char[20]; c.v[10] = 'c'; char val3 = get1(); - assertEquals(val3, (isStableEnabled ? (isServerWithStable ? 'a' : 'b') + assertEquals(val3, (isStableEnabled ? (isStableEnabled ? 'a' : 'b') : 'c')); } @@ -249,21 +248,21 @@ c.v = new char[1][1]; c.v[0][0] = 'a'; char val1 = get(); c.v[0][0] = 'b'; char val2 = get(); assertEquals(val1, 'a'); - assertEquals(val2, (isServerWithStable ? 'a' : 'b')); + assertEquals(val2, (isStableEnabled ? 'a' : 'b')); c.v = new char[1][1]; c.v[0][0] = 'c'; char val3 = get(); - assertEquals(val3, (isStableEnabled ? (isServerWithStable ? 'a' : 'b') + assertEquals(val3, (isStableEnabled ? (isStableEnabled ? 'a' : 'b') : 'c')); c.v[0] = new char[1]; c.v[0][0] = 'd'; char val4 = get(); - assertEquals(val4, (isStableEnabled ? (isServerWithStable ? 'a' : 'b') + assertEquals(val4, (isStableEnabled ? (isStableEnabled ? 'a' : 'b') : 'd')); } { c.v = new char[1][1]; char[] val1 = get1(); c.v[0] = new char[1]; char[] val2 = get1(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { @@ -289,31 +288,31 @@ c.v = new char[1][1][1]; c.v[0][0][0] = 'a'; char val1 = get(); c.v[0][0][0] = 'b'; char val2 = get(); assertEquals(val1, 'a'); - assertEquals(val2, (isServerWithStable ? 'a' : 'b')); + assertEquals(val2, (isStableEnabled ? 'a' : 'b')); c.v = new char[1][1][1]; c.v[0][0][0] = 'c'; char val3 = get(); - assertEquals(val3, (isStableEnabled ? (isServerWithStable ? 'a' : 'b') + assertEquals(val3, (isStableEnabled ? (isStableEnabled ? 'a' : 'b') : 'c')); c.v[0] = new char[1][1]; c.v[0][0][0] = 'd'; char val4 = get(); - assertEquals(val4, (isStableEnabled ? (isServerWithStable ? 'a' : 'b') + assertEquals(val4, (isStableEnabled ? (isStableEnabled ? 'a' : 'b') : 'd')); c.v[0][0] = new char[1]; c.v[0][0][0] = 'e'; char val5 = get(); - assertEquals(val5, (isStableEnabled ? (isServerWithStable ? 'a' : 'b') + assertEquals(val5, (isStableEnabled ? (isStableEnabled ? 'a' : 'b') : 'e')); } { c.v = new char[1][1][1]; char[] val1 = get1(); c.v[0][0] = new char[1]; char[] val2 = get1(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { c.v = new char[1][1][1]; char[][] val1 = get2(); c.v[0] = new char[1][1]; char[][] val2 = get2(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { @@ -340,41 +339,41 @@ c.v = new char[1][1][1][1]; c.v[0][0][0][0] = 'a'; char val1 = get(); c.v[0][0][0][0] = 'b'; char val2 = get(); assertEquals(val1, 'a'); - assertEquals(val2, (isServerWithStable ? 'a' : 'b')); + assertEquals(val2, (isStableEnabled ? 'a' : 'b')); c.v = new char[1][1][1][1]; c.v[0][0][0][0] = 'c'; char val3 = get(); - assertEquals(val3, (isStableEnabled ? (isServerWithStable ? 'a' : 'b') + assertEquals(val3, (isStableEnabled ? (isStableEnabled ? 'a' : 'b') : 'c')); c.v[0] = new char[1][1][1]; c.v[0][0][0][0] = 'd'; char val4 = get(); - assertEquals(val4, (isStableEnabled ? (isServerWithStable ? 'a' : 'b') + assertEquals(val4, (isStableEnabled ? (isStableEnabled ? 'a' : 'b') : 'd')); c.v[0][0] = new char[1][1]; c.v[0][0][0][0] = 'e'; char val5 = get(); - assertEquals(val5, (isStableEnabled ? (isServerWithStable ? 'a' : 'b') + assertEquals(val5, (isStableEnabled ? (isStableEnabled ? 'a' : 'b') : 'e')); c.v[0][0][0] = new char[1]; c.v[0][0][0][0] = 'f'; char val6 = get(); - assertEquals(val6, (isStableEnabled ? (isServerWithStable ? 'a' : 'b') + assertEquals(val6, (isStableEnabled ? (isStableEnabled ? 'a' : 'b') : 'f')); } { c.v = new char[1][1][1][1]; char[] val1 = get1(); c.v[0][0][0] = new char[1]; char[] val2 = get1(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { c.v = new char[1][1][1][1]; char[][] val1 = get2(); c.v[0][0] = new char[1][1]; char[][] val2 = get2(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { c.v = new char[1][1][1][1]; char[][][] val1 = get3(); c.v[0] = new char[1][1][1]; char[][][] val2 = get3(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { @@ -434,7 +433,7 @@ c.v = new char[1][1]; c.v[0] = new char[0]; char[] val1 = get1(); c.v[0] = new char[0]; char[] val2 = get1(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { @@ -470,14 +469,14 @@ c.v = new char[1][1][1]; c.v[0][0] = new char[0]; char[] val1 = get1(); c.v[0][0] = new char[0]; char[] val2 = get1(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { c.v = new char[1][1][1]; c.v[0] = new char[0][0]; char[][] val1 = get2(); c.v[0] = new char[0][0]; char[][] val2 = get2(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { @@ -612,7 +611,7 @@ elem.a = 'b'; char val3 = get(); char val4 = get1(); assertEquals(val1, 'a'); - assertEquals(val3, (isServerWithStable ? 'a' : 'b')); + assertEquals(val3, (isStableEnabled ? 'a' : 'b')); assertEquals(val2, 'a'); assertEquals(val4, 'b'); diff -r 0bc3ad031d60 -r e9c073b0c19e hotspot/test/compiler/stable/TestStableDouble.java --- a/hotspot/test/compiler/stable/TestStableDouble.java Mon Mar 14 12:35:48 2016 +0300 +++ b/hotspot/test/compiler/stable/TestStableDouble.java Mon Mar 14 12:35:52 2016 +0300 @@ -88,7 +88,6 @@ public class TestStableDouble { static final boolean isStableEnabled = StableConfiguration.isStableEnabled; - static final boolean isServerWithStable = StableConfiguration.isServerWithStable; public static void main(String[] args) throws Exception { run(DefaultValue.class); @@ -209,10 +208,10 @@ c.v = new double[1]; c.v[0] = 1.0; double val1 = get(); c.v[0] = 2.0; double val2 = get(); assertEquals(val1, 1.0); - assertEquals(val2, (isServerWithStable ? 1.0 : 2.0)); + assertEquals(val2, (isStableEnabled ? 1.0 : 2.0)); c.v = new double[1]; c.v[0] = 3.0; double val3 = get(); - assertEquals(val3, (isStableEnabled ? (isServerWithStable ? 1.0 : 2.0) + assertEquals(val3, (isStableEnabled ? (isStableEnabled ? 1.0 : 2.0) : 3.0)); } @@ -220,10 +219,10 @@ c.v = new double[20]; c.v[10] = 1.0; double val1 = get1(); c.v[10] = 2.0; double val2 = get1(); assertEquals(val1, 1.0); - assertEquals(val2, (isServerWithStable ? 1.0 : 2.0)); + assertEquals(val2, (isStableEnabled ? 1.0 : 2.0)); c.v = new double[20]; c.v[10] = 3.0; double val3 = get1(); - assertEquals(val3, (isStableEnabled ? (isServerWithStable ? 1.0 : 2.0) + assertEquals(val3, (isStableEnabled ? (isStableEnabled ? 1.0 : 2.0) : 3.0)); } @@ -249,21 +248,21 @@ c.v = new double[1][1]; c.v[0][0] = 1.0; double val1 = get(); c.v[0][0] = 2.0; double val2 = get(); assertEquals(val1, 1.0); - assertEquals(val2, (isServerWithStable ? 1.0 : 2.0)); + assertEquals(val2, (isStableEnabled ? 1.0 : 2.0)); c.v = new double[1][1]; c.v[0][0] = 3.0; double val3 = get(); - assertEquals(val3, (isStableEnabled ? (isServerWithStable ? 1.0 : 2.0) + assertEquals(val3, (isStableEnabled ? (isStableEnabled ? 1.0 : 2.0) : 3.0)); c.v[0] = new double[1]; c.v[0][0] = 4.0; double val4 = get(); - assertEquals(val4, (isStableEnabled ? (isServerWithStable ? 1.0 : 2.0) + assertEquals(val4, (isStableEnabled ? (isStableEnabled ? 1.0 : 2.0) : 4.0)); } { c.v = new double[1][1]; double[] val1 = get1(); c.v[0] = new double[1]; double[] val2 = get1(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { @@ -289,31 +288,31 @@ c.v = new double[1][1][1]; c.v[0][0][0] = 1.0; double val1 = get(); c.v[0][0][0] = 2.0; double val2 = get(); assertEquals(val1, 1.0); - assertEquals(val2, (isServerWithStable ? 1.0 : 2.0)); + assertEquals(val2, (isStableEnabled ? 1.0 : 2.0)); c.v = new double[1][1][1]; c.v[0][0][0] = 3.0; double val3 = get(); - assertEquals(val3, (isStableEnabled ? (isServerWithStable ? 1.0 : 2.0) + assertEquals(val3, (isStableEnabled ? (isStableEnabled ? 1.0 : 2.0) : 3.0)); c.v[0] = new double[1][1]; c.v[0][0][0] = 4.0; double val4 = get(); - assertEquals(val4, (isStableEnabled ? (isServerWithStable ? 1.0 : 2.0) + assertEquals(val4, (isStableEnabled ? (isStableEnabled ? 1.0 : 2.0) : 4.0)); c.v[0][0] = new double[1]; c.v[0][0][0] = 5.0; double val5 = get(); - assertEquals(val5, (isStableEnabled ? (isServerWithStable ? 1.0 : 2.0) + assertEquals(val5, (isStableEnabled ? (isStableEnabled ? 1.0 : 2.0) : 5.0)); } { c.v = new double[1][1][1]; double[] val1 = get1(); c.v[0][0] = new double[1]; double[] val2 = get1(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { c.v = new double[1][1][1]; double[][] val1 = get2(); c.v[0] = new double[1][1]; double[][] val2 = get2(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { @@ -340,41 +339,41 @@ c.v = new double[1][1][1][1]; c.v[0][0][0][0] = 1.0; double val1 = get(); c.v[0][0][0][0] = 2.0; double val2 = get(); assertEquals(val1, 1.0); - assertEquals(val2, (isServerWithStable ? 1.0 : 2.0)); + assertEquals(val2, (isStableEnabled ? 1.0 : 2.0)); c.v = new double[1][1][1][1]; c.v[0][0][0][0] = 3.0; double val3 = get(); - assertEquals(val3, (isStableEnabled ? (isServerWithStable ? 1.0 : 2.0) + assertEquals(val3, (isStableEnabled ? (isStableEnabled ? 1.0 : 2.0) : 3.0)); c.v[0] = new double[1][1][1]; c.v[0][0][0][0] = 4.0; double val4 = get(); - assertEquals(val4, (isStableEnabled ? (isServerWithStable ? 1.0 : 2.0) + assertEquals(val4, (isStableEnabled ? (isStableEnabled ? 1.0 : 2.0) : 4.0)); c.v[0][0] = new double[1][1]; c.v[0][0][0][0] = 5.0; double val5 = get(); - assertEquals(val5, (isStableEnabled ? (isServerWithStable ? 1.0 : 2.0) + assertEquals(val5, (isStableEnabled ? (isStableEnabled ? 1.0 : 2.0) : 5.0)); c.v[0][0][0] = new double[1]; c.v[0][0][0][0] = 6.0; double val6 = get(); - assertEquals(val6, (isStableEnabled ? (isServerWithStable ? 1.0 : 2.0) + assertEquals(val6, (isStableEnabled ? (isStableEnabled ? 1.0 : 2.0) : 6.0)); } { c.v = new double[1][1][1][1]; double[] val1 = get1(); c.v[0][0][0] = new double[1]; double[] val2 = get1(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { c.v = new double[1][1][1][1]; double[][] val1 = get2(); c.v[0][0] = new double[1][1]; double[][] val2 = get2(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { c.v = new double[1][1][1][1]; double[][][] val1 = get3(); c.v[0] = new double[1][1][1]; double[][][] val2 = get3(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { @@ -434,7 +433,7 @@ c.v = new double[1][1]; c.v[0] = new double[0]; double[] val1 = get1(); c.v[0] = new double[0]; double[] val2 = get1(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { @@ -470,14 +469,14 @@ c.v = new double[1][1][1]; c.v[0][0] = new double[0]; double[] val1 = get1(); c.v[0][0] = new double[0]; double[] val2 = get1(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { c.v = new double[1][1][1]; c.v[0] = new double[0][0]; double[][] val1 = get2(); c.v[0] = new double[0][0]; double[][] val2 = get2(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { @@ -612,7 +611,7 @@ elem.a = 2.0; double val3 = get(); double val4 = get1(); assertEquals(val1, 1.0); - assertEquals(val3, (isServerWithStable ? 1.0 : 2.0)); + assertEquals(val3, (isStableEnabled ? 1.0 : 2.0)); assertEquals(val2, 1.0); assertEquals(val4, 2.0); diff -r 0bc3ad031d60 -r e9c073b0c19e hotspot/test/compiler/stable/TestStableFloat.java --- a/hotspot/test/compiler/stable/TestStableFloat.java Mon Mar 14 12:35:48 2016 +0300 +++ b/hotspot/test/compiler/stable/TestStableFloat.java Mon Mar 14 12:35:52 2016 +0300 @@ -88,7 +88,6 @@ public class TestStableFloat { static final boolean isStableEnabled = StableConfiguration.isStableEnabled; - static final boolean isServerWithStable = StableConfiguration.isServerWithStable; public static void main(String[] args) throws Exception { run(DefaultValue.class); @@ -209,10 +208,10 @@ c.v = new float[1]; c.v[0] = 1.0F; float val1 = get(); c.v[0] = 2.0F; float val2 = get(); assertEquals(val1, 1.0F); - assertEquals(val2, (isServerWithStable ? 1.0F : 2.0F)); + assertEquals(val2, (isStableEnabled ? 1.0F : 2.0F)); c.v = new float[1]; c.v[0] = 3.0F; float val3 = get(); - assertEquals(val3, (isStableEnabled ? (isServerWithStable ? 1.0F : 2.0F) + assertEquals(val3, (isStableEnabled ? (isStableEnabled ? 1.0F : 2.0F) : 3.0F)); } @@ -220,10 +219,10 @@ c.v = new float[20]; c.v[10] = 1.0F; float val1 = get1(); c.v[10] = 2.0F; float val2 = get1(); assertEquals(val1, 1.0F); - assertEquals(val2, (isServerWithStable ? 1.0F : 2.0F)); + assertEquals(val2, (isStableEnabled ? 1.0F : 2.0F)); c.v = new float[20]; c.v[10] = 3.0F; float val3 = get1(); - assertEquals(val3, (isStableEnabled ? (isServerWithStable ? 1.0F : 2.0F) + assertEquals(val3, (isStableEnabled ? (isStableEnabled ? 1.0F : 2.0F) : 3.0F)); } @@ -249,21 +248,21 @@ c.v = new float[1][1]; c.v[0][0] = 1.0F; float val1 = get(); c.v[0][0] = 2.0F; float val2 = get(); assertEquals(val1, 1.0F); - assertEquals(val2, (isServerWithStable ? 1.0F : 2.0F)); + assertEquals(val2, (isStableEnabled ? 1.0F : 2.0F)); c.v = new float[1][1]; c.v[0][0] = 3.0F; float val3 = get(); - assertEquals(val3, (isStableEnabled ? (isServerWithStable ? 1.0F : 2.0F) + assertEquals(val3, (isStableEnabled ? (isStableEnabled ? 1.0F : 2.0F) : 3.0F)); c.v[0] = new float[1]; c.v[0][0] = 4.0F; float val4 = get(); - assertEquals(val4, (isStableEnabled ? (isServerWithStable ? 1.0F : 2.0F) + assertEquals(val4, (isStableEnabled ? (isStableEnabled ? 1.0F : 2.0F) : 4.0F)); } { c.v = new float[1][1]; float[] val1 = get1(); c.v[0] = new float[1]; float[] val2 = get1(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { @@ -289,31 +288,31 @@ c.v = new float[1][1][1]; c.v[0][0][0] = 1.0F; float val1 = get(); c.v[0][0][0] = 2.0F; float val2 = get(); assertEquals(val1, 1.0F); - assertEquals(val2, (isServerWithStable ? 1.0F : 2.0F)); + assertEquals(val2, (isStableEnabled ? 1.0F : 2.0F)); c.v = new float[1][1][1]; c.v[0][0][0] = 3.0F; float val3 = get(); - assertEquals(val3, (isStableEnabled ? (isServerWithStable ? 1.0F : 2.0F) + assertEquals(val3, (isStableEnabled ? (isStableEnabled ? 1.0F : 2.0F) : 3.0F)); c.v[0] = new float[1][1]; c.v[0][0][0] = 4.0F; float val4 = get(); - assertEquals(val4, (isStableEnabled ? (isServerWithStable ? 1.0F : 2.0F) + assertEquals(val4, (isStableEnabled ? (isStableEnabled ? 1.0F : 2.0F) : 4.0F)); c.v[0][0] = new float[1]; c.v[0][0][0] = 5.0F; float val5 = get(); - assertEquals(val5, (isStableEnabled ? (isServerWithStable ? 1.0F : 2.0F) + assertEquals(val5, (isStableEnabled ? (isStableEnabled ? 1.0F : 2.0F) : 5.0F)); } { c.v = new float[1][1][1]; float[] val1 = get1(); c.v[0][0] = new float[1]; float[] val2 = get1(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { c.v = new float[1][1][1]; float[][] val1 = get2(); c.v[0] = new float[1][1]; float[][] val2 = get2(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { @@ -340,41 +339,41 @@ c.v = new float[1][1][1][1]; c.v[0][0][0][0] = 1.0F; float val1 = get(); c.v[0][0][0][0] = 2.0F; float val2 = get(); assertEquals(val1, 1.0F); - assertEquals(val2, (isServerWithStable ? 1.0F : 2.0F)); + assertEquals(val2, (isStableEnabled ? 1.0F : 2.0F)); c.v = new float[1][1][1][1]; c.v[0][0][0][0] = 3.0F; float val3 = get(); - assertEquals(val3, (isStableEnabled ? (isServerWithStable ? 1.0F : 2.0F) + assertEquals(val3, (isStableEnabled ? (isStableEnabled ? 1.0F : 2.0F) : 3.0F)); c.v[0] = new float[1][1][1]; c.v[0][0][0][0] = 4.0F; float val4 = get(); - assertEquals(val4, (isStableEnabled ? (isServerWithStable ? 1.0F : 2.0F) + assertEquals(val4, (isStableEnabled ? (isStableEnabled ? 1.0F : 2.0F) : 4.0F)); c.v[0][0] = new float[1][1]; c.v[0][0][0][0] = 5.0F; float val5 = get(); - assertEquals(val5, (isStableEnabled ? (isServerWithStable ? 1.0F : 2.0F) + assertEquals(val5, (isStableEnabled ? (isStableEnabled ? 1.0F : 2.0F) : 5.0F)); c.v[0][0][0] = new float[1]; c.v[0][0][0][0] = 6.0F; float val6 = get(); - assertEquals(val6, (isStableEnabled ? (isServerWithStable ? 1.0F : 2.0F) + assertEquals(val6, (isStableEnabled ? (isStableEnabled ? 1.0F : 2.0F) : 6.0F)); } { c.v = new float[1][1][1][1]; float[] val1 = get1(); c.v[0][0][0] = new float[1]; float[] val2 = get1(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { c.v = new float[1][1][1][1]; float[][] val1 = get2(); c.v[0][0] = new float[1][1]; float[][] val2 = get2(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { c.v = new float[1][1][1][1]; float[][][] val1 = get3(); c.v[0] = new float[1][1][1]; float[][][] val2 = get3(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { @@ -434,7 +433,7 @@ c.v = new float[1][1]; c.v[0] = new float[0]; float[] val1 = get1(); c.v[0] = new float[0]; float[] val2 = get1(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { @@ -470,14 +469,14 @@ c.v = new float[1][1][1]; c.v[0][0] = new float[0]; float[] val1 = get1(); c.v[0][0] = new float[0]; float[] val2 = get1(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { c.v = new float[1][1][1]; c.v[0] = new float[0][0]; float[][] val1 = get2(); c.v[0] = new float[0][0]; float[][] val2 = get2(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { @@ -612,7 +611,7 @@ elem.a = 2.0F; float val3 = get(); float val4 = get1(); assertEquals(val1, 1.0F); - assertEquals(val3, (isServerWithStable ? 1.0F : 2.0F)); + assertEquals(val3, (isStableEnabled ? 1.0F : 2.0F)); assertEquals(val2, 1.0F); assertEquals(val4, 2.0F); diff -r 0bc3ad031d60 -r e9c073b0c19e hotspot/test/compiler/stable/TestStableInt.java --- a/hotspot/test/compiler/stable/TestStableInt.java Mon Mar 14 12:35:48 2016 +0300 +++ b/hotspot/test/compiler/stable/TestStableInt.java Mon Mar 14 12:35:52 2016 +0300 @@ -88,7 +88,6 @@ public class TestStableInt { static final boolean isStableEnabled = StableConfiguration.isStableEnabled; - static final boolean isServerWithStable = StableConfiguration.isServerWithStable; public static void main(String[] args) throws Exception { run(DefaultValue.class); @@ -209,10 +208,10 @@ c.v = new int[1]; c.v[0] = 1; int val1 = get(); c.v[0] = 2; int val2 = get(); assertEquals(val1, 1); - assertEquals(val2, (isServerWithStable ? 1 : 2)); + assertEquals(val2, (isStableEnabled ? 1 : 2)); c.v = new int[1]; c.v[0] = 3; int val3 = get(); - assertEquals(val3, (isStableEnabled ? (isServerWithStable ? 1 : 2) + assertEquals(val3, (isStableEnabled ? (isStableEnabled ? 1 : 2) : 3)); } @@ -220,10 +219,10 @@ c.v = new int[20]; c.v[10] = 1; int val1 = get1(); c.v[10] = 2; int val2 = get1(); assertEquals(val1, 1); - assertEquals(val2, (isServerWithStable ? 1 : 2)); + assertEquals(val2, (isStableEnabled ? 1 : 2)); c.v = new int[20]; c.v[10] = 3; int val3 = get1(); - assertEquals(val3, (isStableEnabled ? (isServerWithStable ? 1 : 2) + assertEquals(val3, (isStableEnabled ? (isStableEnabled ? 1 : 2) : 3)); } @@ -249,21 +248,21 @@ c.v = new int[1][1]; c.v[0][0] = 1; int val1 = get(); c.v[0][0] = 2; int val2 = get(); assertEquals(val1, 1); - assertEquals(val2, (isServerWithStable ? 1 : 2)); + assertEquals(val2, (isStableEnabled ? 1 : 2)); c.v = new int[1][1]; c.v[0][0] = 3; int val3 = get(); - assertEquals(val3, (isStableEnabled ? (isServerWithStable ? 1 : 2) + assertEquals(val3, (isStableEnabled ? (isStableEnabled ? 1 : 2) : 3)); c.v[0] = new int[1]; c.v[0][0] = 4; int val4 = get(); - assertEquals(val4, (isStableEnabled ? (isServerWithStable ? 1 : 2) + assertEquals(val4, (isStableEnabled ? (isStableEnabled ? 1 : 2) : 4)); } { c.v = new int[1][1]; int[] val1 = get1(); c.v[0] = new int[1]; int[] val2 = get1(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { @@ -289,31 +288,31 @@ c.v = new int[1][1][1]; c.v[0][0][0] = 1; int val1 = get(); c.v[0][0][0] = 2; int val2 = get(); assertEquals(val1, 1); - assertEquals(val2, (isServerWithStable ? 1 : 2)); + assertEquals(val2, (isStableEnabled ? 1 : 2)); c.v = new int[1][1][1]; c.v[0][0][0] = 3; int val3 = get(); - assertEquals(val3, (isStableEnabled ? (isServerWithStable ? 1 : 2) + assertEquals(val3, (isStableEnabled ? (isStableEnabled ? 1 : 2) : 3)); c.v[0] = new int[1][1]; c.v[0][0][0] = 4; int val4 = get(); - assertEquals(val4, (isStableEnabled ? (isServerWithStable ? 1 : 2) + assertEquals(val4, (isStableEnabled ? (isStableEnabled ? 1 : 2) : 4)); c.v[0][0] = new int[1]; c.v[0][0][0] = 5; int val5 = get(); - assertEquals(val5, (isStableEnabled ? (isServerWithStable ? 1 : 2) + assertEquals(val5, (isStableEnabled ? (isStableEnabled ? 1 : 2) : 5)); } { c.v = new int[1][1][1]; int[] val1 = get1(); c.v[0][0] = new int[1]; int[] val2 = get1(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { c.v = new int[1][1][1]; int[][] val1 = get2(); c.v[0] = new int[1][1]; int[][] val2 = get2(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { @@ -340,41 +339,41 @@ c.v = new int[1][1][1][1]; c.v[0][0][0][0] = 1; int val1 = get(); c.v[0][0][0][0] = 2; int val2 = get(); assertEquals(val1, 1); - assertEquals(val2, (isServerWithStable ? 1 : 2)); + assertEquals(val2, (isStableEnabled ? 1 : 2)); c.v = new int[1][1][1][1]; c.v[0][0][0][0] = 3; int val3 = get(); - assertEquals(val3, (isStableEnabled ? (isServerWithStable ? 1 : 2) + assertEquals(val3, (isStableEnabled ? (isStableEnabled ? 1 : 2) : 3)); c.v[0] = new int[1][1][1]; c.v[0][0][0][0] = 4; int val4 = get(); - assertEquals(val4, (isStableEnabled ? (isServerWithStable ? 1 : 2) + assertEquals(val4, (isStableEnabled ? (isStableEnabled ? 1 : 2) : 4)); c.v[0][0] = new int[1][1]; c.v[0][0][0][0] = 5; int val5 = get(); - assertEquals(val5, (isStableEnabled ? (isServerWithStable ? 1 : 2) + assertEquals(val5, (isStableEnabled ? (isStableEnabled ? 1 : 2) : 5)); c.v[0][0][0] = new int[1]; c.v[0][0][0][0] = 6; int val6 = get(); - assertEquals(val6, (isStableEnabled ? (isServerWithStable ? 1 : 2) + assertEquals(val6, (isStableEnabled ? (isStableEnabled ? 1 : 2) : 6)); } { c.v = new int[1][1][1][1]; int[] val1 = get1(); c.v[0][0][0] = new int[1]; int[] val2 = get1(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { c.v = new int[1][1][1][1]; int[][] val1 = get2(); c.v[0][0] = new int[1][1]; int[][] val2 = get2(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { c.v = new int[1][1][1][1]; int[][][] val1 = get3(); c.v[0] = new int[1][1][1]; int[][][] val2 = get3(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { @@ -434,7 +433,7 @@ c.v = new int[1][1]; c.v[0] = new int[0]; int[] val1 = get1(); c.v[0] = new int[0]; int[] val2 = get1(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { @@ -470,14 +469,14 @@ c.v = new int[1][1][1]; c.v[0][0] = new int[0]; int[] val1 = get1(); c.v[0][0] = new int[0]; int[] val2 = get1(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { c.v = new int[1][1][1]; c.v[0] = new int[0][0]; int[][] val1 = get2(); c.v[0] = new int[0][0]; int[][] val2 = get2(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { @@ -612,7 +611,7 @@ elem.a = 2; int val3 = get(); int val4 = get1(); assertEquals(val1, 1); - assertEquals(val3, (isServerWithStable ? 1 : 2)); + assertEquals(val3, (isStableEnabled ? 1 : 2)); assertEquals(val2, 1); assertEquals(val4, 2); diff -r 0bc3ad031d60 -r e9c073b0c19e hotspot/test/compiler/stable/TestStableLong.java --- a/hotspot/test/compiler/stable/TestStableLong.java Mon Mar 14 12:35:48 2016 +0300 +++ b/hotspot/test/compiler/stable/TestStableLong.java Mon Mar 14 12:35:52 2016 +0300 @@ -88,7 +88,6 @@ public class TestStableLong { static final boolean isStableEnabled = StableConfiguration.isStableEnabled; - static final boolean isServerWithStable = StableConfiguration.isServerWithStable; public static void main(String[] args) throws Exception { run(DefaultValue.class); @@ -209,10 +208,10 @@ c.v = new long[1]; c.v[0] = 1; long val1 = get(); c.v[0] = 2; long val2 = get(); assertEquals(val1, 1); - assertEquals(val2, (isServerWithStable ? 1 : 2)); + assertEquals(val2, (isStableEnabled ? 1 : 2)); c.v = new long[1]; c.v[0] = 3; long val3 = get(); - assertEquals(val3, (isStableEnabled ? (isServerWithStable ? 1 : 2) + assertEquals(val3, (isStableEnabled ? (isStableEnabled ? 1 : 2) : 3)); } @@ -220,10 +219,10 @@ c.v = new long[20]; c.v[10] = 1; long val1 = get1(); c.v[10] = 2; long val2 = get1(); assertEquals(val1, 1); - assertEquals(val2, (isServerWithStable ? 1 : 2)); + assertEquals(val2, (isStableEnabled ? 1 : 2)); c.v = new long[20]; c.v[10] = 3; long val3 = get1(); - assertEquals(val3, (isStableEnabled ? (isServerWithStable ? 1 : 2) + assertEquals(val3, (isStableEnabled ? (isStableEnabled ? 1 : 2) : 3)); } @@ -249,21 +248,21 @@ c.v = new long[1][1]; c.v[0][0] = 1; long val1 = get(); c.v[0][0] = 2; long val2 = get(); assertEquals(val1, 1); - assertEquals(val2, (isServerWithStable ? 1 : 2)); + assertEquals(val2, (isStableEnabled ? 1 : 2)); c.v = new long[1][1]; c.v[0][0] = 3; long val3 = get(); - assertEquals(val3, (isStableEnabled ? (isServerWithStable ? 1 : 2) + assertEquals(val3, (isStableEnabled ? (isStableEnabled ? 1 : 2) : 3)); c.v[0] = new long[1]; c.v[0][0] = 4; long val4 = get(); - assertEquals(val4, (isStableEnabled ? (isServerWithStable ? 1 : 2) + assertEquals(val4, (isStableEnabled ? (isStableEnabled ? 1 : 2) : 4)); } { c.v = new long[1][1]; long[] val1 = get1(); c.v[0] = new long[1]; long[] val2 = get1(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { @@ -289,31 +288,31 @@ c.v = new long[1][1][1]; c.v[0][0][0] = 1; long val1 = get(); c.v[0][0][0] = 2; long val2 = get(); assertEquals(val1, 1); - assertEquals(val2, (isServerWithStable ? 1 : 2)); + assertEquals(val2, (isStableEnabled ? 1 : 2)); c.v = new long[1][1][1]; c.v[0][0][0] = 3; long val3 = get(); - assertEquals(val3, (isStableEnabled ? (isServerWithStable ? 1 : 2) + assertEquals(val3, (isStableEnabled ? (isStableEnabled ? 1 : 2) : 3)); c.v[0] = new long[1][1]; c.v[0][0][0] = 4; long val4 = get(); - assertEquals(val4, (isStableEnabled ? (isServerWithStable ? 1 : 2) + assertEquals(val4, (isStableEnabled ? (isStableEnabled ? 1 : 2) : 4)); c.v[0][0] = new long[1]; c.v[0][0][0] = 5; long val5 = get(); - assertEquals(val5, (isStableEnabled ? (isServerWithStable ? 1 : 2) + assertEquals(val5, (isStableEnabled ? (isStableEnabled ? 1 : 2) : 5)); } { c.v = new long[1][1][1]; long[] val1 = get1(); c.v[0][0] = new long[1]; long[] val2 = get1(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { c.v = new long[1][1][1]; long[][] val1 = get2(); c.v[0] = new long[1][1]; long[][] val2 = get2(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { @@ -340,41 +339,41 @@ c.v = new long[1][1][1][1]; c.v[0][0][0][0] = 1; long val1 = get(); c.v[0][0][0][0] = 2; long val2 = get(); assertEquals(val1, 1); - assertEquals(val2, (isServerWithStable ? 1 : 2)); + assertEquals(val2, (isStableEnabled ? 1 : 2)); c.v = new long[1][1][1][1]; c.v[0][0][0][0] = 3; long val3 = get(); - assertEquals(val3, (isStableEnabled ? (isServerWithStable ? 1 : 2) + assertEquals(val3, (isStableEnabled ? (isStableEnabled ? 1 : 2) : 3)); c.v[0] = new long[1][1][1]; c.v[0][0][0][0] = 4; long val4 = get(); - assertEquals(val4, (isStableEnabled ? (isServerWithStable ? 1 : 2) + assertEquals(val4, (isStableEnabled ? (isStableEnabled ? 1 : 2) : 4)); c.v[0][0] = new long[1][1]; c.v[0][0][0][0] = 5; long val5 = get(); - assertEquals(val5, (isStableEnabled ? (isServerWithStable ? 1 : 2) + assertEquals(val5, (isStableEnabled ? (isStableEnabled ? 1 : 2) : 5)); c.v[0][0][0] = new long[1]; c.v[0][0][0][0] = 6; long val6 = get(); - assertEquals(val6, (isStableEnabled ? (isServerWithStable ? 1 : 2) + assertEquals(val6, (isStableEnabled ? (isStableEnabled ? 1 : 2) : 6)); } { c.v = new long[1][1][1][1]; long[] val1 = get1(); c.v[0][0][0] = new long[1]; long[] val2 = get1(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { c.v = new long[1][1][1][1]; long[][] val1 = get2(); c.v[0][0] = new long[1][1]; long[][] val2 = get2(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { c.v = new long[1][1][1][1]; long[][][] val1 = get3(); c.v[0] = new long[1][1][1]; long[][][] val2 = get3(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { @@ -434,7 +433,7 @@ c.v = new long[1][1]; c.v[0] = new long[0]; long[] val1 = get1(); c.v[0] = new long[0]; long[] val2 = get1(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { @@ -470,14 +469,14 @@ c.v = new long[1][1][1]; c.v[0][0] = new long[0]; long[] val1 = get1(); c.v[0][0] = new long[0]; long[] val2 = get1(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { c.v = new long[1][1][1]; c.v[0] = new long[0][0]; long[][] val1 = get2(); c.v[0] = new long[0][0]; long[][] val2 = get2(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { @@ -612,7 +611,7 @@ elem.a = 2; long val3 = get(); long val4 = get1(); assertEquals(val1, 1); - assertEquals(val3, (isServerWithStable ? 1 : 2)); + assertEquals(val3, (isStableEnabled ? 1 : 2)); assertEquals(val2, 1); assertEquals(val4, 2); diff -r 0bc3ad031d60 -r e9c073b0c19e hotspot/test/compiler/stable/TestStableObject.java --- a/hotspot/test/compiler/stable/TestStableObject.java Mon Mar 14 12:35:48 2016 +0300 +++ b/hotspot/test/compiler/stable/TestStableObject.java Mon Mar 14 12:35:52 2016 +0300 @@ -89,7 +89,6 @@ public class TestStableObject { static final boolean isStableEnabled = StableConfiguration.isStableEnabled; - static final boolean isServerWithStable = StableConfiguration.isServerWithStable; public static void main(String[] args) throws Exception { run(DefaultValue.class); @@ -212,10 +211,10 @@ c.v = new Object[1]; c.v[0] = Values.A; Object val1 = get(); c.v[0] = Values.B; Object val2 = get(); assertEquals(val1, Values.A); - assertEquals(val2, (isServerWithStable ? Values.A : Values.B)); + assertEquals(val2, (isStableEnabled ? Values.A : Values.B)); c.v = new Object[1]; c.v[0] = Values.C; Object val3 = get(); - assertEquals(val3, (isStableEnabled ? (isServerWithStable ? Values.A : Values.B) + assertEquals(val3, (isStableEnabled ? (isStableEnabled ? Values.A : Values.B) : Values.C)); } @@ -223,10 +222,10 @@ c.v = new Object[20]; c.v[10] = Values.A; Object val1 = get1(); c.v[10] = Values.B; Object val2 = get1(); assertEquals(val1, Values.A); - assertEquals(val2, (isServerWithStable ? Values.A : Values.B)); + assertEquals(val2, (isStableEnabled ? Values.A : Values.B)); c.v = new Object[20]; c.v[10] = Values.C; Object val3 = get1(); - assertEquals(val3, (isStableEnabled ? (isServerWithStable ? Values.A : Values.B) + assertEquals(val3, (isStableEnabled ? (isStableEnabled ? Values.A : Values.B) : Values.C)); } @@ -252,21 +251,21 @@ c.v = new Object[1][1]; c.v[0][0] = Values.A; Object val1 = get(); c.v[0][0] = Values.B; Object val2 = get(); assertEquals(val1, Values.A); - assertEquals(val2, (isServerWithStable ? Values.A : Values.B)); + assertEquals(val2, (isStableEnabled ? Values.A : Values.B)); c.v = new Object[1][1]; c.v[0][0] = Values.C; Object val3 = get(); - assertEquals(val3, (isStableEnabled ? (isServerWithStable ? Values.A : Values.B) + assertEquals(val3, (isStableEnabled ? (isStableEnabled ? Values.A : Values.B) : Values.C)); c.v[0] = new Object[1]; c.v[0][0] = Values.D; Object val4 = get(); - assertEquals(val4, (isStableEnabled ? (isServerWithStable ? Values.A : Values.B) + assertEquals(val4, (isStableEnabled ? (isStableEnabled ? Values.A : Values.B) : Values.D)); } { c.v = new Object[1][1]; Object[] val1 = get1(); c.v[0] = new Object[1]; Object[] val2 = get1(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { @@ -292,31 +291,31 @@ c.v = new Object[1][1][1]; c.v[0][0][0] = Values.A; Object val1 = get(); c.v[0][0][0] = Values.B; Object val2 = get(); assertEquals(val1, Values.A); - assertEquals(val2, (isServerWithStable ? Values.A : Values.B)); + assertEquals(val2, (isStableEnabled ? Values.A : Values.B)); c.v = new Object[1][1][1]; c.v[0][0][0] = Values.C; Object val3 = get(); - assertEquals(val3, (isStableEnabled ? (isServerWithStable ? Values.A : Values.B) + assertEquals(val3, (isStableEnabled ? (isStableEnabled ? Values.A : Values.B) : Values.C)); c.v[0] = new Object[1][1]; c.v[0][0][0] = Values.D; Object val4 = get(); - assertEquals(val4, (isStableEnabled ? (isServerWithStable ? Values.A : Values.B) + assertEquals(val4, (isStableEnabled ? (isStableEnabled ? Values.A : Values.B) : Values.D)); c.v[0][0] = new Object[1]; c.v[0][0][0] = Values.E; Object val5 = get(); - assertEquals(val5, (isStableEnabled ? (isServerWithStable ? Values.A : Values.B) + assertEquals(val5, (isStableEnabled ? (isStableEnabled ? Values.A : Values.B) : Values.E)); } { c.v = new Object[1][1][1]; Object[] val1 = get1(); c.v[0][0] = new Object[1]; Object[] val2 = get1(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { c.v = new Object[1][1][1]; Object[][] val1 = get2(); c.v[0] = new Object[1][1]; Object[][] val2 = get2(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { @@ -343,41 +342,41 @@ c.v = new Object[1][1][1][1]; c.v[0][0][0][0] = Values.A; Object val1 = get(); c.v[0][0][0][0] = Values.B; Object val2 = get(); assertEquals(val1, Values.A); - assertEquals(val2, (isServerWithStable ? Values.A : Values.B)); + assertEquals(val2, (isStableEnabled ? Values.A : Values.B)); c.v = new Object[1][1][1][1]; c.v[0][0][0][0] = Values.C; Object val3 = get(); - assertEquals(val3, (isStableEnabled ? (isServerWithStable ? Values.A : Values.B) + assertEquals(val3, (isStableEnabled ? (isStableEnabled ? Values.A : Values.B) : Values.C)); c.v[0] = new Object[1][1][1]; c.v[0][0][0][0] = Values.D; Object val4 = get(); - assertEquals(val4, (isStableEnabled ? (isServerWithStable ? Values.A : Values.B) + assertEquals(val4, (isStableEnabled ? (isStableEnabled ? Values.A : Values.B) : Values.D)); c.v[0][0] = new Object[1][1]; c.v[0][0][0][0] = Values.E; Object val5 = get(); - assertEquals(val5, (isStableEnabled ? (isServerWithStable ? Values.A : Values.B) + assertEquals(val5, (isStableEnabled ? (isStableEnabled ? Values.A : Values.B) : Values.E)); c.v[0][0][0] = new Object[1]; c.v[0][0][0][0] = Values.F; Object val6 = get(); - assertEquals(val6, (isStableEnabled ? (isServerWithStable ? Values.A : Values.B) + assertEquals(val6, (isStableEnabled ? (isStableEnabled ? Values.A : Values.B) : Values.F)); } { c.v = new Object[1][1][1][1]; Object[] val1 = get1(); c.v[0][0][0] = new Object[1]; Object[] val2 = get1(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { c.v = new Object[1][1][1][1]; Object[][] val1 = get2(); c.v[0][0] = new Object[1][1]; Object[][] val2 = get2(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { c.v = new Object[1][1][1][1]; Object[][][] val1 = get3(); c.v[0] = new Object[1][1][1]; Object[][][] val2 = get3(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { @@ -437,7 +436,7 @@ c.v = new Object[1][1]; c.v[0] = new Object[0]; Object[] val1 = get1(); c.v[0] = new Object[0]; Object[] val2 = get1(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { @@ -473,14 +472,14 @@ c.v = new Object[1][1][1]; c.v[0][0] = new Object[0]; Object[] val1 = get1(); c.v[0][0] = new Object[0]; Object[] val2 = get1(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { c.v = new Object[1][1][1]; c.v[0] = new Object[0][0]; Object[][] val1 = get2(); c.v[0] = new Object[0][0]; Object[][] val2 = get2(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { @@ -615,7 +614,7 @@ elem.a = Values.B; Object val3 = get(); Object val4 = get1(); assertEquals(val1, Values.A); - assertEquals(val3, (isServerWithStable ? Values.A : Values.B)); + assertEquals(val3, (isStableEnabled ? Values.A : Values.B)); assertEquals(val2, Values.A); assertEquals(val4, Values.B); diff -r 0bc3ad031d60 -r e9c073b0c19e hotspot/test/compiler/stable/TestStableShort.java --- a/hotspot/test/compiler/stable/TestStableShort.java Mon Mar 14 12:35:48 2016 +0300 +++ b/hotspot/test/compiler/stable/TestStableShort.java Mon Mar 14 12:35:52 2016 +0300 @@ -88,7 +88,6 @@ public class TestStableShort { static final boolean isStableEnabled = StableConfiguration.isStableEnabled; - static final boolean isServerWithStable = StableConfiguration.isServerWithStable; public static void main(String[] args) throws Exception { run(DefaultValue.class); @@ -209,10 +208,10 @@ c.v = new short[1]; c.v[0] = 1; short val1 = get(); c.v[0] = 2; short val2 = get(); assertEquals(val1, 1); - assertEquals(val2, (isServerWithStable ? 1 : 2)); + assertEquals(val2, (isStableEnabled ? 1 : 2)); c.v = new short[1]; c.v[0] = 3; short val3 = get(); - assertEquals(val3, (isStableEnabled ? (isServerWithStable ? 1 : 2) + assertEquals(val3, (isStableEnabled ? (isStableEnabled ? 1 : 2) : 3)); } @@ -220,10 +219,10 @@ c.v = new short[20]; c.v[10] = 1; short val1 = get1(); c.v[10] = 2; short val2 = get1(); assertEquals(val1, 1); - assertEquals(val2, (isServerWithStable ? 1 : 2)); + assertEquals(val2, (isStableEnabled ? 1 : 2)); c.v = new short[20]; c.v[10] = 3; short val3 = get1(); - assertEquals(val3, (isStableEnabled ? (isServerWithStable ? 1 : 2) + assertEquals(val3, (isStableEnabled ? (isStableEnabled ? 1 : 2) : 3)); } @@ -249,21 +248,21 @@ c.v = new short[1][1]; c.v[0][0] = 1; short val1 = get(); c.v[0][0] = 2; short val2 = get(); assertEquals(val1, 1); - assertEquals(val2, (isServerWithStable ? 1 : 2)); + assertEquals(val2, (isStableEnabled ? 1 : 2)); c.v = new short[1][1]; c.v[0][0] = 3; short val3 = get(); - assertEquals(val3, (isStableEnabled ? (isServerWithStable ? 1 : 2) + assertEquals(val3, (isStableEnabled ? (isStableEnabled ? 1 : 2) : 3)); c.v[0] = new short[1]; c.v[0][0] = 4; short val4 = get(); - assertEquals(val4, (isStableEnabled ? (isServerWithStable ? 1 : 2) + assertEquals(val4, (isStableEnabled ? (isStableEnabled ? 1 : 2) : 4)); } { c.v = new short[1][1]; short[] val1 = get1(); c.v[0] = new short[1]; short[] val2 = get1(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { @@ -289,31 +288,31 @@ c.v = new short[1][1][1]; c.v[0][0][0] = 1; short val1 = get(); c.v[0][0][0] = 2; short val2 = get(); assertEquals(val1, 1); - assertEquals(val2, (isServerWithStable ? 1 : 2)); + assertEquals(val2, (isStableEnabled ? 1 : 2)); c.v = new short[1][1][1]; c.v[0][0][0] = 3; short val3 = get(); - assertEquals(val3, (isStableEnabled ? (isServerWithStable ? 1 : 2) + assertEquals(val3, (isStableEnabled ? (isStableEnabled ? 1 : 2) : 3)); c.v[0] = new short[1][1]; c.v[0][0][0] = 4; short val4 = get(); - assertEquals(val4, (isStableEnabled ? (isServerWithStable ? 1 : 2) + assertEquals(val4, (isStableEnabled ? (isStableEnabled ? 1 : 2) : 4)); c.v[0][0] = new short[1]; c.v[0][0][0] = 5; short val5 = get(); - assertEquals(val5, (isStableEnabled ? (isServerWithStable ? 1 : 2) + assertEquals(val5, (isStableEnabled ? (isStableEnabled ? 1 : 2) : 5)); } { c.v = new short[1][1][1]; short[] val1 = get1(); c.v[0][0] = new short[1]; short[] val2 = get1(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { c.v = new short[1][1][1]; short[][] val1 = get2(); c.v[0] = new short[1][1]; short[][] val2 = get2(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { @@ -340,41 +339,41 @@ c.v = new short[1][1][1][1]; c.v[0][0][0][0] = 1; short val1 = get(); c.v[0][0][0][0] = 2; short val2 = get(); assertEquals(val1, 1); - assertEquals(val2, (isServerWithStable ? 1 : 2)); + assertEquals(val2, (isStableEnabled ? 1 : 2)); c.v = new short[1][1][1][1]; c.v[0][0][0][0] = 3; short val3 = get(); - assertEquals(val3, (isStableEnabled ? (isServerWithStable ? 1 : 2) + assertEquals(val3, (isStableEnabled ? (isStableEnabled ? 1 : 2) : 3)); c.v[0] = new short[1][1][1]; c.v[0][0][0][0] = 4; short val4 = get(); - assertEquals(val4, (isStableEnabled ? (isServerWithStable ? 1 : 2) + assertEquals(val4, (isStableEnabled ? (isStableEnabled ? 1 : 2) : 4)); c.v[0][0] = new short[1][1]; c.v[0][0][0][0] = 5; short val5 = get(); - assertEquals(val5, (isStableEnabled ? (isServerWithStable ? 1 : 2) + assertEquals(val5, (isStableEnabled ? (isStableEnabled ? 1 : 2) : 5)); c.v[0][0][0] = new short[1]; c.v[0][0][0][0] = 6; short val6 = get(); - assertEquals(val6, (isStableEnabled ? (isServerWithStable ? 1 : 2) + assertEquals(val6, (isStableEnabled ? (isStableEnabled ? 1 : 2) : 6)); } { c.v = new short[1][1][1][1]; short[] val1 = get1(); c.v[0][0][0] = new short[1]; short[] val2 = get1(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { c.v = new short[1][1][1][1]; short[][] val1 = get2(); c.v[0][0] = new short[1][1]; short[][] val2 = get2(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { c.v = new short[1][1][1][1]; short[][][] val1 = get3(); c.v[0] = new short[1][1][1]; short[][][] val2 = get3(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { @@ -434,7 +433,7 @@ c.v = new short[1][1]; c.v[0] = new short[0]; short[] val1 = get1(); c.v[0] = new short[0]; short[] val2 = get1(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { @@ -470,14 +469,14 @@ c.v = new short[1][1][1]; c.v[0][0] = new short[0]; short[] val1 = get1(); c.v[0][0] = new short[0]; short[] val2 = get1(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { c.v = new short[1][1][1]; c.v[0] = new short[0][0]; short[][] val1 = get2(); c.v[0] = new short[0][0]; short[][] val2 = get2(); - assertTrue((isServerWithStable ? (val1 == val2) : (val1 != val2))); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); } { @@ -612,7 +611,7 @@ elem.a = 2; short val3 = get(); short val4 = get1(); assertEquals(val1, 1); - assertEquals(val3, (isServerWithStable ? 1 : 2)); + assertEquals(val3, (isStableEnabled ? 1 : 2)); assertEquals(val2, 1); assertEquals(val4, 2);