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

x86_64: Improve Assembler generation

    XMLWordPrintable

Details

    • b15

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: