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

Compressed OOPs affect LCM causing spills

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Won't Fix
    • Icon: P4 P4
    • None
    • hs19, 9, 10
    • hotspot
    • x86
    • generic

      % cat .hotspot_compiler
      print Decompiler::decodeConstantPool

      % /java/re/jdk/7/latest/binaries/solaris-amd64/fastdebug/bin/java -d64 -XX:+UseCompressedOops -XX:+PrintCompilation -Xbatch -XX:CICompilerCount=1 -Xmx128M -jar GCBasher.jar -time:300000
      ...

      0b6 B6: # B56 B7 <- B60 B5 Freq: 0.999979
      0b6
      0b6 # checkcastPP of R8
      0b6 movq R10, [rsp + #0] # spill
      0ba movq R10, R10 # ptr -> long
      0ba encode_heap_oop_not_null R11,R8
      13d movq R8, [rsp + #0] # spill
      141 movl [R8 + #24 (8-bit)], R11 # compressed ptr ! Field Decompiler.constantPool
      145 shrq R10, #9
      149 movq R11, 0xfffffd7ff19fe000 # ptr
      153 movb [R11 + R10], R12 # short/char (R12_heapbase==0)
      157 cmpl RBP, #1
      15a jle B56 P=0.010631 C=73.000000
      15a

      Without COOP:

      0a0 B6: # B57 B7 <- B61 B5 Freq: 0.999979
      0a0
      0a0 # checkcastPP of R11
      0a0 movq R10, [rsp + #0] # spill
      0a4 movq [R10 + #40 (8-bit)], R11 # ptr ! Field Decompiler.constantPool
      0a8 movq R10, R10 # ptr -> long
      0a8 shrq R10, #9
      0ac movq R11, 0xff7ffd813eede000 # ptr
      0b6 movb [R11 + R10], #0 # byte
      0bb cmpl RBP, #1
      0be jle B57 P=0.010631 C=73.000000
      0be

            Unassigned Unassigned
            kvn Vladimir Kozlov
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: