< prev index next >

test/compiler/unsafe/JdkInternalMiscUnsafeAccessTestObject.java

Print this page

        

*** 38,47 **** --- 38,48 ---- import static org.testng.Assert.*; public class JdkInternalMiscUnsafeAccessTestObject { 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;
*** 202,227 **** Object x = UNSAFE.getObject(base, offset); assertEquals(x, "foo", "failing compareAndExchangeRelease Object value"); } { ! boolean r = UNSAFE.weakCompareAndSwapObject(base, offset, "foo", "bar"); ! assertEquals(r, true, "weakCompareAndSwap Object"); Object x = UNSAFE.getObject(base, offset); assertEquals(x, "bar", "weakCompareAndSwap Object value"); } { ! boolean r = UNSAFE.weakCompareAndSwapObjectAcquire(base, offset, "bar", "foo"); ! assertEquals(r, true, "weakCompareAndSwapAcquire Object"); Object x = UNSAFE.getObject(base, offset); assertEquals(x, "foo", "weakCompareAndSwapAcquire Object"); } { ! boolean r = UNSAFE.weakCompareAndSwapObjectRelease(base, offset, "foo", "bar"); ! assertEquals(r, true, "weakCompareAndSwapRelease Object"); Object x = UNSAFE.getObject(base, offset); assertEquals(x, "bar", "weakCompareAndSwapRelease Object"); } // Compare set and get --- 203,237 ---- Object x = UNSAFE.getObject(base, offset); assertEquals(x, "foo", "failing compareAndExchangeRelease Object value"); } { ! boolean success = false; ! for (int c = 0; c < WEAK_ATTEMPTS && !success; c++) { ! success = UNSAFE.weakCompareAndSwapObject(base, offset, "foo", "bar"); ! } ! assertEquals(success, true, "weakCompareAndSwap Object"); Object x = UNSAFE.getObject(base, offset); assertEquals(x, "bar", "weakCompareAndSwap Object value"); } { ! boolean success = false; ! for (int c = 0; c < WEAK_ATTEMPTS && !success; c++) { ! success = UNSAFE.weakCompareAndSwapObjectAcquire(base, offset, "bar", "foo"); ! } ! assertEquals(success, true, "weakCompareAndSwapAcquire Object"); Object x = UNSAFE.getObject(base, offset); assertEquals(x, "foo", "weakCompareAndSwapAcquire Object"); } { ! boolean success = false; ! for (int c = 0; c < WEAK_ATTEMPTS && !success; c++) { ! success = UNSAFE.weakCompareAndSwapObjectRelease(base, offset, "foo", "bar"); ! } ! assertEquals(success, true, "weakCompareAndSwapRelease Object"); Object x = UNSAFE.getObject(base, offset); assertEquals(x, "bar", "weakCompareAndSwapRelease Object"); } // Compare set and get
*** 234,239 **** } } - --- 244,248 ----
< prev index next >