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

Pre-generate bytecode interpreter

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Won't Fix
    • Icon: P4 P4
    • tbd
    • 15
    • hotspot

      To improve JVM start-up, it may make sense to pre-generate the bytecode interpreter. I've measured the time spent in generating the different parts of the interpreter:

      http://hg.openjdk.java.net/jdk/jdk/file/2fbc66ef1a1d/src/hotspot/share/runtime/init.cpp#l108

      Time spent in stubRoutines_init1() = 0.380ms (539365 instructions)
      Time spent ininterpreter_init() = 1.343ms (3628038 instructions)
      Time spent in SharedRuntime::generate_stubs() = 0.173ms (313958 instructions)
      total = 1.896ms (4481362 instructions)

      Total time of "java -XX:-UsePerfData -cp . HelloWorld" = 43.117ms

      1.896 / 43.117 = 4.4%

      Because the contents of the interpreter depends on VM options, we would need to pre-generate several versions for popular VM option combinations.

            Unassigned Unassigned
            iklam Ioi Lam
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: