--- a/jdk/src/java.base/share/classes/java/lang/invoke/VarHandle.java Thu Sep 01 10:16:57 2016 -0700
+++ b/jdk/src/java.base/share/classes/java/lang/invoke/VarHandle.java Thu Sep 01 10:17:01 2016 -0700
@@ -1172,39 +1172,6 @@
@HotSpotIntrinsicCandidate
Object getAndAddRelease(Object... args);
- /**
- * Atomically adds the {@code value} to the current value of a variable with
- * the memory semantics of {@link #setVolatile}, and returns the variable's
- * current (updated) value, as accessed with the memory semantics of
- * {@link #getVolatile}.
- *
- * <p>The method signature is of the form {@code (CT, T value)T}.
- *
- * <p>The symbolic type descriptor at the call site of {@code addAndGet}
- * must match the access mode type that is the result of calling
- * {@code accessModeType(VarHandle.AccessMode.ADD_AND_GET)} on this
- * VarHandle.
- *
- * @param args the signature-polymorphic parameter list of the form
- * {@code (CT, T value)}
- * , statically represented using varargs.
- * @return the signature-polymorphic result that is the current value of
- * the variable
- * , statically represented using {@code Object}.
- * @throws UnsupportedOperationException if the access mode is unsupported
- * for this VarHandle.
- * @throws WrongMethodTypeException if the access mode type is not
- * compatible with the caller's symbolic type descriptor.
- * @throws ClassCastException if the access mode type is compatible with the
- * caller's symbolic type descriptor, but a reference cast fails.
- * @see #setVolatile(Object...)
- * @see #getVolatile(Object...)
- */
- public final native
- @MethodHandle.PolymorphicSignature
- @HotSpotIntrinsicCandidate
- Object addAndGet(Object... args);
-
// Bitwise operations
// Throw UnsupportedOperationException for refs
@@ -1751,12 +1718,6 @@
/**
* The access mode whose access is specified by the corresponding
* method
- * {@link VarHandle#addAndGet VarHandle.addAndGet}
- */
- ADD_AND_GET("addAndGet", AccessType.GET_AND_UPDATE),
- /**
- * The access mode whose access is specified by the corresponding
- * method
* {@link VarHandle#getAndBitwiseOr VarHandle.getAndBitwiseOr}
*/
GET_AND_BITWISE_OR("getAndBitwiseOr", AccessType.GET_AND_UPDATE),
--- a/jdk/src/java.base/share/classes/java/lang/invoke/X-VarHandle.java.template Thu Sep 01 10:16:57 2016 -0700
+++ b/jdk/src/java.base/share/classes/java/lang/invoke/X-VarHandle.java.template Thu Sep 01 10:17:01 2016 -0700
@@ -231,12 +231,6 @@
value);
}
- @ForceInline
- static $type$ addAndGet(FieldInstanceReadWrite handle, Object holder, $type$ value) {
- return {#if[ShorterThanInt]?($type$)}(UNSAFE.getAndAdd$Type$(Objects.requireNonNull(handle.receiverType.cast(holder)),
- handle.fieldOffset,
- value) + value);
- }
#end[AtomicAdd]
#if[Bitwise]
@@ -504,13 +498,6 @@
handle.fieldOffset,
value);
}
-
- @ForceInline
- static $type$ addAndGet(FieldStaticReadWrite handle, $type$ value) {
- return {#if[ShorterThanInt]?($type$)}(UNSAFE.getAndAdd$Type$(handle.base,
- handle.fieldOffset,
- value) + value);
- }
#end[AtomicAdd]
#if[Bitwise]
@@ -860,14 +847,6 @@
(((long) Preconditions.checkIndex(index, array.length, AIOOBE_SUPPLIER)) << handle.ashift) + handle.abase,
value);
}
-
- @ForceInline
- static $type$ addAndGet(Array handle, Object oarray, int index, $type$ value) {
- $type$[] array = ($type$[]) oarray;
- return {#if[ShorterThanInt]?($type$)}(UNSAFE.getAndAdd$Type$(array,
- (((long) Preconditions.checkIndex(index, array.length, AIOOBE_SUPPLIER)) << handle.ashift) + handle.abase,
- value) + value);
- }
#end[AtomicAdd]
#if[Bitwise]
--- a/jdk/src/java.base/share/classes/java/lang/invoke/X-VarHandleByteArrayView.java.template Thu Sep 01 10:16:57 2016 -0700
+++ b/jdk/src/java.base/share/classes/java/lang/invoke/X-VarHandleByteArrayView.java.template Thu Sep 01 10:17:01 2016 -0700
@@ -340,11 +340,6 @@
nativeExpectedValue, $RawBoxType$.reverseBytes(expectedValue + delta)));
return expectedValue;
}
-
- @ForceInline
- static $type$ addAndGet(ArrayHandle handle, Object oba, int index, $type$ delta) {
- return getAndAdd(handle, oba, index, delta) + delta;
- }
#end[AtomicAdd]
#if[Bitwise]
@@ -785,11 +780,6 @@
nativeExpectedValue, $RawBoxType$.reverseBytes(expectedValue + delta)));
return expectedValue;
}
-
- @ForceInline
- static $type$ addAndGet(ByteBufferHandle handle, Object obb, int index, $type$ delta) {
- return getAndAdd(handle, obb, index, delta) + delta;
- }
#end[AtomicAdd]
#if[Bitwise]
--- a/jdk/src/java.base/share/classes/java/util/concurrent/atomic/AtomicInteger.java Thu Sep 01 10:16:57 2016 -0700
+++ b/jdk/src/java.base/share/classes/java/util/concurrent/atomic/AtomicInteger.java Thu Sep 01 10:17:01 2016 -0700
@@ -217,7 +217,7 @@
/**
* Atomically adds the given value to the current value,
- * with memory effects as specified by {@link VarHandle#addAndGet}.
+ * with memory effects as specified by {@link VarHandle#getAndAdd}.
*
* @param delta the value to add
* @return the updated value
--- a/jdk/src/java.base/share/classes/java/util/concurrent/atomic/AtomicIntegerArray.java Thu Sep 01 10:16:57 2016 -0700
+++ b/jdk/src/java.base/share/classes/java/util/concurrent/atomic/AtomicIntegerArray.java Thu Sep 01 10:17:01 2016 -0700
@@ -200,7 +200,7 @@
/**
* Atomically increments the value of the element at index {@code i},
- * with memory effects as specified by {@link VarHandle#addAndGet}.
+ * with memory effects as specified by {@link VarHandle#getAndAdd}.
*
* <p>Equivalent to {@code addAndGet(i, 1)}.
*
@@ -208,12 +208,12 @@
* @return the updated value
*/
public final int incrementAndGet(int i) {
- return (int)AA.addAndGet(array, i, 1);
+ return (int)AA.getAndAdd(array, i, 1) + 1;
}
/**
* Atomically decrements the value of the element at index {@code i},
- * with memory effects as specified by {@link VarHandle#addAndGet}.
+ * with memory effects as specified by {@link VarHandle#getAndAdd}.
*
* <p>Equivalent to {@code addAndGet(i, -1)}.
*
@@ -221,19 +221,19 @@
* @return the updated value
*/
public final int decrementAndGet(int i) {
- return (int)AA.addAndGet(array, i, -1);
+ return (int)AA.getAndAdd(array, i, -1) - 1;
}
/**
* Atomically adds the given value to the element at index {@code i},
- * with memory effects as specified by {@link VarHandle#addAndGet}.
+ * with memory effects as specified by {@link VarHandle#getAndAdd}.
*
* @param i the index
* @param delta the value to add
* @return the updated value
*/
public final int addAndGet(int i, int delta) {
- return (int)AA.addAndGet(array, i, delta);
+ return (int)AA.getAndAdd(array, i, delta) + delta;
}
/**
--- a/jdk/src/java.base/share/classes/java/util/concurrent/atomic/AtomicLong.java Thu Sep 01 10:16:57 2016 -0700
+++ b/jdk/src/java.base/share/classes/java/util/concurrent/atomic/AtomicLong.java Thu Sep 01 10:17:01 2016 -0700
@@ -209,7 +209,7 @@
/**
* Atomically increments the current value,
- * with memory effects as specified by {@link VarHandle#addAndGet}.
+ * with memory effects as specified by {@link VarHandle#getAndAdd}.
*
* <p>Equivalent to {@code addAndGet(1)}.
*
@@ -221,7 +221,7 @@
/**
* Atomically decrements the current value,
- * with memory effects as specified by {@link VarHandle#addAndGet}.
+ * with memory effects as specified by {@link VarHandle#getAndAdd}.
*
* <p>Equivalent to {@code addAndGet(-1)}.
*
@@ -233,7 +233,7 @@
/**
* Atomically adds the given value to the current value,
- * with memory effects as specified by {@link VarHandle#addAndGet}.
+ * with memory effects as specified by {@link VarHandle#getAndAdd}.
*
* @param delta the value to add
* @return the updated value
--- a/jdk/src/java.base/share/classes/java/util/concurrent/atomic/AtomicLongArray.java Thu Sep 01 10:16:57 2016 -0700
+++ b/jdk/src/java.base/share/classes/java/util/concurrent/atomic/AtomicLongArray.java Thu Sep 01 10:17:01 2016 -0700
@@ -200,7 +200,7 @@
/**
* Atomically increments the value of the element at index {@code i},
- * with memory effects as specified by {@link VarHandle#addAndGet}.
+ * with memory effects as specified by {@link VarHandle#getAndAdd}.
*
* <p>Equivalent to {@code addAndGet(i, 1)}.
*
@@ -208,12 +208,12 @@
* @return the updated value
*/
public final long incrementAndGet(int i) {
- return (long)AA.addAndGet(array, i, 1L);
+ return (long)AA.getAndAdd(array, i, 1L) + 1L;
}
/**
* Atomically decrements the value of the element at index {@code i},
- * with memory effects as specified by {@link VarHandle#addAndGet}.
+ * with memory effects as specified by {@link VarHandle#getAndAdd}.
*
* <p>Equivalent to {@code addAndGet(i, -1)}.
*
@@ -221,19 +221,19 @@
* @return the updated value
*/
public final long decrementAndGet(int i) {
- return (long)AA.addAndGet(array, i, -1L);
+ return (long)AA.getAndAdd(array, i, -1L) - 1L;
}
/**
* Atomically adds the given value to the element at index {@code i},
- * with memory effects as specified by {@link VarHandle#addAndGet}.
+ * with memory effects as specified by {@link VarHandle#getAndAdd}.
*
* @param i the index
* @param delta the value to add
* @return the updated value
*/
public long addAndGet(int i, long delta) {
- return (long)AA.addAndGet(array, i, delta);
+ return (long)AA.getAndAdd(array, i, delta) + delta;
}
/**
--- a/jdk/test/java/lang/invoke/VarHandles/VarHandleBaseTest.java Thu Sep 01 10:16:57 2016 -0700
+++ b/jdk/test/java/lang/invoke/VarHandles/VarHandleBaseTest.java Thu Sep 01 10:17:01 2016 -0700
@@ -159,7 +159,6 @@
GET_AND_ADD(TestAccessType.GET_AND_ADD),
GET_AND_ADD_ACQUIRE(TestAccessType.GET_AND_ADD),
GET_AND_ADD_RELEASE(TestAccessType.GET_AND_ADD),
- ADD_AND_GET(TestAccessType.GET_AND_ADD),
GET_AND_BITWISE_OR(TestAccessType.GET_AND_BITWISE),
GET_AND_BITWISE_OR_ACQUIRE(TestAccessType.GET_AND_BITWISE),
GET_AND_BITWISE_OR_RELEASE(TestAccessType.GET_AND_BITWISE),
--- a/jdk/test/java/lang/invoke/VarHandles/VarHandleTestAccessBoolean.java Thu Sep 01 10:16:57 2016 -0700
+++ b/jdk/test/java/lang/invoke/VarHandles/VarHandleTestAccessBoolean.java Thu Sep 01 10:17:01 2016 -0700
@@ -114,7 +114,6 @@
assertFalse(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD));
assertFalse(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD_ACQUIRE));
assertFalse(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD_RELEASE));
- assertFalse(vh.isAccessModeSupported(VarHandle.AccessMode.ADD_AND_GET));
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_BITWISE_OR));
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_BITWISE_OR_ACQUIRE));
@@ -287,10 +286,6 @@
boolean o = (boolean) vh.getAndAddRelease(recv, true);
});
- checkUOE(() -> {
- boolean o = (boolean) vh.addAndGet(recv, true);
- });
-
}
@@ -351,10 +346,6 @@
boolean o = (boolean) vh.getAndAddRelease(true);
});
- checkUOE(() -> {
- boolean o = (boolean) vh.addAndGet(true);
- });
-
}
@@ -615,10 +606,6 @@
boolean o = (boolean) vh.getAndAddRelease(recv, true);
});
- checkUOE(() -> {
- boolean o = (boolean) vh.addAndGet(recv, true);
- });
-
}
@@ -879,10 +866,6 @@
boolean o = (boolean) vh.getAndAddRelease(true);
});
- checkUOE(() -> {
- boolean o = (boolean) vh.addAndGet(true);
- });
-
}
@@ -1150,10 +1133,6 @@
boolean o = (boolean) vh.getAndAddRelease(array, i, true);
});
- checkUOE(() -> {
- boolean o = (boolean) vh.addAndGet(array, i, true);
- });
-
}
static void testArrayIndexOutOfBounds(VarHandle vh) throws Throwable {
--- a/jdk/test/java/lang/invoke/VarHandles/VarHandleTestAccessByte.java Thu Sep 01 10:16:57 2016 -0700
+++ b/jdk/test/java/lang/invoke/VarHandles/VarHandleTestAccessByte.java Thu Sep 01 10:17:01 2016 -0700
@@ -114,7 +114,6 @@
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD));
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD_ACQUIRE));
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD_RELEASE));
- assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.ADD_AND_GET));
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_BITWISE_OR));
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_BITWISE_OR_ACQUIRE));
@@ -489,10 +488,10 @@
{
vh.set(recv, (byte)0x01);
- byte o = (byte) vh.getAndAdd(recv, (byte)0x45);
+ byte o = (byte) vh.getAndAdd(recv, (byte)0x23);
assertEquals(o, (byte)0x01, "getAndAdd byte");
- byte c = (byte) vh.addAndGet(recv, (byte)0x45);
- assertEquals(c, (byte)((byte)0x01 + (byte)0x45 + (byte)0x45), "getAndAdd byte value");
+ byte x = (byte) vh.get(recv);
+ assertEquals(x, (byte)((byte)0x01 + (byte)0x23), "getAndAdd byte value");
}
{
@@ -765,10 +764,10 @@
{
vh.set((byte)0x01);
- byte o = (byte) vh.getAndAdd( (byte)0x45);
+ byte o = (byte) vh.getAndAdd((byte)0x23);
assertEquals(o, (byte)0x01, "getAndAdd byte");
- byte c = (byte) vh.addAndGet((byte)0x45);
- assertEquals(c, (byte)((byte)0x01 + (byte)0x45 + (byte)0x45), "getAndAdd byte value");
+ byte x = (byte) vh.get();
+ assertEquals(x, (byte)((byte)0x01 + (byte)0x23), "getAndAdd byte value");
}
{
@@ -1044,10 +1043,10 @@
{
vh.set(array, i, (byte)0x01);
- byte o = (byte) vh.getAndAdd(array, i, (byte)0x45);
+ byte o = (byte) vh.getAndAdd(array, i, (byte)0x23);
assertEquals(o, (byte)0x01, "getAndAdd byte");
- byte c = (byte) vh.addAndGet(array, i, (byte)0x45);
- assertEquals(c, (byte)((byte)0x01 + (byte)0x45 + (byte)0x45), "getAndAdd byte value");
+ byte x = (byte) vh.get(array, i);
+ assertEquals(x, (byte)((byte)0x01 + (byte)0x23), "getAndAdd byte value");
}
{
@@ -1257,10 +1256,6 @@
});
checkIOOBE(() -> {
- byte o = (byte) vh.addAndGet(array, ci, (byte)0x01);
- });
-
- checkIOOBE(() -> {
byte o = (byte) vh.getAndBitwiseOr(array, ci, (byte)0x01);
});
--- a/jdk/test/java/lang/invoke/VarHandles/VarHandleTestAccessChar.java Thu Sep 01 10:16:57 2016 -0700
+++ b/jdk/test/java/lang/invoke/VarHandles/VarHandleTestAccessChar.java Thu Sep 01 10:17:01 2016 -0700
@@ -114,7 +114,6 @@
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD));
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD_ACQUIRE));
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD_RELEASE));
- assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.ADD_AND_GET));
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_BITWISE_OR));
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_BITWISE_OR_ACQUIRE));
@@ -489,10 +488,10 @@
{
vh.set(recv, '\u0123');
- char o = (char) vh.getAndAdd(recv, '\u89AB');
+ char o = (char) vh.getAndAdd(recv, '\u4567');
assertEquals(o, '\u0123', "getAndAdd char");
- char c = (char) vh.addAndGet(recv, '\u89AB');
- assertEquals(c, (char)('\u0123' + '\u89AB' + '\u89AB'), "getAndAdd char value");
+ char x = (char) vh.get(recv);
+ assertEquals(x, (char)('\u0123' + '\u4567'), "getAndAdd char value");
}
{
@@ -765,10 +764,10 @@
{
vh.set('\u0123');
- char o = (char) vh.getAndAdd( '\u89AB');
+ char o = (char) vh.getAndAdd('\u4567');
assertEquals(o, '\u0123', "getAndAdd char");
- char c = (char) vh.addAndGet('\u89AB');
- assertEquals(c, (char)('\u0123' + '\u89AB' + '\u89AB'), "getAndAdd char value");
+ char x = (char) vh.get();
+ assertEquals(x, (char)('\u0123' + '\u4567'), "getAndAdd char value");
}
{
@@ -1044,10 +1043,10 @@
{
vh.set(array, i, '\u0123');
- char o = (char) vh.getAndAdd(array, i, '\u89AB');
+ char o = (char) vh.getAndAdd(array, i, '\u4567');
assertEquals(o, '\u0123', "getAndAdd char");
- char c = (char) vh.addAndGet(array, i, '\u89AB');
- assertEquals(c, (char)('\u0123' + '\u89AB' + '\u89AB'), "getAndAdd char value");
+ char x = (char) vh.get(array, i);
+ assertEquals(x, (char)('\u0123' + '\u4567'), "getAndAdd char value");
}
{
@@ -1257,10 +1256,6 @@
});
checkIOOBE(() -> {
- char o = (char) vh.addAndGet(array, ci, '\u0123');
- });
-
- checkIOOBE(() -> {
char o = (char) vh.getAndBitwiseOr(array, ci, '\u0123');
});
--- a/jdk/test/java/lang/invoke/VarHandles/VarHandleTestAccessDouble.java Thu Sep 01 10:16:57 2016 -0700
+++ b/jdk/test/java/lang/invoke/VarHandles/VarHandleTestAccessDouble.java Thu Sep 01 10:17:01 2016 -0700
@@ -114,7 +114,6 @@
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD));
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD_ACQUIRE));
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD_RELEASE));
- assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.ADD_AND_GET));
assertFalse(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_BITWISE_OR));
assertFalse(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_BITWISE_OR_ACQUIRE));
@@ -559,10 +558,10 @@
{
vh.set(recv, 1.0d);
- double o = (double) vh.getAndAdd(recv, 3.0d);
+ double o = (double) vh.getAndAdd(recv, 2.0d);
assertEquals(o, 1.0d, "getAndAdd double");
- double c = (double) vh.addAndGet(recv, 3.0d);
- assertEquals(c, (double)(1.0d + 3.0d + 3.0d), "getAndAdd double value");
+ double x = (double) vh.get(recv);
+ assertEquals(x, (double)(1.0d + 2.0d), "getAndAdd double value");
}
{
@@ -787,10 +786,10 @@
{
vh.set(1.0d);
- double o = (double) vh.getAndAdd( 3.0d);
+ double o = (double) vh.getAndAdd(2.0d);
assertEquals(o, 1.0d, "getAndAdd double");
- double c = (double) vh.addAndGet(3.0d);
- assertEquals(c, (double)(1.0d + 3.0d + 3.0d), "getAndAdd double value");
+ double x = (double) vh.get();
+ assertEquals(x, (double)(1.0d + 2.0d), "getAndAdd double value");
}
{
@@ -1018,10 +1017,10 @@
{
vh.set(array, i, 1.0d);
- double o = (double) vh.getAndAdd(array, i, 3.0d);
+ double o = (double) vh.getAndAdd(array, i, 2.0d);
assertEquals(o, 1.0d, "getAndAdd double");
- double c = (double) vh.addAndGet(array, i, 3.0d);
- assertEquals(c, (double)(1.0d + 3.0d + 3.0d), "getAndAdd double value");
+ double x = (double) vh.get(array, i);
+ assertEquals(x, (double)(1.0d + 2.0d), "getAndAdd double value");
}
{
@@ -1182,10 +1181,6 @@
double o = (double) vh.getAndAddRelease(array, ci, 1.0d);
});
- checkIOOBE(() -> {
- double o = (double) vh.addAndGet(array, ci, 1.0d);
- });
-
}
}
}
--- a/jdk/test/java/lang/invoke/VarHandles/VarHandleTestAccessFloat.java Thu Sep 01 10:16:57 2016 -0700
+++ b/jdk/test/java/lang/invoke/VarHandles/VarHandleTestAccessFloat.java Thu Sep 01 10:17:01 2016 -0700
@@ -114,7 +114,6 @@
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD));
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD_ACQUIRE));
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD_RELEASE));
- assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.ADD_AND_GET));
assertFalse(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_BITWISE_OR));
assertFalse(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_BITWISE_OR_ACQUIRE));
@@ -559,10 +558,10 @@
{
vh.set(recv, 1.0f);
- float o = (float) vh.getAndAdd(recv, 3.0f);
+ float o = (float) vh.getAndAdd(recv, 2.0f);
assertEquals(o, 1.0f, "getAndAdd float");
- float c = (float) vh.addAndGet(recv, 3.0f);
- assertEquals(c, (float)(1.0f + 3.0f + 3.0f), "getAndAdd float value");
+ float x = (float) vh.get(recv);
+ assertEquals(x, (float)(1.0f + 2.0f), "getAndAdd float value");
}
{
@@ -787,10 +786,10 @@
{
vh.set(1.0f);
- float o = (float) vh.getAndAdd( 3.0f);
+ float o = (float) vh.getAndAdd(2.0f);
assertEquals(o, 1.0f, "getAndAdd float");
- float c = (float) vh.addAndGet(3.0f);
- assertEquals(c, (float)(1.0f + 3.0f + 3.0f), "getAndAdd float value");
+ float x = (float) vh.get();
+ assertEquals(x, (float)(1.0f + 2.0f), "getAndAdd float value");
}
{
@@ -1018,10 +1017,10 @@
{
vh.set(array, i, 1.0f);
- float o = (float) vh.getAndAdd(array, i, 3.0f);
+ float o = (float) vh.getAndAdd(array, i, 2.0f);
assertEquals(o, 1.0f, "getAndAdd float");
- float c = (float) vh.addAndGet(array, i, 3.0f);
- assertEquals(c, (float)(1.0f + 3.0f + 3.0f), "getAndAdd float value");
+ float x = (float) vh.get(array, i);
+ assertEquals(x, (float)(1.0f + 2.0f), "getAndAdd float value");
}
{
@@ -1182,10 +1181,6 @@
float o = (float) vh.getAndAddRelease(array, ci, 1.0f);
});
- checkIOOBE(() -> {
- float o = (float) vh.addAndGet(array, ci, 1.0f);
- });
-
}
}
}
--- a/jdk/test/java/lang/invoke/VarHandles/VarHandleTestAccessInt.java Thu Sep 01 10:16:57 2016 -0700
+++ b/jdk/test/java/lang/invoke/VarHandles/VarHandleTestAccessInt.java Thu Sep 01 10:17:01 2016 -0700
@@ -114,7 +114,6 @@
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD));
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD_ACQUIRE));
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD_RELEASE));
- assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.ADD_AND_GET));
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_BITWISE_OR));
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_BITWISE_OR_ACQUIRE));
@@ -489,10 +488,10 @@
{
vh.set(recv, 0x01234567);
- int o = (int) vh.getAndAdd(recv, 0xCAFEBABE);
+ int o = (int) vh.getAndAdd(recv, 0x89ABCDEF);
assertEquals(o, 0x01234567, "getAndAdd int");
- int c = (int) vh.addAndGet(recv, 0xCAFEBABE);
- assertEquals(c, (int)(0x01234567 + 0xCAFEBABE + 0xCAFEBABE), "getAndAdd int value");
+ int x = (int) vh.get(recv);
+ assertEquals(x, (int)(0x01234567 + 0x89ABCDEF), "getAndAdd int value");
}
{
@@ -765,10 +764,10 @@
{
vh.set(0x01234567);
- int o = (int) vh.getAndAdd( 0xCAFEBABE);
+ int o = (int) vh.getAndAdd(0x89ABCDEF);
assertEquals(o, 0x01234567, "getAndAdd int");
- int c = (int) vh.addAndGet(0xCAFEBABE);
- assertEquals(c, (int)(0x01234567 + 0xCAFEBABE + 0xCAFEBABE), "getAndAdd int value");
+ int x = (int) vh.get();
+ assertEquals(x, (int)(0x01234567 + 0x89ABCDEF), "getAndAdd int value");
}
{
@@ -1044,10 +1043,10 @@
{
vh.set(array, i, 0x01234567);
- int o = (int) vh.getAndAdd(array, i, 0xCAFEBABE);
+ int o = (int) vh.getAndAdd(array, i, 0x89ABCDEF);
assertEquals(o, 0x01234567, "getAndAdd int");
- int c = (int) vh.addAndGet(array, i, 0xCAFEBABE);
- assertEquals(c, (int)(0x01234567 + 0xCAFEBABE + 0xCAFEBABE), "getAndAdd int value");
+ int x = (int) vh.get(array, i);
+ assertEquals(x, (int)(0x01234567 + 0x89ABCDEF), "getAndAdd int value");
}
{
@@ -1257,10 +1256,6 @@
});
checkIOOBE(() -> {
- int o = (int) vh.addAndGet(array, ci, 0x01234567);
- });
-
- checkIOOBE(() -> {
int o = (int) vh.getAndBitwiseOr(array, ci, 0x01234567);
});
--- a/jdk/test/java/lang/invoke/VarHandles/VarHandleTestAccessLong.java Thu Sep 01 10:16:57 2016 -0700
+++ b/jdk/test/java/lang/invoke/VarHandles/VarHandleTestAccessLong.java Thu Sep 01 10:17:01 2016 -0700
@@ -114,7 +114,6 @@
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD));
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD_ACQUIRE));
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD_RELEASE));
- assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.ADD_AND_GET));
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_BITWISE_OR));
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_BITWISE_OR_ACQUIRE));
@@ -489,10 +488,10 @@
{
vh.set(recv, 0x0123456789ABCDEFL);
- long o = (long) vh.getAndAdd(recv, 0xDEADBEEFDEADBEEFL);
+ long o = (long) vh.getAndAdd(recv, 0xCAFEBABECAFEBABEL);
assertEquals(o, 0x0123456789ABCDEFL, "getAndAdd long");
- long c = (long) vh.addAndGet(recv, 0xDEADBEEFDEADBEEFL);
- assertEquals(c, (long)(0x0123456789ABCDEFL + 0xDEADBEEFDEADBEEFL + 0xDEADBEEFDEADBEEFL), "getAndAdd long value");
+ long x = (long) vh.get(recv);
+ assertEquals(x, (long)(0x0123456789ABCDEFL + 0xCAFEBABECAFEBABEL), "getAndAdd long value");
}
{
@@ -765,10 +764,10 @@
{
vh.set(0x0123456789ABCDEFL);
- long o = (long) vh.getAndAdd( 0xDEADBEEFDEADBEEFL);
+ long o = (long) vh.getAndAdd(0xCAFEBABECAFEBABEL);
assertEquals(o, 0x0123456789ABCDEFL, "getAndAdd long");
- long c = (long) vh.addAndGet(0xDEADBEEFDEADBEEFL);
- assertEquals(c, (long)(0x0123456789ABCDEFL + 0xDEADBEEFDEADBEEFL + 0xDEADBEEFDEADBEEFL), "getAndAdd long value");
+ long x = (long) vh.get();
+ assertEquals(x, (long)(0x0123456789ABCDEFL + 0xCAFEBABECAFEBABEL), "getAndAdd long value");
}
{
@@ -1044,10 +1043,10 @@
{
vh.set(array, i, 0x0123456789ABCDEFL);
- long o = (long) vh.getAndAdd(array, i, 0xDEADBEEFDEADBEEFL);
+ long o = (long) vh.getAndAdd(array, i, 0xCAFEBABECAFEBABEL);
assertEquals(o, 0x0123456789ABCDEFL, "getAndAdd long");
- long c = (long) vh.addAndGet(array, i, 0xDEADBEEFDEADBEEFL);
- assertEquals(c, (long)(0x0123456789ABCDEFL + 0xDEADBEEFDEADBEEFL + 0xDEADBEEFDEADBEEFL), "getAndAdd long value");
+ long x = (long) vh.get(array, i);
+ assertEquals(x, (long)(0x0123456789ABCDEFL + 0xCAFEBABECAFEBABEL), "getAndAdd long value");
}
{
@@ -1257,10 +1256,6 @@
});
checkIOOBE(() -> {
- long o = (long) vh.addAndGet(array, ci, 0x0123456789ABCDEFL);
- });
-
- checkIOOBE(() -> {
long o = (long) vh.getAndBitwiseOr(array, ci, 0x0123456789ABCDEFL);
});
--- a/jdk/test/java/lang/invoke/VarHandles/VarHandleTestAccessShort.java Thu Sep 01 10:16:57 2016 -0700
+++ b/jdk/test/java/lang/invoke/VarHandles/VarHandleTestAccessShort.java Thu Sep 01 10:17:01 2016 -0700
@@ -114,7 +114,6 @@
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD));
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD_ACQUIRE));
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD_RELEASE));
- assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.ADD_AND_GET));
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_BITWISE_OR));
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_BITWISE_OR_ACQUIRE));
@@ -489,10 +488,10 @@
{
vh.set(recv, (short)0x0123);
- short o = (short) vh.getAndAdd(recv, (short)0x89AB);
+ short o = (short) vh.getAndAdd(recv, (short)0x4567);
assertEquals(o, (short)0x0123, "getAndAdd short");
- short c = (short) vh.addAndGet(recv, (short)0x89AB);
- assertEquals(c, (short)((short)0x0123 + (short)0x89AB + (short)0x89AB), "getAndAdd short value");
+ short x = (short) vh.get(recv);
+ assertEquals(x, (short)((short)0x0123 + (short)0x4567), "getAndAdd short value");
}
{
@@ -765,10 +764,10 @@
{
vh.set((short)0x0123);
- short o = (short) vh.getAndAdd( (short)0x89AB);
+ short o = (short) vh.getAndAdd((short)0x4567);
assertEquals(o, (short)0x0123, "getAndAdd short");
- short c = (short) vh.addAndGet((short)0x89AB);
- assertEquals(c, (short)((short)0x0123 + (short)0x89AB + (short)0x89AB), "getAndAdd short value");
+ short x = (short) vh.get();
+ assertEquals(x, (short)((short)0x0123 + (short)0x4567), "getAndAdd short value");
}
{
@@ -1044,10 +1043,10 @@
{
vh.set(array, i, (short)0x0123);
- short o = (short) vh.getAndAdd(array, i, (short)0x89AB);
+ short o = (short) vh.getAndAdd(array, i, (short)0x4567);
assertEquals(o, (short)0x0123, "getAndAdd short");
- short c = (short) vh.addAndGet(array, i, (short)0x89AB);
- assertEquals(c, (short)((short)0x0123 + (short)0x89AB + (short)0x89AB), "getAndAdd short value");
+ short x = (short) vh.get(array, i);
+ assertEquals(x, (short)((short)0x0123 + (short)0x4567), "getAndAdd short value");
}
{
@@ -1257,10 +1256,6 @@
});
checkIOOBE(() -> {
- short o = (short) vh.addAndGet(array, ci, (short)0x0123);
- });
-
- checkIOOBE(() -> {
short o = (short) vh.getAndBitwiseOr(array, ci, (short)0x0123);
});
--- a/jdk/test/java/lang/invoke/VarHandles/VarHandleTestAccessString.java Thu Sep 01 10:16:57 2016 -0700
+++ b/jdk/test/java/lang/invoke/VarHandles/VarHandleTestAccessString.java Thu Sep 01 10:17:01 2016 -0700
@@ -114,7 +114,6 @@
assertFalse(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD));
assertFalse(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD_ACQUIRE));
assertFalse(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD_RELEASE));
- assertFalse(vh.isAccessModeSupported(VarHandle.AccessMode.ADD_AND_GET));
assertFalse(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_BITWISE_OR));
assertFalse(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_BITWISE_OR_ACQUIRE));
@@ -288,10 +287,6 @@
});
checkUOE(() -> {
- String o = (String) vh.addAndGet(recv, "foo");
- });
-
- checkUOE(() -> {
String o = (String) vh.getAndBitwiseOr(recv, "foo");
});
@@ -387,10 +382,6 @@
});
checkUOE(() -> {
- String o = (String) vh.addAndGet("foo");
- });
-
- checkUOE(() -> {
String o = (String) vh.getAndBitwiseOr("foo");
});
@@ -603,10 +594,6 @@
});
checkUOE(() -> {
- String o = (String) vh.addAndGet(recv, "foo");
- });
-
- checkUOE(() -> {
String o = (String) vh.getAndBitwiseOr(recv, "foo");
});
@@ -819,10 +806,6 @@
});
checkUOE(() -> {
- String o = (String) vh.addAndGet("foo");
- });
-
- checkUOE(() -> {
String o = (String) vh.getAndBitwiseOr("foo");
});
@@ -1042,10 +1025,6 @@
});
checkUOE(() -> {
- String o = (String) vh.addAndGet(array, i, "foo");
- });
-
- checkUOE(() -> {
String o = (String) vh.getAndBitwiseOr(array, i, "foo");
});
--- a/jdk/test/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsChar.java Thu Sep 01 10:16:57 2016 -0700
+++ b/jdk/test/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsChar.java Thu Sep 01 10:17:01 2016 -0700
@@ -103,7 +103,6 @@
assertFalse(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD));
assertFalse(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD_ACQUIRE));
assertFalse(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD_RELEASE));
- assertFalse(vh.isAccessModeSupported(VarHandle.AccessMode.ADD_AND_GET));
assertFalse(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_BITWISE_OR));
assertFalse(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_BITWISE_OR_ACQUIRE));
@@ -255,10 +254,6 @@
});
checkUOE(() -> {
- char o = (char) vh.addAndGet(array, ci, VALUE_1);
- });
-
- checkUOE(() -> {
char o = (char) vh.getAndBitwiseOr(array, ci, VALUE_1);
});
@@ -376,10 +371,6 @@
});
checkUOE(() -> {
- char o = (char) vh.addAndGet(array, ci, VALUE_1);
- });
-
- checkUOE(() -> {
char o = (char) vh.getAndBitwiseOr(array, ci, VALUE_1);
});
@@ -470,10 +461,6 @@
checkUOE(() -> {
char o = (char) vh.getAndAddRelease(array, ci, VALUE_1);
});
-
- checkUOE(() -> {
- char o = (char) vh.addAndGet(array, ci, VALUE_1);
- });
checkUOE(() -> {
char o = (char) vh.getAndBitwiseOr(array, ci, VALUE_1);
});
--- a/jdk/test/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsDouble.java Thu Sep 01 10:16:57 2016 -0700
+++ b/jdk/test/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsDouble.java Thu Sep 01 10:17:01 2016 -0700
@@ -103,7 +103,6 @@
assertFalse(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD));
assertFalse(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD_ACQUIRE));
assertFalse(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD_RELEASE));
- assertFalse(vh.isAccessModeSupported(VarHandle.AccessMode.ADD_AND_GET));
assertFalse(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_BITWISE_OR));
assertFalse(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_BITWISE_OR_ACQUIRE));
@@ -212,10 +211,6 @@
});
checkUOE(() -> {
- double o = (double) vh.addAndGet(array, ci, VALUE_1);
- });
-
- checkUOE(() -> {
double o = (double) vh.getAndBitwiseOr(array, ci, VALUE_1);
});
@@ -335,10 +330,6 @@
});
checkUOE(() -> {
- double o = (double) vh.addAndGet(array, ci, VALUE_1);
- });
-
- checkUOE(() -> {
double o = (double) vh.getAndBitwiseOr(array, ci, VALUE_1);
});
@@ -386,10 +377,6 @@
checkUOE(() -> {
double o = (double) vh.getAndAddRelease(array, ci, VALUE_1);
});
-
- checkUOE(() -> {
- double o = (double) vh.addAndGet(array, ci, VALUE_1);
- });
checkUOE(() -> {
double o = (double) vh.getAndBitwiseOr(array, ci, VALUE_1);
});
--- a/jdk/test/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsFloat.java Thu Sep 01 10:16:57 2016 -0700
+++ b/jdk/test/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsFloat.java Thu Sep 01 10:17:01 2016 -0700
@@ -103,7 +103,6 @@
assertFalse(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD));
assertFalse(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD_ACQUIRE));
assertFalse(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD_RELEASE));
- assertFalse(vh.isAccessModeSupported(VarHandle.AccessMode.ADD_AND_GET));
assertFalse(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_BITWISE_OR));
assertFalse(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_BITWISE_OR_ACQUIRE));
@@ -212,10 +211,6 @@
});
checkUOE(() -> {
- float o = (float) vh.addAndGet(array, ci, VALUE_1);
- });
-
- checkUOE(() -> {
float o = (float) vh.getAndBitwiseOr(array, ci, VALUE_1);
});
@@ -335,10 +330,6 @@
});
checkUOE(() -> {
- float o = (float) vh.addAndGet(array, ci, VALUE_1);
- });
-
- checkUOE(() -> {
float o = (float) vh.getAndBitwiseOr(array, ci, VALUE_1);
});
@@ -386,10 +377,6 @@
checkUOE(() -> {
float o = (float) vh.getAndAddRelease(array, ci, VALUE_1);
});
-
- checkUOE(() -> {
- float o = (float) vh.addAndGet(array, ci, VALUE_1);
- });
checkUOE(() -> {
float o = (float) vh.getAndBitwiseOr(array, ci, VALUE_1);
});
--- a/jdk/test/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsInt.java Thu Sep 01 10:16:57 2016 -0700
+++ b/jdk/test/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsInt.java Thu Sep 01 10:17:01 2016 -0700
@@ -103,7 +103,6 @@
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD));
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD_ACQUIRE));
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD_RELEASE));
- assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.ADD_AND_GET));
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_BITWISE_OR));
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_BITWISE_OR_ACQUIRE));
@@ -285,10 +284,6 @@
});
checkROBE(() -> {
- int o = (int) vh.addAndGet(array, ci, VALUE_1);
- });
-
- checkROBE(() -> {
int o = (int) vh.getAndBitwiseOr(array, ci, VALUE_1);
});
@@ -426,10 +421,6 @@
});
checkIOOBE(() -> {
- int o = (int) vh.addAndGet(array, ci, VALUE_1);
- });
-
- checkIOOBE(() -> {
int o = (int) vh.getAndBitwiseOr(array, ci, VALUE_1);
});
@@ -570,10 +561,6 @@
});
checkIOOBE(() -> {
- int o = (int) vh.addAndGet(array, ci, VALUE_1);
- });
-
- checkIOOBE(() -> {
int o = (int) vh.getAndBitwiseOr(array, ci, VALUE_1);
});
@@ -705,10 +692,6 @@
});
checkISE(() -> {
- int o = (int) vh.addAndGet(array, ci, VALUE_1);
- });
-
- checkISE(() -> {
int o = (int) vh.getAndBitwiseOr(array, ci, VALUE_1);
});
@@ -842,10 +825,6 @@
});
checkISE(() -> {
- int o = (int) vh.addAndGet(array, ci, VALUE_1);
- });
-
- checkISE(() -> {
int o = (int) vh.getAndBitwiseOr(array, ci, VALUE_1);
});
@@ -1054,10 +1033,10 @@
{
vh.set(array, i, VALUE_1);
- int o = (int) vh.getAndAdd(array, i, VALUE_3);
+ int o = (int) vh.getAndAdd(array, i, VALUE_2);
assertEquals(o, VALUE_1, "getAndAdd int");
- int c = (int) vh.addAndGet(array, i, VALUE_3);
- assertEquals(c, VALUE_1 + VALUE_3 + VALUE_3, "getAndAdd int value");
+ int x = (int) vh.get(array, i);
+ assertEquals(x, VALUE_1 + VALUE_2, "getAndAdd int value");
}
{
@@ -1334,10 +1313,10 @@
{
vh.set(array, i, VALUE_1);
- int o = (int) vh.getAndAdd(array, i, VALUE_3);
+ int o = (int) vh.getAndAdd(array, i, VALUE_2);
assertEquals(o, VALUE_1, "getAndAdd int");
- int c = (int) vh.addAndGet(array, i, VALUE_3);
- assertEquals(c, VALUE_1 + VALUE_3 + VALUE_3, "getAndAdd int value");
+ int x = (int) vh.get(array, i);
+ assertEquals(x, VALUE_1 + VALUE_2, "getAndAdd int value");
}
{
--- a/jdk/test/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsLong.java Thu Sep 01 10:16:57 2016 -0700
+++ b/jdk/test/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsLong.java Thu Sep 01 10:17:01 2016 -0700
@@ -103,7 +103,6 @@
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD));
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD_ACQUIRE));
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD_RELEASE));
- assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.ADD_AND_GET));
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_BITWISE_OR));
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_BITWISE_OR_ACQUIRE));
@@ -285,10 +284,6 @@
});
checkROBE(() -> {
- long o = (long) vh.addAndGet(array, ci, VALUE_1);
- });
-
- checkROBE(() -> {
long o = (long) vh.getAndBitwiseOr(array, ci, VALUE_1);
});
@@ -426,10 +421,6 @@
});
checkIOOBE(() -> {
- long o = (long) vh.addAndGet(array, ci, VALUE_1);
- });
-
- checkIOOBE(() -> {
long o = (long) vh.getAndBitwiseOr(array, ci, VALUE_1);
});
@@ -570,10 +561,6 @@
});
checkIOOBE(() -> {
- long o = (long) vh.addAndGet(array, ci, VALUE_1);
- });
-
- checkIOOBE(() -> {
long o = (long) vh.getAndBitwiseOr(array, ci, VALUE_1);
});
@@ -705,10 +692,6 @@
});
checkISE(() -> {
- long o = (long) vh.addAndGet(array, ci, VALUE_1);
- });
-
- checkISE(() -> {
long o = (long) vh.getAndBitwiseOr(array, ci, VALUE_1);
});
@@ -842,10 +825,6 @@
});
checkISE(() -> {
- long o = (long) vh.addAndGet(array, ci, VALUE_1);
- });
-
- checkISE(() -> {
long o = (long) vh.getAndBitwiseOr(array, ci, VALUE_1);
});
@@ -1054,10 +1033,10 @@
{
vh.set(array, i, VALUE_1);
- long o = (long) vh.getAndAdd(array, i, VALUE_3);
+ long o = (long) vh.getAndAdd(array, i, VALUE_2);
assertEquals(o, VALUE_1, "getAndAdd long");
- long c = (long) vh.addAndGet(array, i, VALUE_3);
- assertEquals(c, VALUE_1 + VALUE_3 + VALUE_3, "getAndAdd long value");
+ long x = (long) vh.get(array, i);
+ assertEquals(x, VALUE_1 + VALUE_2, "getAndAdd long value");
}
{
@@ -1334,10 +1313,10 @@
{
vh.set(array, i, VALUE_1);
- long o = (long) vh.getAndAdd(array, i, VALUE_3);
+ long o = (long) vh.getAndAdd(array, i, VALUE_2);
assertEquals(o, VALUE_1, "getAndAdd long");
- long c = (long) vh.addAndGet(array, i, VALUE_3);
- assertEquals(c, VALUE_1 + VALUE_3 + VALUE_3, "getAndAdd long value");
+ long x = (long) vh.get(array, i);
+ assertEquals(x, VALUE_1 + VALUE_2, "getAndAdd long value");
}
{
--- a/jdk/test/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsShort.java Thu Sep 01 10:16:57 2016 -0700
+++ b/jdk/test/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsShort.java Thu Sep 01 10:17:01 2016 -0700
@@ -103,7 +103,6 @@
assertFalse(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD));
assertFalse(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD_ACQUIRE));
assertFalse(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD_RELEASE));
- assertFalse(vh.isAccessModeSupported(VarHandle.AccessMode.ADD_AND_GET));
assertFalse(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_BITWISE_OR));
assertFalse(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_BITWISE_OR_ACQUIRE));
@@ -255,10 +254,6 @@
});
checkUOE(() -> {
- short o = (short) vh.addAndGet(array, ci, VALUE_1);
- });
-
- checkUOE(() -> {
short o = (short) vh.getAndBitwiseOr(array, ci, VALUE_1);
});
@@ -376,10 +371,6 @@
});
checkUOE(() -> {
- short o = (short) vh.addAndGet(array, ci, VALUE_1);
- });
-
- checkUOE(() -> {
short o = (short) vh.getAndBitwiseOr(array, ci, VALUE_1);
});
@@ -470,10 +461,6 @@
checkUOE(() -> {
short o = (short) vh.getAndAddRelease(array, ci, VALUE_1);
});
-
- checkUOE(() -> {
- short o = (short) vh.addAndGet(array, ci, VALUE_1);
- });
checkUOE(() -> {
short o = (short) vh.getAndBitwiseOr(array, ci, VALUE_1);
});
--- a/jdk/test/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessByte.java Thu Sep 01 10:16:57 2016 -0700
+++ b/jdk/test/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessByte.java Thu Sep 01 10:17:01 2016 -0700
@@ -259,10 +259,10 @@
{
hs.get(TestAccessMode.SET).invokeExact(recv, (byte)0x01);
- byte o = (byte) hs.get(TestAccessMode.GET_AND_ADD).invokeExact(recv, (byte)0x45);
+ byte o = (byte) hs.get(TestAccessMode.GET_AND_ADD).invokeExact(recv, (byte)0x23);
assertEquals(o, (byte)0x01, "getAndAdd byte");
- byte c = (byte) hs.get(TestAccessMode.ADD_AND_GET).invokeExact(recv, (byte)0x45);
- assertEquals(c, (byte)((byte)0x01 + (byte)0x45 + (byte)0x45), "getAndAdd byte value");
+ byte x = (byte) hs.get(TestAccessMode.GET).invokeExact(recv);
+ assertEquals(x, (byte)((byte)0x01 + (byte)0x23), "getAndAdd byte value");
}
{
@@ -537,10 +537,10 @@
{
hs.get(TestAccessMode.SET).invokeExact((byte)0x01);
- byte o = (byte) hs.get(TestAccessMode.GET_AND_ADD).invokeExact((byte)0x45);
+ byte o = (byte) hs.get(TestAccessMode.GET_AND_ADD).invokeExact((byte)0x23);
assertEquals(o, (byte)0x01, "getAndAdd byte");
- byte c = (byte) hs.get(TestAccessMode.ADD_AND_GET).invokeExact((byte)0x45);
- assertEquals(c, (byte)((byte)0x01 + (byte)0x45 + (byte)0x45), "getAndAdd byte value");
+ byte x = (byte) hs.get(TestAccessMode.GET).invokeExact();
+ assertEquals(x, (byte)((byte)0x01 + (byte)0x23), "getAndAdd byte value");
}
{
@@ -816,10 +816,10 @@
{
hs.get(TestAccessMode.SET).invokeExact(array, i, (byte)0x01);
- byte o = (byte) hs.get(TestAccessMode.GET_AND_ADD).invokeExact(array, i, (byte)0x45);
+ byte o = (byte) hs.get(TestAccessMode.GET_AND_ADD).invokeExact(array, i, (byte)0x23);
assertEquals(o, (byte)0x01, "getAndAdd byte");
- byte c = (byte) hs.get(TestAccessMode.ADD_AND_GET).invokeExact(array, i, (byte)0x45);
- assertEquals(c, (byte)((byte)0x01 + (byte)0x45 + (byte)0x45), "getAndAdd byte value");
+ byte x = (byte) hs.get(TestAccessMode.GET).invokeExact(array, i);
+ assertEquals(x, (byte)((byte)0x01 + (byte)0x23), "getAndAdd byte value");
}
{
--- a/jdk/test/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessChar.java Thu Sep 01 10:16:57 2016 -0700
+++ b/jdk/test/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessChar.java Thu Sep 01 10:17:01 2016 -0700
@@ -259,10 +259,10 @@
{
hs.get(TestAccessMode.SET).invokeExact(recv, '\u0123');
- char o = (char) hs.get(TestAccessMode.GET_AND_ADD).invokeExact(recv, '\u89AB');
+ char o = (char) hs.get(TestAccessMode.GET_AND_ADD).invokeExact(recv, '\u4567');
assertEquals(o, '\u0123', "getAndAdd char");
- char c = (char) hs.get(TestAccessMode.ADD_AND_GET).invokeExact(recv, '\u89AB');
- assertEquals(c, (char)('\u0123' + '\u89AB' + '\u89AB'), "getAndAdd char value");
+ char x = (char) hs.get(TestAccessMode.GET).invokeExact(recv);
+ assertEquals(x, (char)('\u0123' + '\u4567'), "getAndAdd char value");
}
{
@@ -537,10 +537,10 @@
{
hs.get(TestAccessMode.SET).invokeExact('\u0123');
- char o = (char) hs.get(TestAccessMode.GET_AND_ADD).invokeExact('\u89AB');
+ char o = (char) hs.get(TestAccessMode.GET_AND_ADD).invokeExact('\u4567');
assertEquals(o, '\u0123', "getAndAdd char");
- char c = (char) hs.get(TestAccessMode.ADD_AND_GET).invokeExact('\u89AB');
- assertEquals(c, (char)('\u0123' + '\u89AB' + '\u89AB'), "getAndAdd char value");
+ char x = (char) hs.get(TestAccessMode.GET).invokeExact();
+ assertEquals(x, (char)('\u0123' + '\u4567'), "getAndAdd char value");
}
{
@@ -816,10 +816,10 @@
{
hs.get(TestAccessMode.SET).invokeExact(array, i, '\u0123');
- char o = (char) hs.get(TestAccessMode.GET_AND_ADD).invokeExact(array, i, '\u89AB');
+ char o = (char) hs.get(TestAccessMode.GET_AND_ADD).invokeExact(array, i, '\u4567');
assertEquals(o, '\u0123', "getAndAdd char");
- char c = (char) hs.get(TestAccessMode.ADD_AND_GET).invokeExact(array, i, '\u89AB');
- assertEquals(c, (char)('\u0123' + '\u89AB' + '\u89AB'), "getAndAdd char value");
+ char x = (char) hs.get(TestAccessMode.GET).invokeExact(array, i);
+ assertEquals(x, (char)('\u0123' + '\u4567'), "getAndAdd char value");
}
{
--- a/jdk/test/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessDouble.java Thu Sep 01 10:16:57 2016 -0700
+++ b/jdk/test/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessDouble.java Thu Sep 01 10:17:01 2016 -0700
@@ -259,10 +259,10 @@
{
hs.get(TestAccessMode.SET).invokeExact(recv, 1.0d);
- double o = (double) hs.get(TestAccessMode.GET_AND_ADD).invokeExact(recv, 3.0d);
+ double o = (double) hs.get(TestAccessMode.GET_AND_ADD).invokeExact(recv, 2.0d);
assertEquals(o, 1.0d, "getAndAdd double");
- double c = (double) hs.get(TestAccessMode.ADD_AND_GET).invokeExact(recv, 3.0d);
- assertEquals(c, (double)(1.0d + 3.0d + 3.0d), "getAndAdd double value");
+ double x = (double) hs.get(TestAccessMode.GET).invokeExact(recv);
+ assertEquals(x, (double)(1.0d + 2.0d), "getAndAdd double value");
}
{
@@ -459,10 +459,10 @@
{
hs.get(TestAccessMode.SET).invokeExact(1.0d);
- double o = (double) hs.get(TestAccessMode.GET_AND_ADD).invokeExact(3.0d);
+ double o = (double) hs.get(TestAccessMode.GET_AND_ADD).invokeExact(2.0d);
assertEquals(o, 1.0d, "getAndAdd double");
- double c = (double) hs.get(TestAccessMode.ADD_AND_GET).invokeExact(3.0d);
- assertEquals(c, (double)(1.0d + 3.0d + 3.0d), "getAndAdd double value");
+ double x = (double) hs.get(TestAccessMode.GET).invokeExact();
+ assertEquals(x, (double)(1.0d + 2.0d), "getAndAdd double value");
}
{
@@ -660,10 +660,10 @@
{
hs.get(TestAccessMode.SET).invokeExact(array, i, 1.0d);
- double o = (double) hs.get(TestAccessMode.GET_AND_ADD).invokeExact(array, i, 3.0d);
+ double o = (double) hs.get(TestAccessMode.GET_AND_ADD).invokeExact(array, i, 2.0d);
assertEquals(o, 1.0d, "getAndAdd double");
- double c = (double) hs.get(TestAccessMode.ADD_AND_GET).invokeExact(array, i, 3.0d);
- assertEquals(c, (double)(1.0d + 3.0d + 3.0d), "getAndAdd double value");
+ double x = (double) hs.get(TestAccessMode.GET).invokeExact(array, i);
+ assertEquals(x, (double)(1.0d + 2.0d), "getAndAdd double value");
}
{
--- a/jdk/test/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessFloat.java Thu Sep 01 10:16:57 2016 -0700
+++ b/jdk/test/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessFloat.java Thu Sep 01 10:17:01 2016 -0700
@@ -259,10 +259,10 @@
{
hs.get(TestAccessMode.SET).invokeExact(recv, 1.0f);
- float o = (float) hs.get(TestAccessMode.GET_AND_ADD).invokeExact(recv, 3.0f);
+ float o = (float) hs.get(TestAccessMode.GET_AND_ADD).invokeExact(recv, 2.0f);
assertEquals(o, 1.0f, "getAndAdd float");
- float c = (float) hs.get(TestAccessMode.ADD_AND_GET).invokeExact(recv, 3.0f);
- assertEquals(c, (float)(1.0f + 3.0f + 3.0f), "getAndAdd float value");
+ float x = (float) hs.get(TestAccessMode.GET).invokeExact(recv);
+ assertEquals(x, (float)(1.0f + 2.0f), "getAndAdd float value");
}
{
@@ -459,10 +459,10 @@
{
hs.get(TestAccessMode.SET).invokeExact(1.0f);
- float o = (float) hs.get(TestAccessMode.GET_AND_ADD).invokeExact(3.0f);
+ float o = (float) hs.get(TestAccessMode.GET_AND_ADD).invokeExact(2.0f);
assertEquals(o, 1.0f, "getAndAdd float");
- float c = (float) hs.get(TestAccessMode.ADD_AND_GET).invokeExact(3.0f);
- assertEquals(c, (float)(1.0f + 3.0f + 3.0f), "getAndAdd float value");
+ float x = (float) hs.get(TestAccessMode.GET).invokeExact();
+ assertEquals(x, (float)(1.0f + 2.0f), "getAndAdd float value");
}
{
@@ -660,10 +660,10 @@
{
hs.get(TestAccessMode.SET).invokeExact(array, i, 1.0f);
- float o = (float) hs.get(TestAccessMode.GET_AND_ADD).invokeExact(array, i, 3.0f);
+ float o = (float) hs.get(TestAccessMode.GET_AND_ADD).invokeExact(array, i, 2.0f);
assertEquals(o, 1.0f, "getAndAdd float");
- float c = (float) hs.get(TestAccessMode.ADD_AND_GET).invokeExact(array, i, 3.0f);
- assertEquals(c, (float)(1.0f + 3.0f + 3.0f), "getAndAdd float value");
+ float x = (float) hs.get(TestAccessMode.GET).invokeExact(array, i);
+ assertEquals(x, (float)(1.0f + 2.0f), "getAndAdd float value");
}
{
--- a/jdk/test/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessInt.java Thu Sep 01 10:16:57 2016 -0700
+++ b/jdk/test/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessInt.java Thu Sep 01 10:17:01 2016 -0700
@@ -259,10 +259,10 @@
{
hs.get(TestAccessMode.SET).invokeExact(recv, 0x01234567);
- int o = (int) hs.get(TestAccessMode.GET_AND_ADD).invokeExact(recv, 0xCAFEBABE);
+ int o = (int) hs.get(TestAccessMode.GET_AND_ADD).invokeExact(recv, 0x89ABCDEF);
assertEquals(o, 0x01234567, "getAndAdd int");
- int c = (int) hs.get(TestAccessMode.ADD_AND_GET).invokeExact(recv, 0xCAFEBABE);
- assertEquals(c, (int)(0x01234567 + 0xCAFEBABE + 0xCAFEBABE), "getAndAdd int value");
+ int x = (int) hs.get(TestAccessMode.GET).invokeExact(recv);
+ assertEquals(x, (int)(0x01234567 + 0x89ABCDEF), "getAndAdd int value");
}
{
@@ -537,10 +537,10 @@
{
hs.get(TestAccessMode.SET).invokeExact(0x01234567);
- int o = (int) hs.get(TestAccessMode.GET_AND_ADD).invokeExact(0xCAFEBABE);
+ int o = (int) hs.get(TestAccessMode.GET_AND_ADD).invokeExact(0x89ABCDEF);
assertEquals(o, 0x01234567, "getAndAdd int");
- int c = (int) hs.get(TestAccessMode.ADD_AND_GET).invokeExact(0xCAFEBABE);
- assertEquals(c, (int)(0x01234567 + 0xCAFEBABE + 0xCAFEBABE), "getAndAdd int value");
+ int x = (int) hs.get(TestAccessMode.GET).invokeExact();
+ assertEquals(x, (int)(0x01234567 + 0x89ABCDEF), "getAndAdd int value");
}
{
@@ -816,10 +816,10 @@
{
hs.get(TestAccessMode.SET).invokeExact(array, i, 0x01234567);
- int o = (int) hs.get(TestAccessMode.GET_AND_ADD).invokeExact(array, i, 0xCAFEBABE);
+ int o = (int) hs.get(TestAccessMode.GET_AND_ADD).invokeExact(array, i, 0x89ABCDEF);
assertEquals(o, 0x01234567, "getAndAdd int");
- int c = (int) hs.get(TestAccessMode.ADD_AND_GET).invokeExact(array, i, 0xCAFEBABE);
- assertEquals(c, (int)(0x01234567 + 0xCAFEBABE + 0xCAFEBABE), "getAndAdd int value");
+ int x = (int) hs.get(TestAccessMode.GET).invokeExact(array, i);
+ assertEquals(x, (int)(0x01234567 + 0x89ABCDEF), "getAndAdd int value");
}
{
--- a/jdk/test/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessLong.java Thu Sep 01 10:16:57 2016 -0700
+++ b/jdk/test/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessLong.java Thu Sep 01 10:17:01 2016 -0700
@@ -259,10 +259,10 @@
{
hs.get(TestAccessMode.SET).invokeExact(recv, 0x0123456789ABCDEFL);
- long o = (long) hs.get(TestAccessMode.GET_AND_ADD).invokeExact(recv, 0xDEADBEEFDEADBEEFL);
+ long o = (long) hs.get(TestAccessMode.GET_AND_ADD).invokeExact(recv, 0xCAFEBABECAFEBABEL);
assertEquals(o, 0x0123456789ABCDEFL, "getAndAdd long");
- long c = (long) hs.get(TestAccessMode.ADD_AND_GET).invokeExact(recv, 0xDEADBEEFDEADBEEFL);
- assertEquals(c, (long)(0x0123456789ABCDEFL + 0xDEADBEEFDEADBEEFL + 0xDEADBEEFDEADBEEFL), "getAndAdd long value");
+ long x = (long) hs.get(TestAccessMode.GET).invokeExact(recv);
+ assertEquals(x, (long)(0x0123456789ABCDEFL + 0xCAFEBABECAFEBABEL), "getAndAdd long value");
}
{
@@ -537,10 +537,10 @@
{
hs.get(TestAccessMode.SET).invokeExact(0x0123456789ABCDEFL);
- long o = (long) hs.get(TestAccessMode.GET_AND_ADD).invokeExact(0xDEADBEEFDEADBEEFL);
+ long o = (long) hs.get(TestAccessMode.GET_AND_ADD).invokeExact(0xCAFEBABECAFEBABEL);
assertEquals(o, 0x0123456789ABCDEFL, "getAndAdd long");
- long c = (long) hs.get(TestAccessMode.ADD_AND_GET).invokeExact(0xDEADBEEFDEADBEEFL);
- assertEquals(c, (long)(0x0123456789ABCDEFL + 0xDEADBEEFDEADBEEFL + 0xDEADBEEFDEADBEEFL), "getAndAdd long value");
+ long x = (long) hs.get(TestAccessMode.GET).invokeExact();
+ assertEquals(x, (long)(0x0123456789ABCDEFL + 0xCAFEBABECAFEBABEL), "getAndAdd long value");
}
{
@@ -816,10 +816,10 @@
{
hs.get(TestAccessMode.SET).invokeExact(array, i, 0x0123456789ABCDEFL);
- long o = (long) hs.get(TestAccessMode.GET_AND_ADD).invokeExact(array, i, 0xDEADBEEFDEADBEEFL);
+ long o = (long) hs.get(TestAccessMode.GET_AND_ADD).invokeExact(array, i, 0xCAFEBABECAFEBABEL);
assertEquals(o, 0x0123456789ABCDEFL, "getAndAdd long");
- long c = (long) hs.get(TestAccessMode.ADD_AND_GET).invokeExact(array, i, 0xDEADBEEFDEADBEEFL);
- assertEquals(c, (long)(0x0123456789ABCDEFL + 0xDEADBEEFDEADBEEFL + 0xDEADBEEFDEADBEEFL), "getAndAdd long value");
+ long x = (long) hs.get(TestAccessMode.GET).invokeExact(array, i);
+ assertEquals(x, (long)(0x0123456789ABCDEFL + 0xCAFEBABECAFEBABEL), "getAndAdd long value");
}
{
--- a/jdk/test/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessShort.java Thu Sep 01 10:16:57 2016 -0700
+++ b/jdk/test/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessShort.java Thu Sep 01 10:17:01 2016 -0700
@@ -259,10 +259,10 @@
{
hs.get(TestAccessMode.SET).invokeExact(recv, (short)0x0123);
- short o = (short) hs.get(TestAccessMode.GET_AND_ADD).invokeExact(recv, (short)0x89AB);
+ short o = (short) hs.get(TestAccessMode.GET_AND_ADD).invokeExact(recv, (short)0x4567);
assertEquals(o, (short)0x0123, "getAndAdd short");
- short c = (short) hs.get(TestAccessMode.ADD_AND_GET).invokeExact(recv, (short)0x89AB);
- assertEquals(c, (short)((short)0x0123 + (short)0x89AB + (short)0x89AB), "getAndAdd short value");
+ short x = (short) hs.get(TestAccessMode.GET).invokeExact(recv);
+ assertEquals(x, (short)((short)0x0123 + (short)0x4567), "getAndAdd short value");
}
{
@@ -537,10 +537,10 @@
{
hs.get(TestAccessMode.SET).invokeExact((short)0x0123);
- short o = (short) hs.get(TestAccessMode.GET_AND_ADD).invokeExact((short)0x89AB);
+ short o = (short) hs.get(TestAccessMode.GET_AND_ADD).invokeExact((short)0x4567);
assertEquals(o, (short)0x0123, "getAndAdd short");
- short c = (short) hs.get(TestAccessMode.ADD_AND_GET).invokeExact((short)0x89AB);
- assertEquals(c, (short)((short)0x0123 + (short)0x89AB + (short)0x89AB), "getAndAdd short value");
+ short x = (short) hs.get(TestAccessMode.GET).invokeExact();
+ assertEquals(x, (short)((short)0x0123 + (short)0x4567), "getAndAdd short value");
}
{
@@ -816,10 +816,10 @@
{
hs.get(TestAccessMode.SET).invokeExact(array, i, (short)0x0123);
- short o = (short) hs.get(TestAccessMode.GET_AND_ADD).invokeExact(array, i, (short)0x89AB);
+ short o = (short) hs.get(TestAccessMode.GET_AND_ADD).invokeExact(array, i, (short)0x4567);
assertEquals(o, (short)0x0123, "getAndAdd short");
- short c = (short) hs.get(TestAccessMode.ADD_AND_GET).invokeExact(array, i, (short)0x89AB);
- assertEquals(c, (short)((short)0x0123 + (short)0x89AB + (short)0x89AB), "getAndAdd short value");
+ short x = (short) hs.get(TestAccessMode.GET).invokeExact(array, i);
+ assertEquals(x, (short)((short)0x0123 + (short)0x4567), "getAndAdd short value");
}
{
--- a/jdk/test/java/lang/invoke/VarHandles/VarHandleTestMethodTypeByte.java Thu Sep 01 10:16:57 2016 -0700
+++ b/jdk/test/java/lang/invoke/VarHandles/VarHandleTestMethodTypeByte.java Thu Sep 01 10:17:01 2016 -0700
@@ -727,35 +727,6 @@
byte x = (byte) vh.getAndAddRelease(recv, (byte)0x01, Void.class);
});
- // AddAndGet
- // Incorrect argument types
- checkNPE(() -> { // null receiver
- byte x = (byte) vh.addAndGet(null, (byte)0x01);
- });
- checkCCE(() -> { // receiver reference class
- byte x = (byte) vh.addAndGet(Void.class, (byte)0x01);
- });
- checkWMTE(() -> { // value reference class
- byte x = (byte) vh.addAndGet(recv, Void.class);
- });
- checkWMTE(() -> { // reciever primitive class
- byte x = (byte) vh.addAndGet(0, (byte)0x01);
- });
- // Incorrect return type
- checkWMTE(() -> { // reference class
- Void r = (Void) vh.addAndGet(recv, (byte)0x01);
- });
- checkWMTE(() -> { // primitive class
- boolean x = (boolean) vh.addAndGet(recv, (byte)0x01);
- });
- // Incorrect arity
- checkWMTE(() -> { // 0
- byte x = (byte) vh.addAndGet();
- });
- checkWMTE(() -> { // >
- byte x = (byte) vh.addAndGet(recv, (byte)0x01, Void.class);
- });
-
// GetAndBitwiseOr
// Incorrect argument types
checkNPE(() -> { // null receiver
@@ -1668,27 +1639,6 @@
byte x = (byte) vh.getAndAddRelease((byte)0x01, Void.class);
});
-
- // AddAndGet
- // Incorrect argument types
- checkWMTE(() -> { // value reference class
- byte x = (byte) vh.addAndGet(Void.class);
- });
- // Incorrect return type
- checkWMTE(() -> { // reference class
- Void r = (Void) vh.addAndGet((byte)0x01);
- });
- checkWMTE(() -> { // primitive class
- boolean x = (boolean) vh.addAndGet((byte)0x01);
- });
- // Incorrect arity
- checkWMTE(() -> { // 0
- byte x = (byte) vh.addAndGet();
- });
- checkWMTE(() -> { // >
- byte x = (byte) vh.addAndGet((byte)0x01, Void.class);
- });
-
// GetAndBitwiseOr
// Incorrect argument types
checkWMTE(() -> { // value reference class
@@ -2721,39 +2671,6 @@
byte x = (byte) vh.getAndAddRelease(array, 0, (byte)0x01, Void.class);
});
-
- // AddAndGet
- // Incorrect argument types
- checkNPE(() -> { // null array
- byte x = (byte) vh.addAndGet(null, 0, (byte)0x01);
- });
- checkCCE(() -> { // array reference class
- byte x = (byte) vh.addAndGet(Void.class, 0, (byte)0x01);
- });
- checkWMTE(() -> { // value reference class
- byte x = (byte) vh.addAndGet(array, 0, Void.class);
- });
- checkWMTE(() -> { // array primitive class
- byte x = (byte) vh.addAndGet(0, 0, (byte)0x01);
- });
- checkWMTE(() -> { // index reference class
- byte x = (byte) vh.addAndGet(array, Void.class, (byte)0x01);
- });
- // Incorrect return type
- checkWMTE(() -> { // reference class
- Void r = (Void) vh.addAndGet(array, 0, (byte)0x01);
- });
- checkWMTE(() -> { // primitive class
- boolean x = (boolean) vh.addAndGet(array, 0, (byte)0x01);
- });
- // Incorrect arity
- checkWMTE(() -> { // 0
- byte x = (byte) vh.addAndGet();
- });
- checkWMTE(() -> { // >
- byte x = (byte) vh.addAndGet(array, 0, (byte)0x01, Void.class);
- });
-
// GetAndBitwiseOr
// Incorrect argument types
checkNPE(() -> { // null array
--- a/jdk/test/java/lang/invoke/VarHandles/VarHandleTestMethodTypeChar.java Thu Sep 01 10:16:57 2016 -0700
+++ b/jdk/test/java/lang/invoke/VarHandles/VarHandleTestMethodTypeChar.java Thu Sep 01 10:17:01 2016 -0700
@@ -727,35 +727,6 @@
char x = (char) vh.getAndAddRelease(recv, '\u0123', Void.class);
});
- // AddAndGet
- // Incorrect argument types
- checkNPE(() -> { // null receiver
- char x = (char) vh.addAndGet(null, '\u0123');
- });
- checkCCE(() -> { // receiver reference class
- char x = (char) vh.addAndGet(Void.class, '\u0123');
- });
- checkWMTE(() -> { // value reference class
- char x = (char) vh.addAndGet(recv, Void.class);
- });
- checkWMTE(() -> { // reciever primitive class
- char x = (char) vh.addAndGet(0, '\u0123');
- });
- // Incorrect return type
- checkWMTE(() -> { // reference class
- Void r = (Void) vh.addAndGet(recv, '\u0123');
- });
- checkWMTE(() -> { // primitive class
- boolean x = (boolean) vh.addAndGet(recv, '\u0123');
- });
- // Incorrect arity
- checkWMTE(() -> { // 0
- char x = (char) vh.addAndGet();
- });
- checkWMTE(() -> { // >
- char x = (char) vh.addAndGet(recv, '\u0123', Void.class);
- });
-
// GetAndBitwiseOr
// Incorrect argument types
checkNPE(() -> { // null receiver
@@ -1668,27 +1639,6 @@
char x = (char) vh.getAndAddRelease('\u0123', Void.class);
});
-
- // AddAndGet
- // Incorrect argument types
- checkWMTE(() -> { // value reference class
- char x = (char) vh.addAndGet(Void.class);
- });
- // Incorrect return type
- checkWMTE(() -> { // reference class
- Void r = (Void) vh.addAndGet('\u0123');
- });
- checkWMTE(() -> { // primitive class
- boolean x = (boolean) vh.addAndGet('\u0123');
- });
- // Incorrect arity
- checkWMTE(() -> { // 0
- char x = (char) vh.addAndGet();
- });
- checkWMTE(() -> { // >
- char x = (char) vh.addAndGet('\u0123', Void.class);
- });
-
// GetAndBitwiseOr
// Incorrect argument types
checkWMTE(() -> { // value reference class
@@ -2721,39 +2671,6 @@
char x = (char) vh.getAndAddRelease(array, 0, '\u0123', Void.class);
});
-
- // AddAndGet
- // Incorrect argument types
- checkNPE(() -> { // null array
- char x = (char) vh.addAndGet(null, 0, '\u0123');
- });
- checkCCE(() -> { // array reference class
- char x = (char) vh.addAndGet(Void.class, 0, '\u0123');
- });
- checkWMTE(() -> { // value reference class
- char x = (char) vh.addAndGet(array, 0, Void.class);
- });
- checkWMTE(() -> { // array primitive class
- char x = (char) vh.addAndGet(0, 0, '\u0123');
- });
- checkWMTE(() -> { // index reference class
- char x = (char) vh.addAndGet(array, Void.class, '\u0123');
- });
- // Incorrect return type
- checkWMTE(() -> { // reference class
- Void r = (Void) vh.addAndGet(array, 0, '\u0123');
- });
- checkWMTE(() -> { // primitive class
- boolean x = (boolean) vh.addAndGet(array, 0, '\u0123');
- });
- // Incorrect arity
- checkWMTE(() -> { // 0
- char x = (char) vh.addAndGet();
- });
- checkWMTE(() -> { // >
- char x = (char) vh.addAndGet(array, 0, '\u0123', Void.class);
- });
-
// GetAndBitwiseOr
// Incorrect argument types
checkNPE(() -> { // null array
--- a/jdk/test/java/lang/invoke/VarHandles/VarHandleTestMethodTypeDouble.java Thu Sep 01 10:16:57 2016 -0700
+++ b/jdk/test/java/lang/invoke/VarHandles/VarHandleTestMethodTypeDouble.java Thu Sep 01 10:17:01 2016 -0700
@@ -727,35 +727,6 @@
double x = (double) vh.getAndAddRelease(recv, 1.0d, Void.class);
});
- // AddAndGet
- // Incorrect argument types
- checkNPE(() -> { // null receiver
- double x = (double) vh.addAndGet(null, 1.0d);
- });
- checkCCE(() -> { // receiver reference class
- double x = (double) vh.addAndGet(Void.class, 1.0d);
- });
- checkWMTE(() -> { // value reference class
- double x = (double) vh.addAndGet(recv, Void.class);
- });
- checkWMTE(() -> { // reciever primitive class
- double x = (double) vh.addAndGet(0, 1.0d);
- });
- // Incorrect return type
- checkWMTE(() -> { // reference class
- Void r = (Void) vh.addAndGet(recv, 1.0d);
- });
- checkWMTE(() -> { // primitive class
- boolean x = (boolean) vh.addAndGet(recv, 1.0d);
- });
- // Incorrect arity
- checkWMTE(() -> { // 0
- double x = (double) vh.addAndGet();
- });
- checkWMTE(() -> { // >
- double x = (double) vh.addAndGet(recv, 1.0d, Void.class);
- });
-
}
static void testInstanceFieldWrongMethodType(VarHandleTestMethodTypeDouble recv, Handles hs) throws Throwable {
@@ -1364,27 +1335,6 @@
double x = (double) vh.getAndAddRelease(1.0d, Void.class);
});
-
- // AddAndGet
- // Incorrect argument types
- checkWMTE(() -> { // value reference class
- double x = (double) vh.addAndGet(Void.class);
- });
- // Incorrect return type
- checkWMTE(() -> { // reference class
- Void r = (Void) vh.addAndGet(1.0d);
- });
- checkWMTE(() -> { // primitive class
- boolean x = (boolean) vh.addAndGet(1.0d);
- });
- // Incorrect arity
- checkWMTE(() -> { // 0
- double x = (double) vh.addAndGet();
- });
- checkWMTE(() -> { // >
- double x = (double) vh.addAndGet(1.0d, Void.class);
- });
-
}
static void testStaticFieldWrongMethodType(Handles hs) throws Throwable {
@@ -2205,39 +2155,6 @@
double x = (double) vh.getAndAddRelease(array, 0, 1.0d, Void.class);
});
-
- // AddAndGet
- // Incorrect argument types
- checkNPE(() -> { // null array
- double x = (double) vh.addAndGet(null, 0, 1.0d);
- });
- checkCCE(() -> { // array reference class
- double x = (double) vh.addAndGet(Void.class, 0, 1.0d);
- });
- checkWMTE(() -> { // value reference class
- double x = (double) vh.addAndGet(array, 0, Void.class);
- });
- checkWMTE(() -> { // array primitive class
- double x = (double) vh.addAndGet(0, 0, 1.0d);
- });
- checkWMTE(() -> { // index reference class
- double x = (double) vh.addAndGet(array, Void.class, 1.0d);
- });
- // Incorrect return type
- checkWMTE(() -> { // reference class
- Void r = (Void) vh.addAndGet(array, 0, 1.0d);
- });
- checkWMTE(() -> { // primitive class
- boolean x = (boolean) vh.addAndGet(array, 0, 1.0d);
- });
- // Incorrect arity
- checkWMTE(() -> { // 0
- double x = (double) vh.addAndGet();
- });
- checkWMTE(() -> { // >
- double x = (double) vh.addAndGet(array, 0, 1.0d, Void.class);
- });
-
}
static void testArrayWrongMethodType(Handles hs) throws Throwable {
--- a/jdk/test/java/lang/invoke/VarHandles/VarHandleTestMethodTypeFloat.java Thu Sep 01 10:16:57 2016 -0700
+++ b/jdk/test/java/lang/invoke/VarHandles/VarHandleTestMethodTypeFloat.java Thu Sep 01 10:17:01 2016 -0700
@@ -727,35 +727,6 @@
float x = (float) vh.getAndAddRelease(recv, 1.0f, Void.class);
});
- // AddAndGet
- // Incorrect argument types
- checkNPE(() -> { // null receiver
- float x = (float) vh.addAndGet(null, 1.0f);
- });
- checkCCE(() -> { // receiver reference class
- float x = (float) vh.addAndGet(Void.class, 1.0f);
- });
- checkWMTE(() -> { // value reference class
- float x = (float) vh.addAndGet(recv, Void.class);
- });
- checkWMTE(() -> { // reciever primitive class
- float x = (float) vh.addAndGet(0, 1.0f);
- });
- // Incorrect return type
- checkWMTE(() -> { // reference class
- Void r = (Void) vh.addAndGet(recv, 1.0f);
- });
- checkWMTE(() -> { // primitive class
- boolean x = (boolean) vh.addAndGet(recv, 1.0f);
- });
- // Incorrect arity
- checkWMTE(() -> { // 0
- float x = (float) vh.addAndGet();
- });
- checkWMTE(() -> { // >
- float x = (float) vh.addAndGet(recv, 1.0f, Void.class);
- });
-
}
static void testInstanceFieldWrongMethodType(VarHandleTestMethodTypeFloat recv, Handles hs) throws Throwable {
@@ -1364,27 +1335,6 @@
float x = (float) vh.getAndAddRelease(1.0f, Void.class);
});
-
- // AddAndGet
- // Incorrect argument types
- checkWMTE(() -> { // value reference class
- float x = (float) vh.addAndGet(Void.class);
- });
- // Incorrect return type
- checkWMTE(() -> { // reference class
- Void r = (Void) vh.addAndGet(1.0f);
- });
- checkWMTE(() -> { // primitive class
- boolean x = (boolean) vh.addAndGet(1.0f);
- });
- // Incorrect arity
- checkWMTE(() -> { // 0
- float x = (float) vh.addAndGet();
- });
- checkWMTE(() -> { // >
- float x = (float) vh.addAndGet(1.0f, Void.class);
- });
-
}
static void testStaticFieldWrongMethodType(Handles hs) throws Throwable {
@@ -2205,39 +2155,6 @@
float x = (float) vh.getAndAddRelease(array, 0, 1.0f, Void.class);
});
-
- // AddAndGet
- // Incorrect argument types
- checkNPE(() -> { // null array
- float x = (float) vh.addAndGet(null, 0, 1.0f);
- });
- checkCCE(() -> { // array reference class
- float x = (float) vh.addAndGet(Void.class, 0, 1.0f);
- });
- checkWMTE(() -> { // value reference class
- float x = (float) vh.addAndGet(array, 0, Void.class);
- });
- checkWMTE(() -> { // array primitive class
- float x = (float) vh.addAndGet(0, 0, 1.0f);
- });
- checkWMTE(() -> { // index reference class
- float x = (float) vh.addAndGet(array, Void.class, 1.0f);
- });
- // Incorrect return type
- checkWMTE(() -> { // reference class
- Void r = (Void) vh.addAndGet(array, 0, 1.0f);
- });
- checkWMTE(() -> { // primitive class
- boolean x = (boolean) vh.addAndGet(array, 0, 1.0f);
- });
- // Incorrect arity
- checkWMTE(() -> { // 0
- float x = (float) vh.addAndGet();
- });
- checkWMTE(() -> { // >
- float x = (float) vh.addAndGet(array, 0, 1.0f, Void.class);
- });
-
}
static void testArrayWrongMethodType(Handles hs) throws Throwable {
--- a/jdk/test/java/lang/invoke/VarHandles/VarHandleTestMethodTypeInt.java Thu Sep 01 10:16:57 2016 -0700
+++ b/jdk/test/java/lang/invoke/VarHandles/VarHandleTestMethodTypeInt.java Thu Sep 01 10:17:01 2016 -0700
@@ -727,35 +727,6 @@
int x = (int) vh.getAndAddRelease(recv, 0x01234567, Void.class);
});
- // AddAndGet
- // Incorrect argument types
- checkNPE(() -> { // null receiver
- int x = (int) vh.addAndGet(null, 0x01234567);
- });
- checkCCE(() -> { // receiver reference class
- int x = (int) vh.addAndGet(Void.class, 0x01234567);
- });
- checkWMTE(() -> { // value reference class
- int x = (int) vh.addAndGet(recv, Void.class);
- });
- checkWMTE(() -> { // reciever primitive class
- int x = (int) vh.addAndGet(0, 0x01234567);
- });
- // Incorrect return type
- checkWMTE(() -> { // reference class
- Void r = (Void) vh.addAndGet(recv, 0x01234567);
- });
- checkWMTE(() -> { // primitive class
- boolean x = (boolean) vh.addAndGet(recv, 0x01234567);
- });
- // Incorrect arity
- checkWMTE(() -> { // 0
- int x = (int) vh.addAndGet();
- });
- checkWMTE(() -> { // >
- int x = (int) vh.addAndGet(recv, 0x01234567, Void.class);
- });
-
// GetAndBitwiseOr
// Incorrect argument types
checkNPE(() -> { // null receiver
@@ -1668,27 +1639,6 @@
int x = (int) vh.getAndAddRelease(0x01234567, Void.class);
});
-
- // AddAndGet
- // Incorrect argument types
- checkWMTE(() -> { // value reference class
- int x = (int) vh.addAndGet(Void.class);
- });
- // Incorrect return type
- checkWMTE(() -> { // reference class
- Void r = (Void) vh.addAndGet(0x01234567);
- });
- checkWMTE(() -> { // primitive class
- boolean x = (boolean) vh.addAndGet(0x01234567);
- });
- // Incorrect arity
- checkWMTE(() -> { // 0
- int x = (int) vh.addAndGet();
- });
- checkWMTE(() -> { // >
- int x = (int) vh.addAndGet(0x01234567, Void.class);
- });
-
// GetAndBitwiseOr
// Incorrect argument types
checkWMTE(() -> { // value reference class
@@ -2721,39 +2671,6 @@
int x = (int) vh.getAndAddRelease(array, 0, 0x01234567, Void.class);
});
-
- // AddAndGet
- // Incorrect argument types
- checkNPE(() -> { // null array
- int x = (int) vh.addAndGet(null, 0, 0x01234567);
- });
- checkCCE(() -> { // array reference class
- int x = (int) vh.addAndGet(Void.class, 0, 0x01234567);
- });
- checkWMTE(() -> { // value reference class
- int x = (int) vh.addAndGet(array, 0, Void.class);
- });
- checkWMTE(() -> { // array primitive class
- int x = (int) vh.addAndGet(0, 0, 0x01234567);
- });
- checkWMTE(() -> { // index reference class
- int x = (int) vh.addAndGet(array, Void.class, 0x01234567);
- });
- // Incorrect return type
- checkWMTE(() -> { // reference class
- Void r = (Void) vh.addAndGet(array, 0, 0x01234567);
- });
- checkWMTE(() -> { // primitive class
- boolean x = (boolean) vh.addAndGet(array, 0, 0x01234567);
- });
- // Incorrect arity
- checkWMTE(() -> { // 0
- int x = (int) vh.addAndGet();
- });
- checkWMTE(() -> { // >
- int x = (int) vh.addAndGet(array, 0, 0x01234567, Void.class);
- });
-
// GetAndBitwiseOr
// Incorrect argument types
checkNPE(() -> { // null array
--- a/jdk/test/java/lang/invoke/VarHandles/VarHandleTestMethodTypeLong.java Thu Sep 01 10:16:57 2016 -0700
+++ b/jdk/test/java/lang/invoke/VarHandles/VarHandleTestMethodTypeLong.java Thu Sep 01 10:17:01 2016 -0700
@@ -727,35 +727,6 @@
long x = (long) vh.getAndAddRelease(recv, 0x0123456789ABCDEFL, Void.class);
});
- // AddAndGet
- // Incorrect argument types
- checkNPE(() -> { // null receiver
- long x = (long) vh.addAndGet(null, 0x0123456789ABCDEFL);
- });
- checkCCE(() -> { // receiver reference class
- long x = (long) vh.addAndGet(Void.class, 0x0123456789ABCDEFL);
- });
- checkWMTE(() -> { // value reference class
- long x = (long) vh.addAndGet(recv, Void.class);
- });
- checkWMTE(() -> { // reciever primitive class
- long x = (long) vh.addAndGet(0, 0x0123456789ABCDEFL);
- });
- // Incorrect return type
- checkWMTE(() -> { // reference class
- Void r = (Void) vh.addAndGet(recv, 0x0123456789ABCDEFL);
- });
- checkWMTE(() -> { // primitive class
- boolean x = (boolean) vh.addAndGet(recv, 0x0123456789ABCDEFL);
- });
- // Incorrect arity
- checkWMTE(() -> { // 0
- long x = (long) vh.addAndGet();
- });
- checkWMTE(() -> { // >
- long x = (long) vh.addAndGet(recv, 0x0123456789ABCDEFL, Void.class);
- });
-
// GetAndBitwiseOr
// Incorrect argument types
checkNPE(() -> { // null receiver
@@ -1668,27 +1639,6 @@
long x = (long) vh.getAndAddRelease(0x0123456789ABCDEFL, Void.class);
});
-
- // AddAndGet
- // Incorrect argument types
- checkWMTE(() -> { // value reference class
- long x = (long) vh.addAndGet(Void.class);
- });
- // Incorrect return type
- checkWMTE(() -> { // reference class
- Void r = (Void) vh.addAndGet(0x0123456789ABCDEFL);
- });
- checkWMTE(() -> { // primitive class
- boolean x = (boolean) vh.addAndGet(0x0123456789ABCDEFL);
- });
- // Incorrect arity
- checkWMTE(() -> { // 0
- long x = (long) vh.addAndGet();
- });
- checkWMTE(() -> { // >
- long x = (long) vh.addAndGet(0x0123456789ABCDEFL, Void.class);
- });
-
// GetAndBitwiseOr
// Incorrect argument types
checkWMTE(() -> { // value reference class
@@ -2721,39 +2671,6 @@
long x = (long) vh.getAndAddRelease(array, 0, 0x0123456789ABCDEFL, Void.class);
});
-
- // AddAndGet
- // Incorrect argument types
- checkNPE(() -> { // null array
- long x = (long) vh.addAndGet(null, 0, 0x0123456789ABCDEFL);
- });
- checkCCE(() -> { // array reference class
- long x = (long) vh.addAndGet(Void.class, 0, 0x0123456789ABCDEFL);
- });
- checkWMTE(() -> { // value reference class
- long x = (long) vh.addAndGet(array, 0, Void.class);
- });
- checkWMTE(() -> { // array primitive class
- long x = (long) vh.addAndGet(0, 0, 0x0123456789ABCDEFL);
- });
- checkWMTE(() -> { // index reference class
- long x = (long) vh.addAndGet(array, Void.class, 0x0123456789ABCDEFL);
- });
- // Incorrect return type
- checkWMTE(() -> { // reference class
- Void r = (Void) vh.addAndGet(array, 0, 0x0123456789ABCDEFL);
- });
- checkWMTE(() -> { // primitive class
- boolean x = (boolean) vh.addAndGet(array, 0, 0x0123456789ABCDEFL);
- });
- // Incorrect arity
- checkWMTE(() -> { // 0
- long x = (long) vh.addAndGet();
- });
- checkWMTE(() -> { // >
- long x = (long) vh.addAndGet(array, 0, 0x0123456789ABCDEFL, Void.class);
- });
-
// GetAndBitwiseOr
// Incorrect argument types
checkNPE(() -> { // null array
--- a/jdk/test/java/lang/invoke/VarHandles/VarHandleTestMethodTypeShort.java Thu Sep 01 10:16:57 2016 -0700
+++ b/jdk/test/java/lang/invoke/VarHandles/VarHandleTestMethodTypeShort.java Thu Sep 01 10:17:01 2016 -0700
@@ -727,35 +727,6 @@
short x = (short) vh.getAndAddRelease(recv, (short)0x0123, Void.class);
});
- // AddAndGet
- // Incorrect argument types
- checkNPE(() -> { // null receiver
- short x = (short) vh.addAndGet(null, (short)0x0123);
- });
- checkCCE(() -> { // receiver reference class
- short x = (short) vh.addAndGet(Void.class, (short)0x0123);
- });
- checkWMTE(() -> { // value reference class
- short x = (short) vh.addAndGet(recv, Void.class);
- });
- checkWMTE(() -> { // reciever primitive class
- short x = (short) vh.addAndGet(0, (short)0x0123);
- });
- // Incorrect return type
- checkWMTE(() -> { // reference class
- Void r = (Void) vh.addAndGet(recv, (short)0x0123);
- });
- checkWMTE(() -> { // primitive class
- boolean x = (boolean) vh.addAndGet(recv, (short)0x0123);
- });
- // Incorrect arity
- checkWMTE(() -> { // 0
- short x = (short) vh.addAndGet();
- });
- checkWMTE(() -> { // >
- short x = (short) vh.addAndGet(recv, (short)0x0123, Void.class);
- });
-
// GetAndBitwiseOr
// Incorrect argument types
checkNPE(() -> { // null receiver
@@ -1668,27 +1639,6 @@
short x = (short) vh.getAndAddRelease((short)0x0123, Void.class);
});
-
- // AddAndGet
- // Incorrect argument types
- checkWMTE(() -> { // value reference class
- short x = (short) vh.addAndGet(Void.class);
- });
- // Incorrect return type
- checkWMTE(() -> { // reference class
- Void r = (Void) vh.addAndGet((short)0x0123);
- });
- checkWMTE(() -> { // primitive class
- boolean x = (boolean) vh.addAndGet((short)0x0123);
- });
- // Incorrect arity
- checkWMTE(() -> { // 0
- short x = (short) vh.addAndGet();
- });
- checkWMTE(() -> { // >
- short x = (short) vh.addAndGet((short)0x0123, Void.class);
- });
-
// GetAndBitwiseOr
// Incorrect argument types
checkWMTE(() -> { // value reference class
@@ -2721,39 +2671,6 @@
short x = (short) vh.getAndAddRelease(array, 0, (short)0x0123, Void.class);
});
-
- // AddAndGet
- // Incorrect argument types
- checkNPE(() -> { // null array
- short x = (short) vh.addAndGet(null, 0, (short)0x0123);
- });
- checkCCE(() -> { // array reference class
- short x = (short) vh.addAndGet(Void.class, 0, (short)0x0123);
- });
- checkWMTE(() -> { // value reference class
- short x = (short) vh.addAndGet(array, 0, Void.class);
- });
- checkWMTE(() -> { // array primitive class
- short x = (short) vh.addAndGet(0, 0, (short)0x0123);
- });
- checkWMTE(() -> { // index reference class
- short x = (short) vh.addAndGet(array, Void.class, (short)0x0123);
- });
- // Incorrect return type
- checkWMTE(() -> { // reference class
- Void r = (Void) vh.addAndGet(array, 0, (short)0x0123);
- });
- checkWMTE(() -> { // primitive class
- boolean x = (boolean) vh.addAndGet(array, 0, (short)0x0123);
- });
- // Incorrect arity
- checkWMTE(() -> { // 0
- short x = (short) vh.addAndGet();
- });
- checkWMTE(() -> { // >
- short x = (short) vh.addAndGet(array, 0, (short)0x0123, Void.class);
- });
-
// GetAndBitwiseOr
// Incorrect argument types
checkNPE(() -> { // null array
--- a/jdk/test/java/lang/invoke/VarHandles/X-VarHandleTestAccess.java.template Thu Sep 01 10:16:57 2016 -0700
+++ b/jdk/test/java/lang/invoke/VarHandles/X-VarHandleTestAccess.java.template Thu Sep 01 10:17:01 2016 -0700
@@ -129,12 +129,10 @@
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD));
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD_ACQUIRE));
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD_RELEASE));
- assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.ADD_AND_GET));
#else[AtomicAdd]
assertFalse(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD));
assertFalse(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD_ACQUIRE));
assertFalse(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD_RELEASE));
- assertFalse(vh.isAccessModeSupported(VarHandle.AccessMode.ADD_AND_GET));
#end[AtomicAdd]
#if[Bitwise]
@@ -365,10 +363,6 @@
checkUOE(() -> {
$type$ o = ($type$) vh.getAndAddRelease(recv, $value1$);
});
-
- checkUOE(() -> {
- $type$ o = ($type$) vh.addAndGet(recv, $value1$);
- });
#end[AtomicAdd]
#if[!Bitwise]
@@ -513,10 +507,6 @@
checkUOE(() -> {
$type$ o = ($type$) vh.getAndAddRelease($value1$);
});
-
- checkUOE(() -> {
- $type$ o = ($type$) vh.addAndGet($value1$);
- });
#end[AtomicAdd]
#if[!Bitwise]
@@ -723,10 +713,10 @@
{
vh.set(recv, $value1$);
- $type$ o = ($type$) vh.getAndAdd(recv, $value3$);
+ $type$ o = ($type$) vh.getAndAdd(recv, $value2$);
assertEquals(o, $value1$, "getAndAdd $type$");
- $type$ c = ($type$) vh.addAndGet(recv, $value3$);
- assertEquals(c, ($type$)($value1$ + $value3$ + $value3$), "getAndAdd $type$ value");
+ $type$ x = ($type$) vh.get(recv);
+ assertEquals(x, ($type$)($value1$ + $value2$), "getAndAdd $type$ value");
}
{
@@ -894,10 +884,6 @@
checkUOE(() -> {
$type$ o = ($type$) vh.getAndAddRelease(recv, $value1$);
});
-
- checkUOE(() -> {
- $type$ o = ($type$) vh.addAndGet(recv, $value1$);
- });
#end[AtomicAdd]
#if[!Bitwise]
@@ -1104,10 +1090,10 @@
{
vh.set($value1$);
- $type$ o = ($type$) vh.getAndAdd( $value3$);
+ $type$ o = ($type$) vh.getAndAdd($value2$);
assertEquals(o, $value1$, "getAndAdd $type$");
- $type$ c = ($type$) vh.addAndGet($value3$);
- assertEquals(c, ($type$)($value1$ + $value3$ + $value3$), "getAndAdd $type$ value");
+ $type$ x = ($type$) vh.get();
+ assertEquals(x, ($type$)($value1$ + $value2$), "getAndAdd $type$ value");
}
{
@@ -1275,10 +1261,6 @@
checkUOE(() -> {
$type$ o = ($type$) vh.getAndAddRelease($value1$);
});
-
- checkUOE(() -> {
- $type$ o = ($type$) vh.addAndGet($value1$);
- });
#end[AtomicAdd]
#if[!Bitwise]
@@ -1488,10 +1470,10 @@
{
vh.set(array, i, $value1$);
- $type$ o = ($type$) vh.getAndAdd(array, i, $value3$);
+ $type$ o = ($type$) vh.getAndAdd(array, i, $value2$);
assertEquals(o, $value1$, "getAndAdd $type$");
- $type$ c = ($type$) vh.addAndGet(array, i, $value3$);
- assertEquals(c, ($type$)($value1$ + $value3$ + $value3$), "getAndAdd $type$ value");
+ $type$ x = ($type$) vh.get(array, i);
+ assertEquals(x, ($type$)($value1$ + $value2$), "getAndAdd $type$ value");
}
{
@@ -1663,10 +1645,6 @@
checkUOE(() -> {
$type$ o = ($type$) vh.getAndAddRelease(array, i, $value1$);
});
-
- checkUOE(() -> {
- $type$ o = ($type$) vh.addAndGet(array, i, $value1$);
- });
#end[AtomicAdd]
#if[!Bitwise]
@@ -1804,10 +1782,6 @@
checkIOOBE(() -> {
$type$ o = ($type$) vh.getAndAddRelease(array, ci, $value1$);
});
-
- checkIOOBE(() -> {
- $type$ o = ($type$) vh.addAndGet(array, ci, $value1$);
- });
#end[AtomicAdd]
#if[Bitwise]
--- a/jdk/test/java/lang/invoke/VarHandles/X-VarHandleTestByteArrayView.java.template Thu Sep 01 10:16:57 2016 -0700
+++ b/jdk/test/java/lang/invoke/VarHandles/X-VarHandleTestByteArrayView.java.template Thu Sep 01 10:17:01 2016 -0700
@@ -118,12 +118,10 @@
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD));
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD_ACQUIRE));
assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD_RELEASE));
- assertTrue(vh.isAccessModeSupported(VarHandle.AccessMode.ADD_AND_GET));
#else[AtomicAdd]
assertFalse(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD));
assertFalse(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD_ACQUIRE));
assertFalse(vh.isAccessModeSupported(VarHandle.AccessMode.GET_AND_ADD_RELEASE));
- assertFalse(vh.isAccessModeSupported(VarHandle.AccessMode.ADD_AND_GET));
#end[AtomicAdd]
#if[Bitwise]
@@ -289,10 +287,6 @@
checkUOE(() -> {
$type$ o = ($type$) vh.getAndAddRelease(array, ci, VALUE_1);
});
-
- checkUOE(() -> {
- $type$ o = ($type$) vh.addAndGet(array, ci, VALUE_1);
- });
#end[AtomicAdd]
#if[!Bitwise]
@@ -462,10 +456,6 @@
checkROBE(() -> {
$type$ o = ($type$) vh.getAndAddRelease(array, ci, VALUE_1);
});
-
- checkROBE(() -> {
- $type$ o = ($type$) vh.addAndGet(array, ci, VALUE_1);
- });
#else[AtomicAdd]
checkUOE(() -> {
$type$ o = ($type$) vh.getAndAdd(array, ci, VALUE_1);
@@ -478,10 +468,6 @@
checkUOE(() -> {
$type$ o = ($type$) vh.getAndAddRelease(array, ci, VALUE_1);
});
-
- checkUOE(() -> {
- $type$ o = ($type$) vh.addAndGet(array, ci, VALUE_1);
- });
#end[AtomicAdd]
#if[Bitwise]
@@ -616,10 +602,6 @@
checkUOE(() -> {
$type$ o = ($type$) vh.getAndAddRelease(array, ci, VALUE_1);
});
-
- checkUOE(() -> {
- $type$ o = ($type$) vh.addAndGet(array, ci, VALUE_1);
- });
#end[AtomicAdd]
#if[!Bitwise]
checkUOE(() -> {
@@ -760,10 +742,6 @@
checkIOOBE(() -> {
$type$ o = ($type$) vh.getAndAddRelease(array, ci, VALUE_1);
});
-
- checkIOOBE(() -> {
- $type$ o = ($type$) vh.addAndGet(array, ci, VALUE_1);
- });
#end[AtomicAdd]
#if[Bitwise]
@@ -910,10 +888,6 @@
checkIOOBE(() -> {
$type$ o = ($type$) vh.getAndAddRelease(array, ci, VALUE_1);
});
-
- checkIOOBE(() -> {
- $type$ o = ($type$) vh.addAndGet(array, ci, VALUE_1);
- });
#end[AtomicAdd]
#if[Bitwise]
@@ -1051,10 +1025,6 @@
checkISE(() -> {
$type$ o = ($type$) vh.getAndAddRelease(array, ci, VALUE_1);
});
-
- checkISE(() -> {
- $type$ o = ($type$) vh.addAndGet(array, ci, VALUE_1);
- });
#end[AtomicAdd]
#if[Bitwise]
@@ -1194,10 +1164,6 @@
checkISE(() -> {
$type$ o = ($type$) vh.getAndAddRelease(array, ci, VALUE_1);
});
-
- checkISE(() -> {
- $type$ o = ($type$) vh.addAndGet(array, ci, VALUE_1);
- });
#end[AtomicAdd]
#if[Bitwise]
@@ -1414,10 +1380,10 @@
{
vh.set(array, i, VALUE_1);
- $type$ o = ($type$) vh.getAndAdd(array, i, VALUE_3);
+ $type$ o = ($type$) vh.getAndAdd(array, i, VALUE_2);
assertEquals(o, VALUE_1, "getAndAdd $type$");
- $type$ c = ($type$) vh.addAndGet(array, i, VALUE_3);
- assertEquals(c, VALUE_1 + VALUE_3 + VALUE_3, "getAndAdd $type$ value");
+ $type$ x = ($type$) vh.get(array, i);
+ assertEquals(x, VALUE_1 + VALUE_2, "getAndAdd $type$ value");
}
{
@@ -1700,10 +1666,10 @@
{
vh.set(array, i, VALUE_1);
- $type$ o = ($type$) vh.getAndAdd(array, i, VALUE_3);
+ $type$ o = ($type$) vh.getAndAdd(array, i, VALUE_2);
assertEquals(o, VALUE_1, "getAndAdd $type$");
- $type$ c = ($type$) vh.addAndGet(array, i, VALUE_3);
- assertEquals(c, VALUE_1 + VALUE_3 + VALUE_3, "getAndAdd $type$ value");
+ $type$ x = ($type$) vh.get(array, i);
+ assertEquals(x, VALUE_1 + VALUE_2, "getAndAdd $type$ value");
}
{
--- a/jdk/test/java/lang/invoke/VarHandles/X-VarHandleTestMethodHandleAccess.java.template Thu Sep 01 10:16:57 2016 -0700
+++ b/jdk/test/java/lang/invoke/VarHandles/X-VarHandleTestMethodHandleAccess.java.template Thu Sep 01 10:17:01 2016 -0700
@@ -262,10 +262,10 @@
{
hs.get(TestAccessMode.SET).invokeExact(recv, $value1$);
- $type$ o = ($type$) hs.get(TestAccessMode.GET_AND_ADD).invokeExact(recv, $value3$);
+ $type$ o = ($type$) hs.get(TestAccessMode.GET_AND_ADD).invokeExact(recv, $value2$);
assertEquals(o, $value1$, "getAndAdd $type$");
- $type$ c = ($type$) hs.get(TestAccessMode.ADD_AND_GET).invokeExact(recv, $value3$);
- assertEquals(c, ($type$)($value1$ + $value3$ + $value3$), "getAndAdd $type$ value");
+ $type$ x = ($type$) hs.get(TestAccessMode.GET).invokeExact(recv);
+ assertEquals(x, ($type$)($value1$ + $value2$), "getAndAdd $type$ value");
}
{
@@ -579,10 +579,10 @@
{
hs.get(TestAccessMode.SET).invokeExact($value1$);
- $type$ o = ($type$) hs.get(TestAccessMode.GET_AND_ADD).invokeExact($value3$);
+ $type$ o = ($type$) hs.get(TestAccessMode.GET_AND_ADD).invokeExact($value2$);
assertEquals(o, $value1$, "getAndAdd $type$");
- $type$ c = ($type$) hs.get(TestAccessMode.ADD_AND_GET).invokeExact($value3$);
- assertEquals(c, ($type$)($value1$ + $value3$ + $value3$), "getAndAdd $type$ value");
+ $type$ x = ($type$) hs.get(TestAccessMode.GET).invokeExact();
+ assertEquals(x, ($type$)($value1$ + $value2$), "getAndAdd $type$ value");
}
{
@@ -897,10 +897,10 @@
{
hs.get(TestAccessMode.SET).invokeExact(array, i, $value1$);
- $type$ o = ($type$) hs.get(TestAccessMode.GET_AND_ADD).invokeExact(array, i, $value3$);
+ $type$ o = ($type$) hs.get(TestAccessMode.GET_AND_ADD).invokeExact(array, i, $value2$);
assertEquals(o, $value1$, "getAndAdd $type$");
- $type$ c = ($type$) hs.get(TestAccessMode.ADD_AND_GET).invokeExact(array, i, $value3$);
- assertEquals(c, ($type$)($value1$ + $value3$ + $value3$), "getAndAdd $type$ value");
+ $type$ x = ($type$) hs.get(TestAccessMode.GET).invokeExact(array, i);
+ assertEquals(x, ($type$)($value1$ + $value2$), "getAndAdd $type$ value");
}
{
--- a/jdk/test/java/lang/invoke/VarHandles/X-VarHandleTestMethodType.java.template Thu Sep 01 10:16:57 2016 -0700
+++ b/jdk/test/java/lang/invoke/VarHandles/X-VarHandleTestMethodType.java.template Thu Sep 01 10:17:01 2016 -0700
@@ -729,35 +729,6 @@
checkWMTE(() -> { // >
$type$ x = ($type$) vh.getAndAddRelease(recv, $value1$, Void.class);
});
-
- // AddAndGet
- // Incorrect argument types
- checkNPE(() -> { // null receiver
- $type$ x = ($type$) vh.addAndGet(null, $value1$);
- });
- checkCCE(() -> { // receiver reference class
- $type$ x = ($type$) vh.addAndGet(Void.class, $value1$);
- });
- check{#if[String]?CCE:WMTE}(() -> { // value reference class
- $type$ x = ($type$) vh.addAndGet(recv, Void.class);
- });
- checkWMTE(() -> { // reciever primitive class
- $type$ x = ($type$) vh.addAndGet(0, $value1$);
- });
- // Incorrect return type
- check{#if[String]?CCE:WMTE}(() -> { // reference class
- Void r = (Void) vh.addAndGet(recv, $value1$);
- });
- checkWMTE(() -> { // primitive class
- $wrong_primitive_type$ x = ($wrong_primitive_type$) vh.addAndGet(recv, $value1$);
- });
- // Incorrect arity
- checkWMTE(() -> { // 0
- $type$ x = ($type$) vh.addAndGet();
- });
- checkWMTE(() -> { // >
- $type$ x = ($type$) vh.addAndGet(recv, $value1$, Void.class);
- });
#end[AtomicAdd]
#if[Bitwise]
@@ -1682,27 +1653,6 @@
checkWMTE(() -> { // >
$type$ x = ($type$) vh.getAndAddRelease($value1$, Void.class);
});
-
-
- // AddAndGet
- // Incorrect argument types
- check{#if[String]?CCE:WMTE}(() -> { // value reference class
- $type$ x = ($type$) vh.addAndGet(Void.class);
- });
- // Incorrect return type
- check{#if[String]?CCE:WMTE}(() -> { // reference class
- Void r = (Void) vh.addAndGet($value1$);
- });
- checkWMTE(() -> { // primitive class
- $wrong_primitive_type$ x = ($wrong_primitive_type$) vh.addAndGet($value1$);
- });
- // Incorrect arity
- checkWMTE(() -> { // 0
- $type$ x = ($type$) vh.addAndGet();
- });
- checkWMTE(() -> { // >
- $type$ x = ($type$) vh.addAndGet($value1$, Void.class);
- });
#end[AtomicAdd]
#if[Bitwise]
@@ -2747,39 +2697,6 @@
checkWMTE(() -> { // >
$type$ x = ($type$) vh.getAndAddRelease(array, 0, $value1$, Void.class);
});
-
-
- // AddAndGet
- // Incorrect argument types
- checkNPE(() -> { // null array
- $type$ x = ($type$) vh.addAndGet(null, 0, $value1$);
- });
- checkCCE(() -> { // array reference class
- $type$ x = ($type$) vh.addAndGet(Void.class, 0, $value1$);
- });
- check{#if[String]?CCE:WMTE}(() -> { // value reference class
- $type$ x = ($type$) vh.addAndGet(array, 0, Void.class);
- });
- checkWMTE(() -> { // array primitive class
- $type$ x = ($type$) vh.addAndGet(0, 0, $value1$);
- });
- checkWMTE(() -> { // index reference class
- $type$ x = ($type$) vh.addAndGet(array, Void.class, $value1$);
- });
- // Incorrect return type
- check{#if[String]?CCE:WMTE}(() -> { // reference class
- Void r = (Void) vh.addAndGet(array, 0, $value1$);
- });
- checkWMTE(() -> { // primitive class
- $wrong_primitive_type$ x = ($wrong_primitive_type$) vh.addAndGet(array, 0, $value1$);
- });
- // Incorrect arity
- checkWMTE(() -> { // 0
- $type$ x = ($type$) vh.addAndGet();
- });
- checkWMTE(() -> { // >
- $type$ x = ($type$) vh.addAndGet(array, 0, $value1$, Void.class);
- });
#end[AtomicAdd]
#if[Bitwise]