src/hotspot/share/classfile/classLoaderData.cpp
changeset 59252 623722a6aeb9
parent 59247 56bf71d64d51
child 59290 97d13893ec3c
equal deleted inserted replaced
59251:4cbfa5077d68 59252:623722a6aeb9
   271     int old_claim = Atomic::load(&_claim);
   271     int old_claim = Atomic::load(&_claim);
   272     if ((old_claim & claim) == 0) {
   272     if ((old_claim & claim) == 0) {
   273       return;
   273       return;
   274     }
   274     }
   275     int new_claim = old_claim & ~claim;
   275     int new_claim = old_claim & ~claim;
   276     if (Atomic::cmpxchg(new_claim, &_claim, old_claim) == old_claim) {
   276     if (Atomic::cmpxchg(&_claim, old_claim, new_claim) == old_claim) {
   277       return;
   277       return;
   278     }
   278     }
   279   }
   279   }
   280 }
   280 }
   281 
   281 
   284     int old_claim = Atomic::load(&_claim);
   284     int old_claim = Atomic::load(&_claim);
   285     if ((old_claim & claim) == claim) {
   285     if ((old_claim & claim) == claim) {
   286       return false;
   286       return false;
   287     }
   287     }
   288     int new_claim = old_claim | claim;
   288     int new_claim = old_claim | claim;
   289     if (Atomic::cmpxchg(new_claim, &_claim, old_claim) == old_claim) {
   289     if (Atomic::cmpxchg(&_claim, old_claim, new_claim) == old_claim) {
   290       return true;
   290       return true;
   291     }
   291     }
   292   }
   292   }
   293 }
   293 }
   294 
   294