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

x86_64: Improve Assembler generation

    XMLWordPrintable

    Details

    • Subcomponent:
    • Resolved In Build:
      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

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

                Dates

                Created:
                Updated:
                Resolved: