882 $type$ x = ($type$) vh.get(array, i); |
882 $type$ x = ($type$) vh.get(array, i); |
883 assertEquals(x, VALUE_1, "failing compareAndExchangeRelease $type$ value"); |
883 assertEquals(x, VALUE_1, "failing compareAndExchangeRelease $type$ value"); |
884 } |
884 } |
885 |
885 |
886 { |
886 { |
887 boolean r = vh.weakCompareAndSet(array, i, VALUE_1, VALUE_2); |
887 boolean success = false; |
888 assertEquals(r, true, "weakCompareAndSet $type$"); |
888 for (int c = 0; c < WEAK_ATTEMPTS && !success; c++) { |
|
889 success = vh.weakCompareAndSet(array, i, VALUE_1, VALUE_2); |
|
890 } |
|
891 assertEquals(success, true, "weakCompareAndSet $type$"); |
889 $type$ x = ($type$) vh.get(array, i); |
892 $type$ x = ($type$) vh.get(array, i); |
890 assertEquals(x, VALUE_2, "weakCompareAndSet $type$ value"); |
893 assertEquals(x, VALUE_2, "weakCompareAndSet $type$ value"); |
891 } |
894 } |
892 |
895 |
893 { |
896 { |
894 boolean r = vh.weakCompareAndSetAcquire(array, i, VALUE_2, VALUE_1); |
897 boolean success = false; |
895 assertEquals(r, true, "weakCompareAndSetAcquire $type$"); |
898 for (int c = 0; c < WEAK_ATTEMPTS && !success; c++) { |
|
899 success = vh.weakCompareAndSetAcquire(array, i, VALUE_2, VALUE_1); |
|
900 } |
|
901 assertEquals(success, true, "weakCompareAndSetAcquire $type$"); |
896 $type$ x = ($type$) vh.get(array, i); |
902 $type$ x = ($type$) vh.get(array, i); |
897 assertEquals(x, VALUE_1, "weakCompareAndSetAcquire $type$"); |
903 assertEquals(x, VALUE_1, "weakCompareAndSetAcquire $type$"); |
898 } |
904 } |
899 |
905 |
900 { |
906 { |
901 boolean r = vh.weakCompareAndSetRelease(array, i, VALUE_1, VALUE_2); |
907 boolean success = false; |
902 assertEquals(r, true, "weakCompareAndSetRelease $type$"); |
908 for (int c = 0; c < WEAK_ATTEMPTS && !success; c++) { |
|
909 success = vh.weakCompareAndSetRelease(array, i, VALUE_1, VALUE_2); |
|
910 } |
|
911 assertEquals(success, true, "weakCompareAndSetRelease $type$"); |
903 $type$ x = ($type$) vh.get(array, i); |
912 $type$ x = ($type$) vh.get(array, i); |
904 assertEquals(x, VALUE_2, "weakCompareAndSetRelease $type$"); |
913 assertEquals(x, VALUE_2, "weakCompareAndSetRelease $type$"); |
905 } |
914 } |
906 |
915 |
907 { |
916 { |
1035 $type$ x = ($type$) vh.get(array, i); |
1044 $type$ x = ($type$) vh.get(array, i); |
1036 assertEquals(x, VALUE_1, "failing compareAndExchangeRelease $type$ value"); |
1045 assertEquals(x, VALUE_1, "failing compareAndExchangeRelease $type$ value"); |
1037 } |
1046 } |
1038 |
1047 |
1039 { |
1048 { |
1040 boolean r = vh.weakCompareAndSet(array, i, VALUE_1, VALUE_2); |
1049 boolean success = false; |
1041 assertEquals(r, true, "weakCompareAndSet $type$"); |
1050 for (int c = 0; c < WEAK_ATTEMPTS && !success; c++) { |
|
1051 success = vh.weakCompareAndSet(array, i, VALUE_1, VALUE_2); |
|
1052 } |
|
1053 assertEquals(success, true, "weakCompareAndSet $type$"); |
1042 $type$ x = ($type$) vh.get(array, i); |
1054 $type$ x = ($type$) vh.get(array, i); |
1043 assertEquals(x, VALUE_2, "weakCompareAndSet $type$ value"); |
1055 assertEquals(x, VALUE_2, "weakCompareAndSet $type$ value"); |
1044 } |
1056 } |
1045 |
1057 |
1046 { |
1058 { |
1047 boolean r = vh.weakCompareAndSetAcquire(array, i, VALUE_2, VALUE_1); |
1059 boolean success = false; |
1048 assertEquals(r, true, "weakCompareAndSetAcquire $type$"); |
1060 for (int c = 0; c < WEAK_ATTEMPTS && !success; c++) { |
|
1061 success = vh.weakCompareAndSetAcquire(array, i, VALUE_2, VALUE_1); |
|
1062 } |
|
1063 assertEquals(success, true, "weakCompareAndSetAcquire $type$"); |
1049 $type$ x = ($type$) vh.get(array, i); |
1064 $type$ x = ($type$) vh.get(array, i); |
1050 assertEquals(x, VALUE_1, "weakCompareAndSetAcquire $type$"); |
1065 assertEquals(x, VALUE_1, "weakCompareAndSetAcquire $type$"); |
1051 } |
1066 } |
1052 |
1067 |
1053 { |
1068 { |
1054 boolean r = vh.weakCompareAndSetRelease(array, i, VALUE_1, VALUE_2); |
1069 boolean success = false; |
1055 assertEquals(r, true, "weakCompareAndSetRelease $type$"); |
1070 for (int c = 0; c < WEAK_ATTEMPTS && !success; c++) { |
|
1071 success = vh.weakCompareAndSetRelease(array, i, VALUE_1, VALUE_2); |
|
1072 } |
|
1073 assertEquals(success, true, "weakCompareAndSetRelease $type$"); |
1056 $type$ x = ($type$) vh.get(array, i); |
1074 $type$ x = ($type$) vh.get(array, i); |
1057 assertEquals(x, VALUE_2, "weakCompareAndSetRelease $type$"); |
1075 assertEquals(x, VALUE_2, "weakCompareAndSetRelease $type$"); |
1058 } |
1076 } |
1059 |
1077 |
1060 { |
1078 { |