-
Bug
-
Resolution: Fixed
-
P3
-
21, 22
-
b03
-
Verified
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8310493 | 22 | Jorn Vernee | P3 | Resolved | Fixed | b03 |
JDK-8311321 | 21.0.1 | Jorn Vernee | P3 | Resolved | Fixed | b02 |
JDK-8310552 | 21 | Jorn Vernee | P3 | Resolved | Fixed | b28 |
Only an alignment check for the final accessed value is done, but this means the access might not be aligned for the root layout. Take for instance this struct layout:
MemoryLayout.structLayout(
JAVA_INT,
JAVA_SHORT.withName("x"));
When the field "x" is accessed, we only check that the access is aligned according to the alignment constraint of the JAVA_SHORT, rather than the alignment constraint of the struct layout itself (which might be more strict).
We should check that the access is aligned according to the alignment constraint of the root layout.
- backported by
-
JDK-8310493 VarHandle and slice handle derived from layout are lacking alignment check
- Resolved
-
JDK-8310552 VarHandle and slice handle derived from layout are lacking alignment check
- Resolved
-
JDK-8311321 VarHandle and slice handle derived from layout are lacking alignment check
- Resolved
- csr for
-
JDK-8310068 VarHandle and slice handle derived from layout are lacking alignment check
- Closed
- links to
-
Commit openjdk/jdk21/3985a4d5
-
Commit openjdk/jdk/e022e876
-
Review openjdk/jdk21/42
-
Review openjdk/jdk/14475