225 CodeBlob* load_reference_barrier_weak_rt_code_blob() {
226 assert(_load_reference_barrier_weak_rt_code_blob != NULL, "");
227 return _load_reference_barrier_weak_rt_code_blob;
228 }
229
230 CodeBlob* load_reference_barrier_phantom_rt_code_blob() {
231 assert(_load_reference_barrier_phantom_rt_code_blob != NULL, "");
232 return _load_reference_barrier_phantom_rt_code_blob;
233 }
234
235 protected:
236
237 virtual void store_at_resolved(LIRAccess& access, LIR_Opr value);
238 virtual LIR_Opr resolve_address(LIRAccess& access, bool resolve_in_register);
239 virtual void load_at_resolved(LIRAccess& access, LIR_Opr result);
240
241 virtual LIR_Opr atomic_cmpxchg_at_resolved(LIRAccess& access, LIRItem& cmp_value, LIRItem& new_value);
242
243 virtual LIR_Opr atomic_xchg_at_resolved(LIRAccess& access, LIRItem& value);
244
245 public:
246
247 virtual void generate_c1_runtime_stubs(BufferBlob* buffer_blob);
248 };
249
250 #endif // SHARE_GC_SHENANDOAH_C1_SHENANDOAHBARRIERSETC1_HPP
|
225 CodeBlob* load_reference_barrier_weak_rt_code_blob() {
226 assert(_load_reference_barrier_weak_rt_code_blob != NULL, "");
227 return _load_reference_barrier_weak_rt_code_blob;
228 }
229
230 CodeBlob* load_reference_barrier_phantom_rt_code_blob() {
231 assert(_load_reference_barrier_phantom_rt_code_blob != NULL, "");
232 return _load_reference_barrier_phantom_rt_code_blob;
233 }
234
235 protected:
236
237 virtual void store_at_resolved(LIRAccess& access, LIR_Opr value);
238 virtual LIR_Opr resolve_address(LIRAccess& access, bool resolve_in_register);
239 virtual void load_at_resolved(LIRAccess& access, LIR_Opr result);
240
241 virtual LIR_Opr atomic_cmpxchg_at_resolved(LIRAccess& access, LIRItem& cmp_value, LIRItem& new_value);
242
243 virtual LIR_Opr atomic_xchg_at_resolved(LIRAccess& access, LIRItem& value);
244
245 void post_barrier(LIRAccess& access, LIR_Opr addr, LIR_Opr new_val);
246
247 public:
248
249 virtual void generate_c1_runtime_stubs(BufferBlob* buffer_blob);
250 };
251
252 #endif // SHARE_GC_SHENANDOAH_C1_SHENANDOAHBARRIERSETC1_HPP
|