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

[C2] Hoisting of DecodeN leaves MachTemp inputs behind

    XMLWordPrintable

    Details

    • Subcomponent:
    • Resolved In Build:
      b21
    • CPU:
      ppc, s390x

      Backports

        Description

        C2's Local Code Motion (LCM) can hoist DecodeN nodes into a different block. Depending on CompressedOops mode and platform, they can have MachTemp input nodes representing temp registers as needed by the platform code and /or other input nodes.

        PPC64 and s390 have DecodeN implementations which use a MachTemp input. When LCM hoists the DecodeN, they reside in the old block, but should get hoisted together with the DecodeN node.

        Load Base is a further possible input node (e.g. on s390).

        This can be observed by the new assertion introduced by JDK-8263227 when running e.g. compiler/runtime/Test6826736.java.
        Crashes are not observed in product build. However, the register allocation may produce sub-optimal results.

          Attachments

            Issue Links

              Activity

                People

                Assignee:
                mdoerr Martin Doerr
                Reporter:
                mdoerr Martin Doerr
                Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved: