< 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 >