< prev index next >

test/compiler/unsafe/JdkInternalMiscUnsafeAccessTestBoolean.java

Print this page




 127             boolean x = UNSAFE.getBooleanVolatile(base, offset);
 128             assertEquals(x, false, "putVolatile boolean value");
 129         }
 130 
 131 
 132         // Lazy
 133         {
 134             UNSAFE.putBooleanRelease(base, offset, true);
 135             boolean x = UNSAFE.getBooleanAcquire(base, offset);
 136             assertEquals(x, true, "putRelease boolean value");
 137         }
 138 
 139         // Opaque
 140         {
 141             UNSAFE.putBooleanOpaque(base, offset, false);
 142             boolean x = UNSAFE.getBooleanOpaque(base, offset);
 143             assertEquals(x, false, "putOpaque boolean value");
 144         }
 145 
 146 













































































































 147 
 148     }
 149 
 150 }
 151 


 127             boolean x = UNSAFE.getBooleanVolatile(base, offset);
 128             assertEquals(x, false, "putVolatile boolean value");
 129         }
 130 
 131 
 132         // Lazy
 133         {
 134             UNSAFE.putBooleanRelease(base, offset, true);
 135             boolean x = UNSAFE.getBooleanAcquire(base, offset);
 136             assertEquals(x, true, "putRelease boolean value");
 137         }
 138 
 139         // Opaque
 140         {
 141             UNSAFE.putBooleanOpaque(base, offset, false);
 142             boolean x = UNSAFE.getBooleanOpaque(base, offset);
 143             assertEquals(x, false, "putOpaque boolean value");
 144         }
 145 
 146 
 147         UNSAFE.putBoolean(base, offset, true);
 148 
 149         // Compare
 150         {
 151             boolean r = UNSAFE.compareAndSwapBoolean(base, offset, true, false);
 152             assertEquals(r, true, "success compareAndSwap boolean");
 153             boolean x = UNSAFE.getBoolean(base, offset);
 154             assertEquals(x, false, "success compareAndSwap boolean value");
 155         }
 156 
 157         {
 158             boolean r = UNSAFE.compareAndSwapBoolean(base, offset, true, false);
 159             assertEquals(r, false, "failing compareAndSwap boolean");
 160             boolean x = UNSAFE.getBoolean(base, offset);
 161             assertEquals(x, false, "failing compareAndSwap boolean value");
 162         }
 163 
 164         // Advanced compare
 165         {
 166             boolean r = UNSAFE.compareAndExchangeBooleanVolatile(base, offset, false, true);
 167             assertEquals(r, false, "success compareAndExchangeVolatile boolean");
 168             boolean x = UNSAFE.getBoolean(base, offset);
 169             assertEquals(x, true, "success compareAndExchangeVolatile boolean value");
 170         }
 171 
 172         {
 173             boolean r = UNSAFE.compareAndExchangeBooleanVolatile(base, offset, false, false);
 174             assertEquals(r, true, "failing compareAndExchangeVolatile boolean");
 175             boolean x = UNSAFE.getBoolean(base, offset);
 176             assertEquals(x, true, "failing compareAndExchangeVolatile boolean value");
 177         }
 178 
 179         {
 180             boolean r = UNSAFE.compareAndExchangeBooleanAcquire(base, offset, true, false);
 181             assertEquals(r, true, "success compareAndExchangeAcquire boolean");
 182             boolean x = UNSAFE.getBoolean(base, offset);
 183             assertEquals(x, false, "success compareAndExchangeAcquire boolean value");
 184         }
 185 
 186         {
 187             boolean r = UNSAFE.compareAndExchangeBooleanAcquire(base, offset, true, false);
 188             assertEquals(r, false, "failing compareAndExchangeAcquire boolean");
 189             boolean x = UNSAFE.getBoolean(base, offset);
 190             assertEquals(x, false, "failing compareAndExchangeAcquire boolean value");
 191         }
 192 
 193         {
 194             boolean r = UNSAFE.compareAndExchangeBooleanRelease(base, offset, false, true);
 195             assertEquals(r, false, "success compareAndExchangeRelease boolean");
 196             boolean x = UNSAFE.getBoolean(base, offset);
 197             assertEquals(x, true, "success compareAndExchangeRelease boolean value");
 198         }
 199 
 200         {
 201             boolean r = UNSAFE.compareAndExchangeBooleanRelease(base, offset, false, false);
 202             assertEquals(r, true, "failing compareAndExchangeRelease boolean");
 203             boolean x = UNSAFE.getBoolean(base, offset);
 204             assertEquals(x, true, "failing compareAndExchangeRelease boolean value");
 205         }
 206 
 207         {
 208             boolean success = false;
 209             for (int c = 0; c < WEAK_ATTEMPTS && !success; c++) {
 210                 success = UNSAFE.weakCompareAndSwapBoolean(base, offset, true, false);
 211             }
 212             assertEquals(success, true, "weakCompareAndSwap boolean");
 213             boolean x = UNSAFE.getBoolean(base, offset);
 214             assertEquals(x, false, "weakCompareAndSwap boolean value");
 215         }
 216 
 217         {
 218             boolean success = false;
 219             for (int c = 0; c < WEAK_ATTEMPTS && !success; c++) {
 220                 success = UNSAFE.weakCompareAndSwapBooleanAcquire(base, offset, false, true);
 221             }
 222             assertEquals(success, true, "weakCompareAndSwapAcquire boolean");
 223             boolean x = UNSAFE.getBoolean(base, offset);
 224             assertEquals(x, true, "weakCompareAndSwapAcquire boolean");
 225         }
 226 
 227         {
 228             boolean success = false;
 229             for (int c = 0; c < WEAK_ATTEMPTS && !success; c++) {
 230                 success = UNSAFE.weakCompareAndSwapBooleanRelease(base, offset, true, false);
 231             }
 232             assertEquals(success, true, "weakCompareAndSwapRelease boolean");
 233             boolean x = UNSAFE.getBoolean(base, offset);
 234             assertEquals(x, false, "weakCompareAndSwapRelease boolean");
 235         }
 236 
 237         {
 238             boolean success = false;
 239             for (int c = 0; c < WEAK_ATTEMPTS && !success; c++) {
 240                 success = UNSAFE.weakCompareAndSwapBooleanVolatile(base, offset, false, true);
 241             }
 242             assertEquals(success, true, "weakCompareAndSwapVolatile boolean");
 243             boolean x = UNSAFE.getBoolean(base, offset);
 244             assertEquals(x, true, "weakCompareAndSwapVolatile boolean");
 245         }
 246 
 247         UNSAFE.putBoolean(base, offset, false);
 248 
 249         // Compare set and get
 250         {
 251             boolean o = UNSAFE.getAndSetBoolean(base, offset, true);
 252             assertEquals(o, false, "getAndSet boolean");
 253             boolean x = UNSAFE.getBoolean(base, offset);
 254             assertEquals(x, true, "getAndSet boolean value");
 255         }
 256 
 257     }
 258 
 259 }
 260 
< prev index next >