-
Bug
-
Resolution: Unresolved
-
P4
-
24
-
In Review
The VarHandle methods on MethodHandles, byteArrayViewVarHandle, byteBufferViewVarHandle state:
* If access is aligned then following access modes are supported and are
* guaranteed to support atomic access:
* <ul>
* <li>read write access modes for all {@code T}, with the exception of
* access modes {@code get} and {@code set} for {@code long} and
* {@code double} on 32-bit platforms.
This is misleading, aligned access for modes get/set is supported on 32-bit systems but access is not guaranteed to be atomic and therefore may lead to word tearing.
Note: This is already fixed in MemoryLayout::varHandle.
* If access is aligned then following access modes are supported and are
* guaranteed to support atomic access:
* <ul>
* <li>read write access modes for all {@code T}, with the exception of
* access modes {@code get} and {@code set} for {@code long} and
* {@code double} on 32-bit platforms.
This is misleading, aligned access for modes get/set is supported on 32-bit systems but access is not guaranteed to be atomic and therefore may lead to word tearing.
Note: This is already fixed in MemoryLayout::varHandle.
- csr for
-
JDK-8361935 Clarify VarHandle set/get access on 32-bit platforms
-
- Finalized
-
- relates to
-
JDK-8315096 Allowed access modes in memory segment should depend on layout alignment
-
- Resolved
-
-
JDK-8318966 Some methods make promises about Java array element alignment that are too strong
-
- Resolved
-
- links to
-
Review(master) openjdk/jdk/26258