-
Enhancement
-
Resolution: Fixed
-
P3
-
6
-
b53
-
generic
-
generic
Doug Lea writes:
"The request is to add three methods, whose primary use
is to support lazySet, but are also needed to
correctly and efficiently handle barrier-less volatile
writes. For example, setting the parkBlocker in support
of Mandy's stuff. (I can add more explanation and
implementation notes if they would be useful for CCC.)
/**
* Version of {@link #putObjectVolatile(Object, long, Object)}
* that does not guarantee immediate visibility of the store to
* other threads. This method is generally only useful if the
* underlying field is a Java volatile (or if an array cell, one
* that is otherwise only accessed using volatile accesses).
*/
public native void putOrderedObject(Object o, long offset,
Object x);
/** Ordered/Lazy version of {@link #putIntVolatile(Object, long,
int)} */
public native void putOrderedInt(Object o, long offset, int x);
/** Ordered/Lazy version of {@link #putLongVolatile(Object, long,
long)} */
public native void putOrderedLong(Object o, long offset, long x);
"
###@###.### 2005-06-07 07:06:32 GMT
"The request is to add three methods, whose primary use
is to support lazySet, but are also needed to
correctly and efficiently handle barrier-less volatile
writes. For example, setting the parkBlocker in support
of Mandy's stuff. (I can add more explanation and
implementation notes if they would be useful for CCC.)
/**
* Version of {@link #putObjectVolatile(Object, long, Object)}
* that does not guarantee immediate visibility of the store to
* other threads. This method is generally only useful if the
* underlying field is a Java volatile (or if an array cell, one
* that is otherwise only accessed using volatile accesses).
*/
public native void putOrderedObject(Object o, long offset,
Object x);
/** Ordered/Lazy version of {@link #putIntVolatile(Object, long,
int)} */
public native void putOrderedInt(Object o, long offset, int x);
/** Ordered/Lazy version of {@link #putLongVolatile(Object, long,
long)} */
public native void putOrderedLong(Object o, long offset, long x);
"
###@###.### 2005-06-07 07:06:32 GMT
- duplicates
-
JDK-6291823 partial putback for 6281377 breaks MM_REGRESSION tests
-
- Closed
-
- relates to
-
JDK-6511866 Bad fix to 6281377: Unsafe lazy field set methods
-
- Resolved
-
-
JDK-6322334 Atomics should use Unsafe lazy field set methods
-
- Resolved
-