hotspot/src/share/vm/gc/shared/barrierSet.hpp
changeset 32596 8feecdee3156
parent 30764 fec48bf5a827
child 32612 79a64ccc4613
equal deleted inserted replaced
32594:dea9c26a05f3 32596:8feecdee3156
   130   // barrier types.  Semantically, it should be thought of as a call to the
   130   // barrier types.  Semantically, it should be thought of as a call to the
   131   // virtual "_work" function below, which must implement the barrier.)
   131   // virtual "_work" function below, which must implement the barrier.)
   132   // First the pre-write versions...
   132   // First the pre-write versions...
   133   template <class T> inline void write_ref_field_pre(T* field, oop new_val);
   133   template <class T> inline void write_ref_field_pre(T* field, oop new_val);
   134 private:
   134 private:
       
   135   // Helper for write_ref_field_pre and friends, testing for specialized cases.
       
   136   bool devirtualize_reference_writes() const;
       
   137 
   135   // Keep this private so as to catch violations at build time.
   138   // Keep this private so as to catch violations at build time.
   136   virtual void write_ref_field_pre_work(     void* field, oop new_val) { guarantee(false, "Not needed"); };
   139   virtual void write_ref_field_pre_work(     void* field, oop new_val) { guarantee(false, "Not needed"); };
   137 protected:
   140 protected:
   138   virtual void write_ref_field_pre_work(      oop* field, oop new_val) {};
   141   virtual void write_ref_field_pre_work(      oop* field, oop new_val) {};
   139   virtual void write_ref_field_pre_work(narrowOop* field, oop new_val) {};
   142   virtual void write_ref_field_pre_work(narrowOop* field, oop new_val) {};