src/hotspot/share/opto/graphKit.hpp
changeset 59025 b398685dd029
parent 57692 8f3fcb9251d1
equal deleted inserted replaced
59024:b046ba510bbc 59025:b398685dd029
   521   // adapted the `do_put_xxx' and `do_get_xxx' procedures for the case
   521   // adapted the `do_put_xxx' and `do_get_xxx' procedures for the case
   522   // of volatile fields.
   522   // of volatile fields.
   523   Node* make_load(Node* ctl, Node* adr, const Type* t, BasicType bt,
   523   Node* make_load(Node* ctl, Node* adr, const Type* t, BasicType bt,
   524                   MemNode::MemOrd mo, LoadNode::ControlDependency control_dependency = LoadNode::DependsOnlyOnTest,
   524                   MemNode::MemOrd mo, LoadNode::ControlDependency control_dependency = LoadNode::DependsOnlyOnTest,
   525                   bool require_atomic_access = false, bool unaligned = false,
   525                   bool require_atomic_access = false, bool unaligned = false,
   526                   bool mismatched = false, bool unsafe = false) {
   526                   bool mismatched = false, bool unsafe = false, uint8_t barrier_data = 0) {
   527     // This version computes alias_index from bottom_type
   527     // This version computes alias_index from bottom_type
   528     return make_load(ctl, adr, t, bt, adr->bottom_type()->is_ptr(),
   528     return make_load(ctl, adr, t, bt, adr->bottom_type()->is_ptr(),
   529                      mo, control_dependency, require_atomic_access,
   529                      mo, control_dependency, require_atomic_access,
   530                      unaligned, mismatched, unsafe);
   530                      unaligned, mismatched, unsafe, barrier_data);
   531   }
   531   }
   532   Node* make_load(Node* ctl, Node* adr, const Type* t, BasicType bt, const TypePtr* adr_type,
   532   Node* make_load(Node* ctl, Node* adr, const Type* t, BasicType bt, const TypePtr* adr_type,
   533                   MemNode::MemOrd mo, LoadNode::ControlDependency control_dependency = LoadNode::DependsOnlyOnTest,
   533                   MemNode::MemOrd mo, LoadNode::ControlDependency control_dependency = LoadNode::DependsOnlyOnTest,
   534                   bool require_atomic_access = false, bool unaligned = false,
   534                   bool require_atomic_access = false, bool unaligned = false,
   535                   bool mismatched = false, bool unsafe = false) {
   535                   bool mismatched = false, bool unsafe = false, uint8_t barrier_data = 0) {
   536     // This version computes alias_index from an address type
   536     // This version computes alias_index from an address type
   537     assert(adr_type != NULL, "use other make_load factory");
   537     assert(adr_type != NULL, "use other make_load factory");
   538     return make_load(ctl, adr, t, bt, C->get_alias_index(adr_type),
   538     return make_load(ctl, adr, t, bt, C->get_alias_index(adr_type),
   539                      mo, control_dependency, require_atomic_access,
   539                      mo, control_dependency, require_atomic_access,
   540                      unaligned, mismatched, unsafe);
   540                      unaligned, mismatched, unsafe, barrier_data);
   541   }
   541   }
   542   // This is the base version which is given an alias index.
   542   // This is the base version which is given an alias index.
   543   Node* make_load(Node* ctl, Node* adr, const Type* t, BasicType bt, int adr_idx,
   543   Node* make_load(Node* ctl, Node* adr, const Type* t, BasicType bt, int adr_idx,
   544                   MemNode::MemOrd mo, LoadNode::ControlDependency control_dependency = LoadNode::DependsOnlyOnTest,
   544                   MemNode::MemOrd mo, LoadNode::ControlDependency control_dependency = LoadNode::DependsOnlyOnTest,
   545                   bool require_atomic_access = false, bool unaligned = false,
   545                   bool require_atomic_access = false, bool unaligned = false,
   546                   bool mismatched = false, bool unsafe = false);
   546                   bool mismatched = false, bool unsafe = false, uint8_t barrier_data = 0);
   547 
   547 
   548   // Create & transform a StoreNode and store the effect into the
   548   // Create & transform a StoreNode and store the effect into the
   549   // parser's memory state.
   549   // parser's memory state.
   550   //
   550   //
   551   // We must ensure that stores of object references will be visible
   551   // We must ensure that stores of object references will be visible