< prev index next >
src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.hpp
Print this page
rev 59271 : 8240870: Shenandoah: merge evac and update phases
Reviewed-by: XXX
@@ -92,11 +92,16 @@
inline void keep_alive_if_weak(DecoratorSet decorators, oop value);
inline void enqueue(oop obj);
oop load_reference_barrier(oop obj);
- oop load_reference_barrier_not_null(oop obj);
+
+ oop load_reference_barrier(oop obj, oop* load_addr);
+ oop load_reference_barrier(oop obj, narrowOop* load_addr);
+
+ oop load_reference_barrier_not_null(oop obj, oop* load_addr);
+ oop load_reference_barrier_not_null(oop obj, narrowOop* load_addr);
template <class T>
inline oop load_reference_barrier_mutator(oop obj, T* load_addr);
oop load_reference_barrier_native(oop obj, oop* load_addr);
@@ -115,11 +120,12 @@
inline void clone_update(oop src);
template <class T, bool HAS_FWD, bool EVAC, bool ENQUEUE>
inline void arraycopy_work(T* src, size_t count);
- oop load_reference_barrier_impl(oop obj);
+ template <class T>
+ oop load_reference_barrier_impl(oop obj, T* load_addr);
template <class T>
oop load_reference_barrier_native_impl(oop obj, T* load_addr);
inline bool need_bulk_update(HeapWord* dst);
< prev index next >