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

[C2] Hoisting of DecodeN leaves MachTemp inputs behind

XMLWordPrintable

    • b21
    • ppc, s390x

        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.

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

                Created:
                Updated:
                Resolved: