< prev index next >

src/hotspot/share/gc/g1/g1BarrierSet.hpp

Print this page

 78     return barrier_set_cast<G1BarrierSet>(BarrierSet::barrier_set());
 79   }
 80 
 81   G1CardTable* refinement_table() const { return _refinement_table.load_relaxed(); }
 82 
 83   // Swap the global card table references, without synchronization.
 84   void swap_global_card_table();
 85 
 86   // Update the given thread's card table (byte map) base to the current card table's.
 87   void update_card_table_base(Thread* thread);
 88 
 89   // Add "pre_val" to a set of objects that may have been disconnected from the
 90   // pre-marking object graph. Prefer the version that takes location, as it
 91   // can avoid touching the heap unnecessarily.
 92   template <class T> static void enqueue(T* dst);
 93   static void enqueue_preloaded(oop pre_val);
 94 
 95   static void enqueue_preloaded_if_weak(DecoratorSet decorators, oop value);
 96 
 97   template <class T> void write_ref_array_pre_work(T* dst, size_t count);
 98   virtual void write_ref_array_pre(oop* dst, size_t count, bool dest_uninitialized);
 99   virtual void write_ref_array_pre(narrowOop* dst, size_t count, bool dest_uninitialized);
100 
101   template <DecoratorSet decorators, typename T>
102   void write_ref_field_pre(T* field);
103 
104   virtual void write_region(MemRegion mr);
105 
106   template <DecoratorSet decorators = DECORATORS_NONE, typename T>
107   void write_ref_field_post(T* field);
108 
109   virtual void on_thread_create(Thread* thread);
110   virtual void on_thread_destroy(Thread* thread);
111   virtual void on_thread_attach(Thread* thread);
112   virtual void on_thread_detach(Thread* thread);
113 
114   static G1SATBMarkQueueSet& satb_mark_queue_set() {
115     return g1_barrier_set()->_satb_mark_queue_set;
116   }
117 
118   virtual void print_on(outputStream* st) const;
119 

 78     return barrier_set_cast<G1BarrierSet>(BarrierSet::barrier_set());
 79   }
 80 
 81   G1CardTable* refinement_table() const { return _refinement_table.load_relaxed(); }
 82 
 83   // Swap the global card table references, without synchronization.
 84   void swap_global_card_table();
 85 
 86   // Update the given thread's card table (byte map) base to the current card table's.
 87   void update_card_table_base(Thread* thread);
 88 
 89   // Add "pre_val" to a set of objects that may have been disconnected from the
 90   // pre-marking object graph. Prefer the version that takes location, as it
 91   // can avoid touching the heap unnecessarily.
 92   template <class T> static void enqueue(T* dst);
 93   static void enqueue_preloaded(oop pre_val);
 94 
 95   static void enqueue_preloaded_if_weak(DecoratorSet decorators, oop value);
 96 
 97   template <class T> void write_ref_array_pre_work(T* dst, size_t count);
 98   virtual void write_ref_array_pre(oop* dst, size_t count);
 99   virtual void write_ref_array_pre(narrowOop* dst, size_t count);
100 
101   template <DecoratorSet decorators, typename T>
102   void write_ref_field_pre(T* field);
103 
104   virtual void write_region(MemRegion mr);
105 
106   template <DecoratorSet decorators = DECORATORS_NONE, typename T>
107   void write_ref_field_post(T* field);
108 
109   virtual void on_thread_create(Thread* thread);
110   virtual void on_thread_destroy(Thread* thread);
111   virtual void on_thread_attach(Thread* thread);
112   virtual void on_thread_detach(Thread* thread);
113 
114   static G1SATBMarkQueueSet& satb_mark_queue_set() {
115     return g1_barrier_set()->_satb_mark_queue_set;
116   }
117 
118   virtual void print_on(outputStream* st) const;
119 
< prev index next >