1066 * |
1066 * |
1067 * Corresponds to C11 atomic_store_explicit(..., memory_order_release). |
1067 * Corresponds to C11 atomic_store_explicit(..., memory_order_release). |
1068 */ |
1068 */ |
1069 @ForceInline |
1069 @ForceInline |
1070 public void putOrderedObject(Object o, long offset, Object x) { |
1070 public void putOrderedObject(Object o, long offset, Object x) { |
1071 theInternalUnsafe.putOrderedObject(o, offset, x); |
1071 theInternalUnsafe.putObjectRelease(o, offset, x); |
1072 } |
1072 } |
1073 |
1073 |
1074 /** Ordered/Lazy version of {@link #putIntVolatile(Object, long, int)} */ |
1074 /** Ordered/Lazy version of {@link #putIntVolatile(Object, long, int)} */ |
1075 @ForceInline |
1075 @ForceInline |
1076 public void putOrderedInt(Object o, long offset, int x) { |
1076 public void putOrderedInt(Object o, long offset, int x) { |
1077 theInternalUnsafe.putOrderedInt(o, offset, x); |
1077 theInternalUnsafe.putIntRelease(o, offset, x); |
1078 } |
1078 } |
1079 |
1079 |
1080 /** Ordered/Lazy version of {@link #putLongVolatile(Object, long, long)} */ |
1080 /** Ordered/Lazy version of {@link #putLongVolatile(Object, long, long)} */ |
1081 @ForceInline |
1081 @ForceInline |
1082 public void putOrderedLong(Object o, long offset, long x) { |
1082 public void putOrderedLong(Object o, long offset, long x) { |
1083 theInternalUnsafe.putOrderedLong(o, offset, x); |
1083 theInternalUnsafe.putLongRelease(o, offset, x); |
1084 } |
1084 } |
1085 |
1085 |
1086 /** |
1086 /** |
1087 * Unblocks the given thread blocked on {@code park}, or, if it is |
1087 * Unblocks the given thread blocked on {@code park}, or, if it is |
1088 * not blocked, causes the subsequent call to {@code park} not to |
1088 * not blocked, causes the subsequent call to {@code park} not to |