aarch64: C2 does not handle large stack offsets

XMLWordPrintable

    • Type: Bug
    • Resolution: Fixed
    • Priority: P4
    • 9
    • Affects Version/s: 9
    • Component/s: hotspot
    • None
    • b77
    • aarch64
    • linux

        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.

              Assignee:
              Ed Nevill
              Reporter:
              Ed Nevill
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved:

                  Estimated:
                  Original Estimate - 1 day
                  1d
                  Remaining:
                  Remaining Estimate - 1 day
                  1d
                  Logged:
                  Time Spent - Not Specified
                  Not Specified