< prev index next >

src/hotspot/share/gc/shared/satbMarkQueue.cpp

Print this page

        

*** 134,144 **** do { old = value; value += 2; assert(value > old, "overflow"); if (value > threshold) value |= 1; ! value = Atomic::cmpxchg(value, cfptr, old); } while (value != old); } // Decrement count. If count == 0, clear flag, else maintain flag. static void decrement_count(volatile size_t* cfptr) { --- 134,144 ---- do { old = value; value += 2; assert(value > old, "overflow"); if (value > threshold) value |= 1; ! value = Atomic::cmpxchg(cfptr, old, value); } while (value != old); } // Decrement count. If count == 0, clear flag, else maintain flag. static void decrement_count(volatile size_t* cfptr) {
*** 147,157 **** do { assert((value >> 1) != 0, "underflow"); old = value; value -= 2; if (value <= 1) value = 0; ! value = Atomic::cmpxchg(value, cfptr, old); } while (value != old); } void SATBMarkQueueSet::set_process_completed_buffers_threshold(size_t value) { // Scale requested threshold to align with count field. If scaling --- 147,157 ---- do { assert((value >> 1) != 0, "underflow"); old = value; value -= 2; if (value <= 1) value = 0; ! value = Atomic::cmpxchg(cfptr, old, value); } while (value != old); } void SATBMarkQueueSet::set_process_completed_buffers_threshold(size_t value) { // Scale requested threshold to align with count field. If scaling
< prev index next >