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

[lworld] C2 should not clear storage property bits if comparing to non-inline array klass

    Details

      Description

      From JDK-8228622:
      2. Clearing ArrayStorageProperties bits before class ptr comparision:
      0x00007f9523f78b2b: mov 0x8(%r12),%r10
      0x00007f9523f78b30: shl $0x3,%r10
      0x00007f9523f78b34: sar $0x3,%r10
      0x00007f9523f78b38: movabs $0x7f93e3b32200,%r11 ; {metadata('org/openjdk/valhalla/tofind0/ListIter$SampleTask')}
      0x00007f9523f78b42: cmp %r11,%r10
      0x00007f9523f78b45: jne 0x00007f9523f78ce2 ;*checkcast

      In reality we don't need to clear that bits at all. Final comparison is performed with class pointer (not array) and doesn't depends on that bits.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                thartmann Tobias Hartmann
                Reporter:
                thartmann Tobias Hartmann
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: