src/share/vm/utilities/bitMap.cpp
Print this page
*** 105,115 ****
intptr_t mr = (intptr_t)inverted_bit_mask_for_range(beg, end);
intptr_t nw = value ? (w | ~mr) : (w & mr);
while (true) {
intptr_t res = Atomic::cmpxchg_ptr(nw, pw, w);
if (res == w) break;
! w = *pw;
nw = value ? (w | ~mr) : (w & mr);
}
}
}
--- 105,115 ----
intptr_t mr = (intptr_t)inverted_bit_mask_for_range(beg, end);
intptr_t nw = value ? (w | ~mr) : (w & mr);
while (true) {
intptr_t res = Atomic::cmpxchg_ptr(nw, pw, w);
if (res == w) break;
! w = res;
nw = value ? (w | ~mr) : (w & mr);
}
}
}