--- a/jdk/test/java/lang/invoke/VarHandles/VarHandleTestAccessInt.java Fri May 06 11:47:45 2016 +0300
+++ b/jdk/test/java/lang/invoke/VarHandles/VarHandleTestAccessInt.java Fri May 06 18:21:41 2016 +0300
@@ -401,22 +401,31 @@
}
{
- boolean r = vh.weakCompareAndSet(recv, 1, 2);
- assertEquals(r, true, "weakCompareAndSet int");
+ boolean success = false;
+ for (int c = 0; c < WEAK_ATTEMPTS && !success; c++) {
+ success = vh.weakCompareAndSet(recv, 1, 2);
+ }
+ assertEquals(success, true, "weakCompareAndSet int");
int x = (int) vh.get(recv);
assertEquals(x, 2, "weakCompareAndSet int value");
}
{
- boolean r = vh.weakCompareAndSetAcquire(recv, 2, 1);
- assertEquals(r, true, "weakCompareAndSetAcquire int");
+ boolean success = false;
+ for (int c = 0; c < WEAK_ATTEMPTS && !success; c++) {
+ success = vh.weakCompareAndSetAcquire(recv, 2, 1);
+ }
+ assertEquals(success, true, "weakCompareAndSetAcquire int");
int x = (int) vh.get(recv);
assertEquals(x, 1, "weakCompareAndSetAcquire int");
}
{
- boolean r = vh.weakCompareAndSetRelease(recv, 1, 2);
- assertEquals(r, true, "weakCompareAndSetRelease int");
+ boolean success = false;
+ for (int c = 0; c < WEAK_ATTEMPTS && !success; c++) {
+ success = vh.weakCompareAndSetRelease(recv, 1, 2);
+ }
+ assertEquals(success, true, "weakCompareAndSetRelease int");
int x = (int) vh.get(recv);
assertEquals(x, 2, "weakCompareAndSetRelease int");
}
@@ -535,22 +544,31 @@
}
{
- boolean r = (boolean) vh.weakCompareAndSet(1, 2);
- assertEquals(r, true, "weakCompareAndSet int");
+ boolean success = false;
+ for (int c = 0; c < WEAK_ATTEMPTS && !success; c++) {
+ success = vh.weakCompareAndSet(1, 2);
+ }
+ assertEquals(success, true, "weakCompareAndSet int");
int x = (int) vh.get();
assertEquals(x, 2, "weakCompareAndSet int value");
}
{
- boolean r = (boolean) vh.weakCompareAndSetAcquire(2, 1);
- assertEquals(r, true, "weakCompareAndSetAcquire int");
+ boolean success = false;
+ for (int c = 0; c < WEAK_ATTEMPTS && !success; c++) {
+ success = vh.weakCompareAndSetAcquire(2, 1);
+ }
+ assertEquals(success, true, "weakCompareAndSetAcquire int");
int x = (int) vh.get();
assertEquals(x, 1, "weakCompareAndSetAcquire int");
}
{
- boolean r = (boolean) vh.weakCompareAndSetRelease( 1, 2);
- assertEquals(r, true, "weakCompareAndSetRelease int");
+ boolean success = false;
+ for (int c = 0; c < WEAK_ATTEMPTS && !success; c++) {
+ success = vh.weakCompareAndSetRelease(1, 2);
+ }
+ assertEquals(success, true, "weakCompareAndSetRelease int");
int x = (int) vh.get();
assertEquals(x, 2, "weakCompareAndSetRelease int");
}
@@ -672,22 +690,31 @@
}
{
- boolean r = vh.weakCompareAndSet(array, i, 1, 2);
- assertEquals(r, true, "weakCompareAndSet int");
+ boolean success = false;
+ for (int c = 0; c < WEAK_ATTEMPTS && !success; c++) {
+ success = vh.weakCompareAndSet(array, i, 1, 2);
+ }
+ assertEquals(success, true, "weakCompareAndSet int");
int x = (int) vh.get(array, i);
assertEquals(x, 2, "weakCompareAndSet int value");
}
{
- boolean r = vh.weakCompareAndSetAcquire(array, i, 2, 1);
- assertEquals(r, true, "weakCompareAndSetAcquire int");
+ boolean success = false;
+ for (int c = 0; c < WEAK_ATTEMPTS && !success; c++) {
+ success = vh.weakCompareAndSetAcquire(array, i, 2, 1);
+ }
+ assertEquals(success, true, "weakCompareAndSetAcquire int");
int x = (int) vh.get(array, i);
assertEquals(x, 1, "weakCompareAndSetAcquire int");
}
{
- boolean r = vh.weakCompareAndSetRelease(array, i, 1, 2);
- assertEquals(r, true, "weakCompareAndSetRelease int");
+ boolean success = false;
+ for (int c = 0; c < WEAK_ATTEMPTS && !success; c++) {
+ success = vh.weakCompareAndSetRelease(array, i, 1, 2);
+ }
+ assertEquals(success, true, "weakCompareAndSetRelease int");
int x = (int) vh.get(array, i);
assertEquals(x, 2, "weakCompareAndSetRelease int");
}