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