Blocks :
|
|
Blocks :
|
|
Duplicate :
|
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).
|