< prev index next >

test/compiler/unsafe/SunMiscUnsafeAccessTestLong.java

Print this page

        

*** 143,216 **** } static void testAccess(Object base, long offset) { // Plain { ! UNSAFE.putLong(base, offset, 1L); long x = UNSAFE.getLong(base, offset); ! assertEquals(x, 1L, "set long value"); } // Volatile { ! UNSAFE.putLongVolatile(base, offset, 2L); long x = UNSAFE.getLongVolatile(base, offset); ! assertEquals(x, 2L, "putVolatile long value"); } // Lazy { ! UNSAFE.putOrderedLong(base, offset, 1L); long x = UNSAFE.getLongVolatile(base, offset); ! assertEquals(x, 1L, "putRelease long value"); } ! UNSAFE.putLong(base, offset, 1L); // Compare { ! boolean r = UNSAFE.compareAndSwapLong(base, offset, 1L, 2L); assertEquals(r, true, "success compareAndSwap long"); long x = UNSAFE.getLong(base, offset); ! assertEquals(x, 2L, "success compareAndSwap long value"); } { ! boolean r = UNSAFE.compareAndSwapLong(base, offset, 1L, 3L); assertEquals(r, false, "failing compareAndSwap long"); long x = UNSAFE.getLong(base, offset); ! assertEquals(x, 2L, "failing compareAndSwap long value"); } ! UNSAFE.putLong(base, offset, 2L); // Compare set and get { ! long o = UNSAFE.getAndSetLong(base, offset, 1L); ! assertEquals(o, 2L, "getAndSet long"); long x = UNSAFE.getLong(base, offset); ! assertEquals(x, 1L, "getAndSet long value"); } ! UNSAFE.putLong(base, offset, 1L); // get and add, add and get { ! long o = UNSAFE.getAndAddLong(base, offset, 2L); ! assertEquals(o, 1L, "getAndAdd long"); long x = UNSAFE.getLong(base, offset); ! assertEquals(x, 1L + 2L, "getAndAdd long"); } } static void testAccess(long address) { // Plain { ! UNSAFE.putLong(address, 1L); long x = UNSAFE.getLong(address); ! assertEquals(x, 1L, "set long value"); } } } --- 143,216 ---- } static void testAccess(Object base, long offset) { // Plain { ! UNSAFE.putLong(base, offset, 0x0123456789ABCDEFL); long x = UNSAFE.getLong(base, offset); ! assertEquals(x, 0x0123456789ABCDEFL, "set long value"); } // Volatile { ! UNSAFE.putLongVolatile(base, offset, 0xCAFEBABECAFEBABEL); long x = UNSAFE.getLongVolatile(base, offset); ! assertEquals(x, 0xCAFEBABECAFEBABEL, "putVolatile long value"); } // Lazy { ! UNSAFE.putOrderedLong(base, offset, 0x0123456789ABCDEFL); long x = UNSAFE.getLongVolatile(base, offset); ! assertEquals(x, 0x0123456789ABCDEFL, "putRelease long value"); } ! UNSAFE.putLong(base, offset, 0x0123456789ABCDEFL); // Compare { ! boolean r = UNSAFE.compareAndSwapLong(base, offset, 0x0123456789ABCDEFL, 0xCAFEBABECAFEBABEL); assertEquals(r, true, "success compareAndSwap long"); long x = UNSAFE.getLong(base, offset); ! assertEquals(x, 0xCAFEBABECAFEBABEL, "success compareAndSwap long value"); } { ! boolean r = UNSAFE.compareAndSwapLong(base, offset, 0x0123456789ABCDEFL, 0xDEADBEEFDEADBEEFL); assertEquals(r, false, "failing compareAndSwap long"); long x = UNSAFE.getLong(base, offset); ! assertEquals(x, 0xCAFEBABECAFEBABEL, "failing compareAndSwap long value"); } ! UNSAFE.putLong(base, offset, 0xCAFEBABECAFEBABEL); // Compare set and get { ! long o = UNSAFE.getAndSetLong(base, offset, 0x0123456789ABCDEFL); ! assertEquals(o, 0xCAFEBABECAFEBABEL, "getAndSet long"); long x = UNSAFE.getLong(base, offset); ! assertEquals(x, 0x0123456789ABCDEFL, "getAndSet long value"); } ! UNSAFE.putLong(base, offset, 0x0123456789ABCDEFL); // get and add, add and get { ! long o = UNSAFE.getAndAddLong(base, offset, 0xCAFEBABECAFEBABEL); ! assertEquals(o, 0x0123456789ABCDEFL, "getAndAdd long"); long x = UNSAFE.getLong(base, offset); ! assertEquals(x, (long)(0x0123456789ABCDEFL + 0xCAFEBABECAFEBABEL), "getAndAdd long"); } } static void testAccess(long address) { // Plain { ! UNSAFE.putLong(address, 0x0123456789ABCDEFL); long x = UNSAFE.getLong(address); ! assertEquals(x, 0x0123456789ABCDEFL, "set long value"); } } }
< prev index next >