1.1 --- a/src/share/vm/opto/parseHelper.cpp Thu Nov 07 11:47:11 2013 +0100 1.2 +++ b/src/share/vm/opto/parseHelper.cpp Fri Nov 15 11:05:32 2013 -0800 1.3 @@ -222,7 +222,7 @@ 1.4 1.5 Node* init_thread_offset = _gvn.MakeConX(in_bytes(InstanceKlass::init_thread_offset())); 1.6 Node* adr_node = basic_plus_adr(kls, kls, init_thread_offset); 1.7 - Node* init_thread = make_load(NULL, adr_node, TypeRawPtr::BOTTOM, T_ADDRESS); 1.8 + Node* init_thread = make_load(NULL, adr_node, TypeRawPtr::BOTTOM, T_ADDRESS, MemNode::unordered); 1.9 Node *tst = Bool( CmpP( init_thread, cur_thread), BoolTest::eq); 1.10 IfNode* iff = create_and_map_if(control(), tst, PROB_ALWAYS, COUNT_UNKNOWN); 1.11 set_control(IfTrue(iff)); 1.12 @@ -232,7 +232,7 @@ 1.13 adr_node = basic_plus_adr(kls, kls, init_state_offset); 1.14 // Use T_BOOLEAN for InstanceKlass::_init_state so the compiler 1.15 // can generate code to load it as unsigned byte. 1.16 - Node* init_state = make_load(NULL, adr_node, TypeInt::UBYTE, T_BOOLEAN); 1.17 + Node* init_state = make_load(NULL, adr_node, TypeInt::UBYTE, T_BOOLEAN, MemNode::unordered); 1.18 Node* being_init = _gvn.intcon(InstanceKlass::being_initialized); 1.19 tst = Bool( CmpI( init_state, being_init), BoolTest::eq); 1.20 iff = create_and_map_if(control(), tst, PROB_ALWAYS, COUNT_UNKNOWN); 1.21 @@ -354,13 +354,13 @@ 1.22 Node *counters_node = makecon(adr_type); 1.23 Node* adr_iic_node = basic_plus_adr(counters_node, counters_node, 1.24 MethodCounters::interpreter_invocation_counter_offset_in_bytes()); 1.25 - Node* cnt = make_load(ctrl, adr_iic_node, TypeInt::INT, T_INT, adr_type); 1.26 + Node* cnt = make_load(ctrl, adr_iic_node, TypeInt::INT, T_INT, adr_type, MemNode::unordered); 1.27 1.28 test_counter_against_threshold(cnt, limit); 1.29 1.30 // Add one to the counter and store 1.31 Node* incr = _gvn.transform(new (C) AddINode(cnt, _gvn.intcon(1))); 1.32 - store_to_memory( ctrl, adr_iic_node, incr, T_INT, adr_type ); 1.33 + store_to_memory(ctrl, adr_iic_node, incr, T_INT, adr_type, MemNode::unordered); 1.34 } 1.35 1.36 //----------------------------method_data_addressing--------------------------- 1.37 @@ -392,9 +392,9 @@ 1.38 Node* adr_node = method_data_addressing(md, data, counter_offset, idx, stride); 1.39 1.40 const TypePtr* adr_type = _gvn.type(adr_node)->is_ptr(); 1.41 - Node* cnt = make_load(NULL, adr_node, TypeInt::INT, T_INT, adr_type); 1.42 + Node* cnt = make_load(NULL, adr_node, TypeInt::INT, T_INT, adr_type, MemNode::unordered); 1.43 Node* incr = _gvn.transform(new (C) AddINode(cnt, _gvn.intcon(DataLayout::counter_increment))); 1.44 - store_to_memory(NULL, adr_node, incr, T_INT, adr_type ); 1.45 + store_to_memory(NULL, adr_node, incr, T_INT, adr_type, MemNode::unordered); 1.46 } 1.47 1.48 //--------------------------test_for_osr_md_counter_at------------------------- 1.49 @@ -402,7 +402,7 @@ 1.50 Node* adr_node = method_data_addressing(md, data, counter_offset); 1.51 1.52 const TypePtr* adr_type = _gvn.type(adr_node)->is_ptr(); 1.53 - Node* cnt = make_load(NULL, adr_node, TypeInt::INT, T_INT, adr_type); 1.54 + Node* cnt = make_load(NULL, adr_node, TypeInt::INT, T_INT, adr_type, MemNode::unordered); 1.55 1.56 test_counter_against_threshold(cnt, limit); 1.57 } 1.58 @@ -412,9 +412,9 @@ 1.59 Node* adr_node = method_data_addressing(md, data, DataLayout::flags_offset()); 1.60 1.61 const TypePtr* adr_type = _gvn.type(adr_node)->is_ptr(); 1.62 - Node* flags = make_load(NULL, adr_node, TypeInt::BYTE, T_BYTE, adr_type); 1.63 + Node* flags = make_load(NULL, adr_node, TypeInt::BYTE, T_BYTE, adr_type, MemNode::unordered); 1.64 Node* incr = _gvn.transform(new (C) OrINode(flags, _gvn.intcon(flag_constant))); 1.65 - store_to_memory(NULL, adr_node, incr, T_BYTE, adr_type); 1.66 + store_to_memory(NULL, adr_node, incr, T_BYTE, adr_type, MemNode::unordered); 1.67 } 1.68 1.69 //----------------------------profile_taken_branch-----------------------------