< prev index next >

src/hotspot/share/gc/shared/barrierSet.hpp

Print this page
rev 51997 : 8211279: Verify missing object equals barriers


 113   }
 114 
 115   template <class BarrierSetC2T>
 116   static BarrierSetC2* make_barrier_set_c2() {
 117     return COMPILER2_PRESENT(new BarrierSetC2T()) NOT_COMPILER2(NULL);
 118   }
 119 
 120 public:
 121   // Support for optimizing compilers to call the barrier set on slow path allocations
 122   // that did not enter a TLAB. Used for e.g. ReduceInitialCardMarks.
 123   // The allocation is safe to use iff it returns true. If not, the slow-path allocation
 124   // is redone until it succeeds. This can e.g. prevent allocations from the slow path
 125   // to be in old.
 126   virtual void on_slowpath_allocation_exit(JavaThread* thread, oop new_obj) {}
 127   virtual void on_thread_create(Thread* thread) {}
 128   virtual void on_thread_destroy(Thread* thread) {}
 129   virtual void on_thread_attach(JavaThread* thread) {}
 130   virtual void on_thread_detach(JavaThread* thread) {}
 131   virtual void make_parsable(JavaThread* thread) {}
 132 




 133 public:
 134   // Print a description of the memory for the barrier set
 135   virtual void print_on(outputStream* st) const = 0;
 136 
 137   static BarrierSet* barrier_set() { return _barrier_set; }
 138   static void set_barrier_set(BarrierSet* barrier_set);
 139 
 140   BarrierSetAssembler* barrier_set_assembler() {
 141     assert(_barrier_set_assembler != NULL, "should be set");
 142     return _barrier_set_assembler;
 143   }
 144 
 145   BarrierSetC1* barrier_set_c1() {
 146     assert(_barrier_set_c1 != NULL, "should be set");
 147     return _barrier_set_c1;
 148   }
 149 
 150   BarrierSetC2* barrier_set_c2() {
 151     assert(_barrier_set_c2 != NULL, "should be set");
 152     return _barrier_set_c2;




 113   }
 114 
 115   template <class BarrierSetC2T>
 116   static BarrierSetC2* make_barrier_set_c2() {
 117     return COMPILER2_PRESENT(new BarrierSetC2T()) NOT_COMPILER2(NULL);
 118   }
 119 
 120 public:
 121   // Support for optimizing compilers to call the barrier set on slow path allocations
 122   // that did not enter a TLAB. Used for e.g. ReduceInitialCardMarks.
 123   // The allocation is safe to use iff it returns true. If not, the slow-path allocation
 124   // is redone until it succeeds. This can e.g. prevent allocations from the slow path
 125   // to be in old.
 126   virtual void on_slowpath_allocation_exit(JavaThread* thread, oop new_obj) {}
 127   virtual void on_thread_create(Thread* thread) {}
 128   virtual void on_thread_destroy(Thread* thread) {}
 129   virtual void on_thread_attach(JavaThread* thread) {}
 130   virtual void on_thread_detach(JavaThread* thread) {}
 131   virtual void make_parsable(JavaThread* thread) {}
 132 
 133 #ifdef CHECK_UNHANDLED_OOPS
 134   virtual bool oop_equals_operator_allowed() { return true; }
 135 #endif
 136 
 137 public:
 138   // Print a description of the memory for the barrier set
 139   virtual void print_on(outputStream* st) const = 0;
 140 
 141   static BarrierSet* barrier_set() { return _barrier_set; }
 142   static void set_barrier_set(BarrierSet* barrier_set);
 143 
 144   BarrierSetAssembler* barrier_set_assembler() {
 145     assert(_barrier_set_assembler != NULL, "should be set");
 146     return _barrier_set_assembler;
 147   }
 148 
 149   BarrierSetC1* barrier_set_c1() {
 150     assert(_barrier_set_c1 != NULL, "should be set");
 151     return _barrier_set_c1;
 152   }
 153 
 154   BarrierSetC2* barrier_set_c2() {
 155     assert(_barrier_set_c2 != NULL, "should be set");
 156     return _barrier_set_c2;


< prev index next >