src/hotspot/share/gc/shared/stringdedup/stringDedupQueue.cpp
changeset 59249 29b0d0b61615
parent 50574 fa727a4d7934
equal deleted inserted replaced
59248:e92153ed8bdc 59249:29b0d0b61615
    30 
    30 
    31 StringDedupQueue* StringDedupQueue::_queue = NULL;
    31 StringDedupQueue* StringDedupQueue::_queue = NULL;
    32 volatile size_t   StringDedupQueue::_claimed_index = 0;
    32 volatile size_t   StringDedupQueue::_claimed_index = 0;
    33 
    33 
    34 size_t StringDedupQueue::claim() {
    34 size_t StringDedupQueue::claim() {
    35   return Atomic::add(size_t(1), &_claimed_index) - 1;
    35   return Atomic::add(&_claimed_index, size_t(1)) - 1;
    36 }
    36 }
    37 
    37 
    38 void StringDedupQueue::unlink_or_oops_do(StringDedupUnlinkOrOopsDoClosure* cl) {
    38 void StringDedupQueue::unlink_or_oops_do(StringDedupUnlinkOrOopsDoClosure* cl) {
    39   size_t claimed_queue = claim();
    39   size_t claimed_queue = claim();
    40   while (claimed_queue < queue()->num_queues()) {
    40   while (claimed_queue < queue()->num_queues()) {