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

[PPC64] CodeEntryAlignment too large

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Fixed
    • Icon: P3 P3
    • 23
    • 23
    • hotspot
    • b12
    • ppc

      PPC64 currently uses CodeEntryAlignment of 128 which wastes too much space. Especially after JDK-8322630. The beginning of an nmethod currently looks like this:

      [Instructions begin]
       ;; N1181: # out( B1 ) <- BLOCK HEAD IS JUNK Freq: 1
        0x00007fff7cbda880: nop ; {no_reloc}
        0x00007fff7cbda884: nop
        0x00007fff7cbda888: nop
        0x00007fff7cbda88c: nop
        0x00007fff7cbda890: nop
        0x00007fff7cbda894: nop
        0x00007fff7cbda898: nop
        0x00007fff7cbda89c: nop
        0x00007fff7cbda8a0: nop
        0x00007fff7cbda8a4: nop
        0x00007fff7cbda8a8: nop
        0x00007fff7cbda8ac: nop
        0x00007fff7cbda8b0: nop
        0x00007fff7cbda8b4: nop
        0x00007fff7cbda8b8: nop
        0x00007fff7cbda8bc: nop
        0x00007fff7cbda8c0: nop
        0x00007fff7cbda8c4: nop
        0x00007fff7cbda8c8: nop
        0x00007fff7cbda8cc: nop
        0x00007fff7cbda8d0: nop
        0x00007fff7cbda8d4: nop
        0x00007fff7cbda8d8: nop
        0x00007fff7cbda8dc: nop
        0x00007fff7cbda8e0: nop
        0x00007fff7cbda8e4: nop
        0x00007fff7cbda8e8: nop
        0x00007fff7cbda8ec: nop
        0x00007fff7cbda8f0: nop
      [Entry Point]
        # {method} {0x00007fff407064e8} 'bogus_test' '()V' in 'TestAlloc'
        # [sp+0x90] (sp of caller)
        0x00007fff7cbda8f4: lwz r11,8(r3)
        0x00007fff7cbda8f8: ld r12,8(r19)
        0x00007fff7cbda8fc: td 3,r11,r12 ;trap: ic miss check
      [Verified Entry Point]

      No other platform uses such a large CodeEntryAlignment. Going down to 64 doesn't seem to cause any performance regression. We can't go down further because Power 10 requires a multiple of 64 for prefixed instructions.

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

              Created:
              Updated:
              Resolved: