< prev index next >

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

Print this page
rev 53870 : imported patch shade-shenandoah-ptrqueue
rev 53871 : [mq]: shenandoah_merge_attach


  67   write_ref_array_pre_work(T* dst, size_t count);
  68 
  69   void write_ref_array_pre(oop* dst, size_t count, bool dest_uninitialized);
  70 
  71   void write_ref_array_pre(narrowOop* dst, size_t count, bool dest_uninitialized);
  72 
  73   // We export this to make it available in cases where the static
  74   // type of the barrier set is known.  Note that it is non-virtual.
  75   template <class T> inline void inline_write_ref_field_pre(T* field, oop new_val);
  76 
  77   // These are the more general virtual versions.
  78   void write_ref_field_pre_work(oop* field, oop new_val);
  79   void write_ref_field_pre_work(narrowOop* field, oop new_val);
  80   void write_ref_field_pre_work(void* field, oop new_val);
  81 
  82   void write_ref_field_work(void* v, oop o, bool release = false);
  83   void write_region(MemRegion mr);
  84 
  85   virtual void on_thread_create(Thread* thread);
  86   virtual void on_thread_destroy(Thread* thread);
  87   virtual void on_thread_attach(JavaThread* thread);
  88   virtual void on_thread_detach(JavaThread* thread);
  89 
  90   virtual oop read_barrier(oop src);
  91 
  92   static inline oop resolve_forwarded_not_null(oop p);
  93   static inline oop resolve_forwarded(oop p);
  94 
  95   virtual oop write_barrier(oop obj);
  96 
  97   oop write_barrier_mutator(oop obj);
  98 
  99   virtual oop storeval_barrier(oop obj);
 100 
 101   virtual void keep_alive_barrier(oop obj);
 102 
 103   bool obj_equals(oop obj1, oop obj2);
 104 
 105 #ifdef CHECK_UNHANDLED_OOPS
 106   bool oop_equals_operator_allowed() { return !ShenandoahVerifyObjectEquals; }
 107 #endif
 108 




  67   write_ref_array_pre_work(T* dst, size_t count);
  68 
  69   void write_ref_array_pre(oop* dst, size_t count, bool dest_uninitialized);
  70 
  71   void write_ref_array_pre(narrowOop* dst, size_t count, bool dest_uninitialized);
  72 
  73   // We export this to make it available in cases where the static
  74   // type of the barrier set is known.  Note that it is non-virtual.
  75   template <class T> inline void inline_write_ref_field_pre(T* field, oop new_val);
  76 
  77   // These are the more general virtual versions.
  78   void write_ref_field_pre_work(oop* field, oop new_val);
  79   void write_ref_field_pre_work(narrowOop* field, oop new_val);
  80   void write_ref_field_pre_work(void* field, oop new_val);
  81 
  82   void write_ref_field_work(void* v, oop o, bool release = false);
  83   void write_region(MemRegion mr);
  84 
  85   virtual void on_thread_create(Thread* thread);
  86   virtual void on_thread_destroy(Thread* thread);
  87   virtual void on_thread_attach(Thread* thread);
  88   virtual void on_thread_detach(Thread* thread);
  89 
  90   virtual oop read_barrier(oop src);
  91 
  92   static inline oop resolve_forwarded_not_null(oop p);
  93   static inline oop resolve_forwarded(oop p);
  94 
  95   virtual oop write_barrier(oop obj);
  96 
  97   oop write_barrier_mutator(oop obj);
  98 
  99   virtual oop storeval_barrier(oop obj);
 100 
 101   virtual void keep_alive_barrier(oop obj);
 102 
 103   bool obj_equals(oop obj1, oop obj2);
 104 
 105 #ifdef CHECK_UNHANDLED_OOPS
 106   bool oop_equals_operator_allowed() { return !ShenandoahVerifyObjectEquals; }
 107 #endif
 108 


< prev index next >