Provides clauses in binary module descriptor but not in source
Alan.Bateman at oracle.com
Fri Apr 13 12:33:07 UTC 2018
On 13/04/2018 13:16, Doug Simon wrote:
> I just noticed that in the jdk.internal.vm.compiler module descriptor source there is a `uses` clause for CompilerConfigurationFactory but no `provides` clause for the CoreCompilerConfigurationFactory provider which is in the same module. However, `java -d jdk.internal.vm.compiler | grep Core` shows me the provider clause exists in the binary module descriptor. Is this done auto-magically by javac when building the module? If not, is it in the make files somewhere? I'm asking because there are new service providers being added in Graal.
The build for that module is complex as it runs an annotation processor
and generates a module-info.java.extra (see
support/gensrc/jdk.internal.vm.compiler/ in the build output) that is
merged with the module-info.java before it is compiled. So no javac magic.
More information about the hotspot-compiler-dev