src/share/vm/memory/barrierSet.hpp

changeset 9465
1556c6d89036
parent 9138
b56ab8e56604
equal deleted inserted replaced
9464:117cf4377bf4 9465:1556c6d89036
95 private: 95 private:
96 // Keep this private so as to catch violations at build time. 96 // Keep this private so as to catch violations at build time.
97 virtual void write_ref_field_pre_work( void* field, oop new_val) { guarantee(false, "Not needed"); }; 97 virtual void write_ref_field_pre_work( void* field, oop new_val) { guarantee(false, "Not needed"); };
98 protected: 98 protected:
99 virtual void write_ref_field_pre_work( oop* field, oop new_val) { 99 virtual void write_ref_field_pre_work( oop* field, oop new_val) {
100 #ifdef MIPS 100 #if defined MIPS && !defined ZERO
101 if (UseSyncLevel >= 2000) OrderAccess::fence(); 101 if (UseSyncLevel >= 2000) OrderAccess::fence();
102 #endif 102 #endif
103 }; 103 };
104 virtual void write_ref_field_pre_work(narrowOop* field, oop new_val) { 104 virtual void write_ref_field_pre_work(narrowOop* field, oop new_val) {
105 #ifdef MIPS 105 #if defined MIPS && !defined ZERO
106 if (UseSyncLevel >= 2000) OrderAccess::fence(); 106 if (UseSyncLevel >= 2000) OrderAccess::fence();
107 #endif 107 #endif
108 }; 108 };
109 public: 109 public:
110 110
140 virtual void read_prim_array(MemRegion mr) = 0; 140 virtual void read_prim_array(MemRegion mr) = 0;
141 141
142 // Below length is the # array elements being written 142 // Below length is the # array elements being written
143 virtual void write_ref_array_pre(oop* dst, int length, 143 virtual void write_ref_array_pre(oop* dst, int length,
144 bool dest_uninitialized = false) { 144 bool dest_uninitialized = false) {
145 #ifdef MIPS 145 #if defined MIPS && !defined ZERO
146 if (UseSyncLevel >= 2000) OrderAccess::fence(); 146 if (UseSyncLevel >= 2000) OrderAccess::fence();
147 #endif 147 #endif
148 } 148 }
149 virtual void write_ref_array_pre(narrowOop* dst, int length, 149 virtual void write_ref_array_pre(narrowOop* dst, int length,
150 bool dest_uninitialized = false) { 150 bool dest_uninitialized = false) {
151 #ifdef MIPS 151 #if defined MIPS && !defined ZERO
152 if (UseSyncLevel >= 2000) OrderAccess::fence(); 152 if (UseSyncLevel >= 2000) OrderAccess::fence();
153 #endif 153 #endif
154 } 154 }
155 // Below count is the # array elements being written, starting 155 // Below count is the # array elements being written, starting
156 // at the address "start", which may not necessarily be HeapWord-aligned 156 // at the address "start", which may not necessarily be HeapWord-aligned

mercurial