-
Bug
-
Resolution: Fixed
-
P1
-
9
-
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).
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).
- blocks
-
JDK-8156034 [JVMCI] Notify the jvmci compiler on completion of a bootstrap
- Resolved
-
JDK-8152311 [JVMCI] allow JVMCI compiler to change the compilation policy for a method
- Resolved
- duplicates
-
JDK-8155622 make JVMCICompilerFactory an abstract class with security checks
- Closed