src/share/vm/memory/cardTableModRefBS.hpp

changeset 8019
3fb3ceb7398f
parent 7535
7ae4e26cb1e0
child 8856
ac27a9c85bea
equal deleted inserted replaced
8018:7763e0b50e20 8019:3fb3ceb7398f
315 public: 315 public:
316 316
317 inline void inline_write_ref_array(MemRegion mr) { 317 inline void inline_write_ref_array(MemRegion mr) {
318 dirty_MemRegion(mr); 318 dirty_MemRegion(mr);
319 #ifdef MIPS64 319 #ifdef MIPS64
320 if (Use3A2000) OrderAccess::fence(); 320 if (UseSyncLevel >= 2000) OrderAccess::fence();
321 #endif 321 #endif
322 } 322 }
323 protected: 323 protected:
324 void write_ref_array_work(MemRegion mr) { 324 void write_ref_array_work(MemRegion mr) {
325 inline_write_ref_array(mr); 325 inline_write_ref_array(mr);
332 332
333 // *** Card-table-barrier-specific things. 333 // *** Card-table-barrier-specific things.
334 334
335 template <class T> inline void inline_write_ref_field_pre(T* field, oop newVal) { 335 template <class T> inline void inline_write_ref_field_pre(T* field, oop newVal) {
336 #ifdef MIPS64 336 #ifdef MIPS64
337 if (Use3A2000) OrderAccess::fence(); 337 if (UseSyncLevel >= 2000) OrderAccess::fence();
338 #endif 338 #endif
339 } 339 }
340 340
341 template <class T> inline void inline_write_ref_field(T* field, oop newVal, bool release) { 341 template <class T> inline void inline_write_ref_field(T* field, oop newVal, bool release) {
342 jbyte* byte = byte_for((void*)field); 342 jbyte* byte = byte_for((void*)field);
345 OrderAccess::release_store((volatile jbyte*) byte, dirty_card); 345 OrderAccess::release_store((volatile jbyte*) byte, dirty_card);
346 } else { 346 } else {
347 *byte = dirty_card; 347 *byte = dirty_card;
348 } 348 }
349 #ifdef MIPS64 349 #ifdef MIPS64
350 if (Use3A2000) OrderAccess::fence(); 350 if (UseSyncLevel >= 2000) OrderAccess::fence();
351 #endif 351 #endif
352 } 352 }
353 353
354 // These are used by G1, when it uses the card table as a temporary data 354 // These are used by G1, when it uses the card table as a temporary data
355 // structure for card claiming. 355 // structure for card claiming.

mercurial