Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8177661

AArch64: Incorrect C2 patterns cause system register corruption

    Details

    • Subcomponent:
    • Resolved In Build:
      b163
    • CPU:
      aarch64
    • OS:
      generic
    • Verification:
      Not verified

      Backports

        Description

        A rare crash was tracked down to badly-written patterns in aarch64.ad which use iRegX rather than iRegXNoSp as tmp and/or output operands. At times of extreme register pressure, C2 uses system registers such as Rheapbase as scratch. This causes system corruption and crashing.

        It is hard to write reproducible test cases for these crashes because it depends on exactly what inlining gets done, and in turn that depends on runtime profile data.

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  adinn Andrew Dinn
                  Reporter:
                  aph Andrew Haley
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  7 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: