< prev index next > src/hotspot/share/gc/g1/g1BarrierSet.hpp
8198949_arraycopy
template <class T> void write_ref_array_pre_work(T* dst, int count);
virtual void write_ref_array_pre(oop* dst, int count, bool dest_uninitialized);
virtual void write_ref_array_pre(narrowOop* dst, int count, bool dest_uninitialized);
+ static void write_ref_array_pre_oop_entry(oop* dst, size_t length);
+ static void write_ref_array_pre_narrow_oop_entry(narrowOop* dst, size_t length);
+ static void write_ref_array_post_entry(HeapWord* dst, size_t length);
+
template <DecoratorSet decorators, typename T>
void write_ref_field_pre(T* field);
// NB: if you do a whole-heap invalidation, the "usual invariant" defined
// above no longer applies.
void write_ref_field_post_slow(volatile jbyte* byte);
virtual void on_thread_attach(JavaThread* thread);
virtual void on_thread_detach(JavaThread* thread);
+protected:
+ virtual BarrierSetCodeGen *make_code_gen();
+
+public:
// Callbacks for runtime accesses.
template <DecoratorSet decorators, typename BarrierSetT = G1BarrierSet>
class AccessBarrier: public ModRefBarrierSet::AccessBarrier<decorators, BarrierSetT> {
typedef ModRefBarrierSet::AccessBarrier<decorators, BarrierSetT> ModRef;
typedef BarrierSet::AccessBarrier<decorators, BarrierSetT> Raw;
< prev index next >