src/share/vm/opto/parseHelper.cpp

changeset 6479
2113136690bc
parent 5991
b2ee5dc63353
child 6876
710a3c8b516e
child 7341
e7b3d177adda
     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-----------------------------

mercurial