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

[Lilliput] Make loadNKlassCompactHeaders not use a TEMP register

    XMLWordPrintable

Details

    • x86_64, aarch64
    • generic

    Backports

      Description

        The loadNKlassCompactHeaders template in the .ad files currently declares dst as TEMP_DEF. This has historic reasons: We needed to ensure that dst doesn't overlap with src, because we needed src for calling into the slow-path. In addition to that, there seems to be a related bug in C2's matcher which sometimes seems to create an oopmap entry for a temp reg, which would make GCs crash if they scan uninitialized slot (see JDK-8051805). That problem should also go away with this change. In addition to that, relaxing the type of dst might also lead to performance enhancements when register pressure is high, because we don't need two registers for loadNKlass - 1 register would be enough.

        Attachments

          Issue Links

            Activity

              People

                rkennke Roman Kennke
                rkennke Roman Kennke
                Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved: