103 const idx_t end_bit = addr_to_bit(addr + size - 1); |
103 const idx_t end_bit = addr_to_bit(addr + size - 1); |
104 bool end_bit_ok = _end_bits.par_set_bit(end_bit); |
104 bool end_bit_ok = _end_bits.par_set_bit(end_bit); |
105 assert(end_bit_ok, "concurrency problem"); |
105 assert(end_bit_ok, "concurrency problem"); |
106 DEBUG_ONLY(Atomic::inc_ptr(&mark_bitmap_count)); |
106 DEBUG_ONLY(Atomic::inc_ptr(&mark_bitmap_count)); |
107 DEBUG_ONLY(Atomic::add_ptr(size, &mark_bitmap_size)); |
107 DEBUG_ONLY(Atomic::add_ptr(size, &mark_bitmap_size)); |
|
108 #ifdef MIPS64 |
|
109 if (Use3A2000) OrderAccess::fence(); |
|
110 #endif |
108 return true; |
111 return true; |
109 } |
112 } |
110 return false; |
113 return false; |
111 } |
114 } |
112 |
115 |