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

x86_64: Improve Assembler generation

XMLWordPrintable

    • b15

      Various inefficiencies can be spotted in the Assembler routines when instrumenting/profiling. Most prominently, emitting bytes (emit_int8) back to back generate inefficient code.

      Providing methods to emit two, three and four bytes at a time. This generates significantly better code, and a significant improvement to startup time.

      Proof-of-concept: http://cr.openjdk.java.net/~redestad/scratch/emit_bytes.00/

      On Hello World:
      -0.35-0.5M instructions (~0.45% of total)
      -100-150k branches (~0.5% of total)
      -0.2-0.6ms (~0.5-2% of total)

      Effects are visible on bootstrap due significantly speeding up generation of the template interpreter and various runtime adapters. Small scaling improvements are visible throughout warmup since there's an accumulation of small improvements in various places like C1, C2 and adapter generation.

            redestad Claes Redestad
            redestad Claes Redestad
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: