< prev index next >

test/compiler/unsafe/JdkInternalMiscUnsafeAccessTestInt.java

Print this page

        

*** 38,47 **** --- 38,48 ---- import static org.testng.Assert.*; public class JdkInternalMiscUnsafeAccessTestInt { static final int ITERS = Integer.getInteger("iters", 1); + static final int WEAK_ATTEMPTS = Integer.getInteger("weakAttempts", 10); static final jdk.internal.misc.Unsafe UNSAFE; static final long V_OFFSET;
*** 249,274 **** int x = UNSAFE.getInt(base, offset); assertEquals(x, 1, "failing compareAndExchangeRelease int value"); } { ! boolean r = UNSAFE.weakCompareAndSwapInt(base, offset, 1, 2); ! assertEquals(r, true, "weakCompareAndSwap int"); int x = UNSAFE.getInt(base, offset); assertEquals(x, 2, "weakCompareAndSwap int value"); } { ! boolean r = UNSAFE.weakCompareAndSwapIntAcquire(base, offset, 2, 1); ! assertEquals(r, true, "weakCompareAndSwapAcquire int"); int x = UNSAFE.getInt(base, offset); assertEquals(x, 1, "weakCompareAndSwapAcquire int"); } { ! boolean r = UNSAFE.weakCompareAndSwapIntRelease(base, offset, 1, 2); ! assertEquals(r, true, "weakCompareAndSwapRelease int"); int x = UNSAFE.getInt(base, offset); assertEquals(x, 2, "weakCompareAndSwapRelease int"); } // Compare set and get --- 250,284 ---- int x = UNSAFE.getInt(base, offset); assertEquals(x, 1, "failing compareAndExchangeRelease int value"); } { ! boolean success = false; ! for (int c = 0; c < WEAK_ATTEMPTS && !success; c++) { ! success = UNSAFE.weakCompareAndSwapInt(base, offset, 1, 2); ! } ! assertEquals(success, true, "weakCompareAndSwap int"); int x = UNSAFE.getInt(base, offset); assertEquals(x, 2, "weakCompareAndSwap int value"); } { ! boolean success = false; ! for (int c = 0; c < WEAK_ATTEMPTS && !success; c++) { ! success = UNSAFE.weakCompareAndSwapIntAcquire(base, offset, 2, 1); ! } ! assertEquals(success, true, "weakCompareAndSwapAcquire int"); int x = UNSAFE.getInt(base, offset); assertEquals(x, 1, "weakCompareAndSwapAcquire int"); } { ! boolean success = false; ! for (int c = 0; c < WEAK_ATTEMPTS && !success; c++) { ! success = UNSAFE.weakCompareAndSwapIntRelease(base, offset, 1, 2); ! } ! assertEquals(success, true, "weakCompareAndSwapRelease int"); int x = UNSAFE.getInt(base, offset); assertEquals(x, 2, "weakCompareAndSwapRelease int"); } // Compare set and get
*** 284,294 **** // get and add, add and get { int o = UNSAFE.getAndAddInt(base, offset, 2); assertEquals(o, 1, "getAndAdd int"); int x = UNSAFE.getInt(base, offset); ! assertEquals(x, 1 + 2, "weakCompareAndSwapRelease int"); } } static void testAccess(long address) { // Plain --- 294,304 ---- // get and add, add and get { int o = UNSAFE.getAndAddInt(base, offset, 2); assertEquals(o, 1, "getAndAdd int"); int x = UNSAFE.getInt(base, offset); ! assertEquals(x, 1 + 2, "getAndAdd int"); } } static void testAccess(long address) { // Plain
*** 298,303 **** assertEquals(x, 1, "set int value"); } } } - --- 308,312 ----
< prev index next >