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

[JVMCI] JVMCI compiler initialization can happen on different thread than JVMCI initialization

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P4 P4
    • 9
    • 9
    • hotspot
    • b103

      The timer used for JVMCI related initialization (enabled by -Djvmci.inittimer=true) currently assumes that all JVMCI related initialization happens on the same thread. This is wrong. While all related initialization should happen on the same thread, core JVMCI initialization may be performed by one compiler thread and JVMCI compiler (e.g., Graal) initialization may be performed on a different compiler thread.

      For example, one compiler thread may be the first to execute:

      http://hg.openjdk.java.net/graal/graal-jvmci-9/hotspot/file/7a570929c5e5/src/share/vm/jvmci/jvmciCompiler.cpp#l129

      which can trigger core JVMCI initialization while a different compiler thread is the first to reach:

      http://hg.openjdk.java.net/graal/graal-jvmci-9/hotspot/file/7a570929c5e5/src/share/vm/jvmci/jvmciCompiler.cpp#l145

      which triggers JVMCI compiler initialization.

            dnsimon Douglas Simon
            dnsimon Douglas Simon
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: