Provides clauses in binary module descriptor but not in source

Alan Bateman Alan.Bateman at
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[1] but no `provides` clause for the CoreCompilerConfigurationFactory provider[2] 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 (see 
support/gensrc/jdk.internal.vm.compiler/ in the build output) that is 
merged with the before it is compiled. So no javac magic.


More information about the jigsaw-dev mailing list