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

[JVMCI] jdk.vm.ci needs to securely export services

XMLWordPrintable

    • b122
    • Verified

      A JVMCI based compiler will implement providers for certain services defined by JVMCI:

      jdk.vm.ci.runtime.JVMCICompilerFactory
      jdk.vm.ci.hotspot.HotSpotVMEventListener
      jdk.vm.ci.hotspot.events.EventProvider

      A JVMCI based compiler must be deployed as a module (since JVMCI is a module) and so will have the relevant `provides` clauses in its module-info for these providers. The -XaddExports VM option cannot be used to export the service type to the service provider module since module resolution and binding (apparently) doesn't take -XaddExports into account.

      In addition, the utility jdk.vm.ci.services.Services needs to be visible to JVMCI compilers as it is the abstraction by which services that may have JVMCI providers are looked up. This utility abstracts over whether the standard ServiceLoader (in JDK9) or some other JVMCI specific mechanism is used (in JDK8).

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

              Created:
              Updated:
              Resolved: