< prev index next >

src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.hpp

Print this page
rev 58558 : 8241605: Shenandoah: More aggressive reference discovery


  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 
 108   template <class T>
 109   oop load_reference_barrier_mutator_work(oop obj, T* load_addr);
 110 
 111   oop load_reference_barrier_native(oop obj, oop* load_addr);
 112   oop load_reference_barrier_native(oop obj, narrowOop* load_addr);
 113 
 114 private:
 115   template <class T>
 116   inline void arraycopy_pre_work(T* src, T* dst, size_t count);
 117   template <class T, bool HAS_FWD, bool EVAC, bool ENQUEUE>
 118   inline void arraycopy_work(T* 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 
  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>
 108   oop load_reference_barrier_mutator_work(oop obj, T* load_addr);
 109 
 110   oop load_reference_barrier_native(oop obj, oop* load_addr);
 111   oop load_reference_barrier_native(oop obj, narrowOop* load_addr);
 112 
 113 private:
 114   template <class T>
 115   inline void arraycopy_pre_work(T* src, T* dst, size_t count);
 116   template <class T, bool HAS_FWD, bool EVAC, bool ENQUEUE>
 117   inline void arraycopy_work(T* src, size_t count);


< prev index next >