Backports
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8135633 | emb-9 | Ed Nevill | P4 | Resolved | Fixed | team |
Description
MachSpillCopy in aarch64 does not handle large stack offset.
In general the stack offset is limited to (1<<12) * sizeof(type). This is generally sufficient.
However for 128 bit vectors the limit can be as little as +256 bytes. This is because 128 bit vectors may not be 128 bit aligned, therefore they have to use a different form of load/store which only has a 9 bit signed offset instead of the 12 bit unsigned scaled offset.
This issue proposes rewriting the spill code to handle large (up to 1<<24) offsets.
In general the stack offset is limited to (1<<12) * sizeof(type). This is generally sufficient.
However for 128 bit vectors the limit can be as little as +256 bytes. This is because 128 bit vectors may not be 128 bit aligned, therefore they have to use a different form of load/store which only has a 9 bit signed offset instead of the 12 bit unsigned scaled offset.
This issue proposes rewriting the spill code to handle large (up to 1<<24) offsets.
Attachments
Issue Links
- backported by
-
JDK-8135633 aarch64: C2 does not handle large stack offsets
- Resolved
- relates to
-
JDK-8272050 typo in MachSpillCopyNode::implementation after JDK-8131362
- Resolved