67 bool is_a(BarrierSet::Name bsn);
68
69 bool is_aligned(HeapWord* hw);
70
71 template <class T> void
72 write_ref_array_pre_work(T* src, T* dst, size_t count, bool dest_uninitialized);
73
74 inline void arraycopy_pre(oop* src, oop* dst, size_t count);
75 inline void arraycopy_pre(narrowOop* src, narrowOop* dst, size_t count);
76 inline void arraycopy_update(oop* src, size_t count);
77 inline void arraycopy_update(narrowOop* src, size_t count);
78 inline void clone_barrier(oop src);
79 void clone_barrier_runtime(oop src);
80
81 virtual void on_thread_create(Thread* thread);
82 virtual void on_thread_destroy(Thread* thread);
83 virtual void on_thread_attach(Thread* thread);
84 virtual void on_thread_detach(Thread* thread);
85
86 static inline oop resolve_forwarded_not_null(oop p);
87 static inline oop resolve_forwarded(oop p);
88
89 template <DecoratorSet decorators, typename T>
90 inline void satb_barrier(T* field);
91 inline void satb_enqueue(oop value);
92 inline void storeval_barrier(oop obj);
93
94 template <DecoratorSet decorators>
95 inline void keep_alive_if_weak(oop value);
96 inline void keep_alive_if_weak(DecoratorSet decorators, oop value);
97 inline void keep_alive_barrier(oop value);
98
99 inline void enqueue(oop obj);
100
101 oop load_reference_barrier(oop obj);
102 oop load_reference_barrier_not_null(oop obj);
103
104 oop load_reference_barrier_mutator(oop obj, oop* load_addr);
105 oop load_reference_barrier_mutator(oop obj, narrowOop* load_addr);
106
|
67 bool is_a(BarrierSet::Name bsn);
68
69 bool is_aligned(HeapWord* hw);
70
71 template <class T> void
72 write_ref_array_pre_work(T* src, T* dst, size_t count, bool dest_uninitialized);
73
74 inline void arraycopy_pre(oop* src, oop* dst, size_t count);
75 inline void arraycopy_pre(narrowOop* src, narrowOop* dst, size_t count);
76 inline void arraycopy_update(oop* src, size_t count);
77 inline void arraycopy_update(narrowOop* src, size_t count);
78 inline void clone_barrier(oop src);
79 void clone_barrier_runtime(oop src);
80
81 virtual void on_thread_create(Thread* thread);
82 virtual void on_thread_destroy(Thread* thread);
83 virtual void on_thread_attach(Thread* thread);
84 virtual void on_thread_detach(Thread* thread);
85
86 static inline oop resolve_forwarded_not_null(oop p);
87 static inline oop resolve_forwarded_not_null_mutator(oop p);
88 static inline oop resolve_forwarded(oop p);
89
90 template <DecoratorSet decorators, typename T>
91 inline void satb_barrier(T* field);
92 inline void satb_enqueue(oop value);
93 inline void storeval_barrier(oop obj);
94
95 template <DecoratorSet decorators>
96 inline void keep_alive_if_weak(oop value);
97 inline void keep_alive_if_weak(DecoratorSet decorators, oop value);
98 inline void keep_alive_barrier(oop value);
99
100 inline void enqueue(oop obj);
101
102 oop load_reference_barrier(oop obj);
103 oop load_reference_barrier_not_null(oop obj);
104
105 oop load_reference_barrier_mutator(oop obj, oop* load_addr);
106 oop load_reference_barrier_mutator(oop obj, narrowOop* load_addr);
107
|