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

Support alternative name to jdk.internal.vm.compiler

XMLWordPrintable

    • b21

      As part project Galahad, the Graal module will be renamed from jdk.internal.vm.compiler to jdk.compiler.graal. This presents a few issues:

      1. There are qualified exports from JVMCI to jdk.internal.vm.compiler[1]. Qualified exports from a boot module require the target module to be upgradeable which is indeed the case for jdk.internal.vm.compiler[2].

      2. Graal provides an implementation of jdk.vm.ci.services.JVMCIServiceLocator which requires the above qualified export. Exporting JVMCI with --add-exports on the java command line does not work as service binding for the boot modules[3] is done before processing of --add-exports[4]. This results in:

          Error occurred during initialization of boot layer
          java.lang.module.ResolutionException: Module jdk.compiler.graal does not read a module that exports jdk.vm.ci.services

      3. Even if the above use of --add-exports worked with the java launcher, there is no equivalent option for jlink. This means the GraalVM image cannot be created from an existing JDK binary with jlink.

      These problems need to be addressed before any name other than jdk.internal.vm.compiler can be used for the Graal compiler module.

      [1] https://github.com/openjdk/jdk/blob/c1f698d38bb251941598af5a82a1a230282b718d/src/jdk.internal.vm.ci/share/classes/module-info.java#L30-L35
      [2] https://github.com/openjdk/jdk/blob/c1f698d38bb251941598af5a82a1a230282b718d/make/conf/module-loader-map.conf#L63
      [3] https://github.com/openjdk/jdk/blob/c1f698d38bb251941598af5a82a1a230282b718d/src/java.base/share/classes/jdk/internal/module/ModuleBootstrap.java#L383
      [4] https://github.com/openjdk/jdk/blob/c1f698d38bb251941598af5a82a1a230282b718d/src/java.base/share/classes/jdk/internal/module/ModuleBootstrap.java#L458

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

              Created:
              Updated:
              Resolved: