src/hotspot/share/gc/shared/c2/barrierSetC2.hpp
changeset 59025 b398685dd029
parent 58516 d376d86b0a01
child 59324 5e8f9713e343
equal deleted inserted replaced
59024:b046ba510bbc 59025:b398685dd029
   101   DecoratorSet      _decorators;
   101   DecoratorSet      _decorators;
   102   BasicType         _type;
   102   BasicType         _type;
   103   Node*             _base;
   103   Node*             _base;
   104   C2AccessValuePtr& _addr;
   104   C2AccessValuePtr& _addr;
   105   Node*             _raw_access;
   105   Node*             _raw_access;
       
   106   uint8_t           _barrier_data;
   106 
   107 
   107   void fixup_decorators();
   108   void fixup_decorators();
   108 
   109 
   109 public:
   110 public:
   110   C2Access(DecoratorSet decorators,
   111   C2Access(DecoratorSet decorators,
   111            BasicType type, Node* base, C2AccessValuePtr& addr) :
   112            BasicType type, Node* base, C2AccessValuePtr& addr) :
   112     _decorators(decorators),
   113     _decorators(decorators),
   113     _type(type),
   114     _type(type),
   114     _base(base),
   115     _base(base),
   115     _addr(addr),
   116     _addr(addr),
   116     _raw_access(NULL)
   117     _raw_access(NULL),
       
   118     _barrier_data(0)
   117   {}
   119   {}
   118 
   120 
   119   DecoratorSet decorators() const { return _decorators; }
   121   DecoratorSet decorators() const { return _decorators; }
   120   Node* base() const              { return _base; }
   122   Node* base() const              { return _base; }
   121   C2AccessValuePtr& addr() const  { return _addr; }
   123   C2AccessValuePtr& addr() const  { return _addr; }
   122   BasicType type() const          { return _type; }
   124   BasicType type() const          { return _type; }
   123   bool is_oop() const             { return is_reference_type(_type); }
   125   bool is_oop() const             { return is_reference_type(_type); }
   124   bool is_raw() const             { return (_decorators & AS_RAW) != 0; }
   126   bool is_raw() const             { return (_decorators & AS_RAW) != 0; }
   125   Node* raw_access() const        { return _raw_access; }
   127   Node* raw_access() const        { return _raw_access; }
       
   128 
       
   129   uint8_t barrier_data() const        { return _barrier_data; }
       
   130   void set_barrier_data(uint8_t data) { _barrier_data = data; }
   126 
   131 
   127   void set_raw_access(Node* raw_access) { _raw_access = raw_access; }
   132   void set_raw_access(Node* raw_access) { _raw_access = raw_access; }
   128   virtual void set_memory() {} // no-op for normal accesses, but not for atomic accesses.
   133   virtual void set_memory() {} // no-op for normal accesses, but not for atomic accesses.
   129 
   134 
   130   MemNode::MemOrd mem_node_mo() const;
   135   MemNode::MemOrd mem_node_mo() const;