--- a/jdk/src/java.base/share/classes/jdk/internal/misc/Unsafe.java Tue May 10 06:52:40 2016 +0200
+++ b/jdk/src/java.base/share/classes/jdk/internal/misc/Unsafe.java Wed May 11 00:30:33 2016 +0300
@@ -1350,6 +1350,13 @@
return compareAndSwapObject(o, offset, expected, x);
}
+ @HotSpotIntrinsicCandidate
+ public final boolean weakCompareAndSwapObjectVolatile(Object o, long offset,
+ Object expected,
+ Object x) {
+ return compareAndSwapObject(o, offset, expected, x);
+ }
+
/**
* Atomically updates Java variable to {@code x} if it is currently
* holding {@code expected}.
@@ -1404,6 +1411,13 @@
return compareAndSwapInt(o, offset, expected, x);
}
+ @HotSpotIntrinsicCandidate
+ public final boolean weakCompareAndSwapIntVolatile(Object o, long offset,
+ int expected,
+ int x) {
+ return compareAndSwapInt(o, offset, expected, x);
+ }
+
/**
* Atomically updates Java variable to {@code x} if it is currently
* holding {@code expected}.
@@ -1458,6 +1472,13 @@
return compareAndSwapLong(o, offset, expected, x);
}
+ @HotSpotIntrinsicCandidate
+ public final boolean weakCompareAndSwapLongVolatile(Object o, long offset,
+ long expected,
+ long x) {
+ return compareAndSwapLong(o, offset, expected, x);
+ }
+
/**
* Fetches a reference value from a given Java variable, with volatile
* load semantics. Otherwise identical to {@link #getObject(Object, long)}