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

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

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P1
    • Resolution: Fixed
    • Affects Version/s: 9
    • Fix Version/s: 9
    • Component/s: hotspot
    • Subcomponent:
    • Resolved In Build:
      b122
    • Verification:
      Verified

      Description

      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).

        Attachments

          Issue Links

            Activity

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved: