comparison src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp @ 52424:e3d79743f57d

8212243: More gc interface tweaks for arraycopy Reviewed-by: kvn, eosterlund
author roland
date Tue, 06 Nov 2018 10:01:27 +0100
parents 4f2215a00ed1
children 38bf0c9c4e64
comparison
equal deleted inserted replaced
5:d88324351c63 6:5da7e04b1bbe
154 }; 154 };
155 155
156 class ZBarrierSetC2 : public BarrierSetC2 { 156 class ZBarrierSetC2 : public BarrierSetC2 {
157 private: 157 private:
158 ZBarrierSetC2State* state() const; 158 ZBarrierSetC2State* state() const;
159 Node* make_cas_loadbarrier(C2AtomicAccess& access) const; 159 Node* make_cas_loadbarrier(C2AtomicParseAccess& access) const;
160 Node* make_cmpx_loadbarrier(C2AtomicAccess& access) const; 160 Node* make_cmpx_loadbarrier(C2AtomicParseAccess& access) const;
161 void expand_loadbarrier_basic(PhaseMacroExpand* phase, LoadBarrierNode *barrier) const; 161 void expand_loadbarrier_basic(PhaseMacroExpand* phase, LoadBarrierNode *barrier) const;
162 void expand_loadbarrier_node(PhaseMacroExpand* phase, LoadBarrierNode* barrier) const; 162 void expand_loadbarrier_node(PhaseMacroExpand* phase, LoadBarrierNode* barrier) const;
163 void expand_loadbarrier_optimized(PhaseMacroExpand* phase, LoadBarrierNode *barrier) const; 163 void expand_loadbarrier_optimized(PhaseMacroExpand* phase, LoadBarrierNode *barrier) const;
164 const TypeFunc* load_barrier_Type() const; 164 const TypeFunc* load_barrier_Type() const;
165 165
166 protected: 166 protected:
167 virtual Node* load_at_resolved(C2Access& access, const Type* val_type) const; 167 virtual Node* load_at_resolved(C2Access& access, const Type* val_type) const;
168 virtual Node* atomic_cmpxchg_val_at_resolved(C2AtomicAccess& access, 168 virtual Node* atomic_cmpxchg_val_at_resolved(C2AtomicParseAccess& access,
169 Node* expected_val, 169 Node* expected_val,
170 Node* new_val, 170 Node* new_val,
171 const Type* val_type) const; 171 const Type* val_type) const;
172 virtual Node* atomic_cmpxchg_bool_at_resolved(C2AtomicAccess& access, 172 virtual Node* atomic_cmpxchg_bool_at_resolved(C2AtomicParseAccess& access,
173 Node* expected_val, 173 Node* expected_val,
174 Node* new_val, 174 Node* new_val,
175 const Type* value_type) const; 175 const Type* value_type) const;
176 virtual Node* atomic_xchg_at_resolved(C2AtomicAccess& access, 176 virtual Node* atomic_xchg_at_resolved(C2AtomicParseAccess& access,
177 Node* new_val, 177 Node* new_val,
178 const Type* val_type) const; 178 const Type* val_type) const;
179 179
180 public: 180 public:
181 Node* load_barrier(GraphKit* kit, 181 Node* load_barrier(GraphKit* kit,