[9] RFR(M) 8166416: [AOT] Integrate JDK build changes and launcher 'jaotc' for AOT compiler
Mandy Chung
mandy.chung at oracle.com
Fri Oct 28 21:23:12 UTC 2016
> On Oct 28, 2016, at 1:52 PM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
>
> Thank you, Mandy
>
> On 10/28/16 1:31 PM, Mandy Chung wrote:
>>
>>> On Oct 26, 2016, at 5:45 PM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
>>>
>>> http://cr.openjdk.java.net/~kvn/aot/hs.make.webrev/
>>
>> make/gensrc/Gensrc-jdk.vm.compiler.gmk
>> This generates module-info.java.extra at build time to augment module-info.java with `uses` and `provides`. module-info.java.extra is expected to be checked in the source.
>>
>> Do you expect the list of `uses` and `provides` are often changed?
>
> Yes, Graal code changes frequently and we need to run annotation processor to generate these dependencies for each jdk.vm.compiler (Graal) module build.
>
When the OptionDescriptors list is changed, we can run the tool (you can add a make target if it helps) to generate the list of `uses` and `provides`. Then update module-info.java in the source together with the changes. That would work too, right?
>> The alternative is to declare `uses` and `provides` in module-info.java in the source repo so that a reader can see the module descriptor content without needing to do a build. A test to detect if the module-info.java is out-of-sync with the annotated options. In addition a make target to generate the list of `use` and `provides` can be used to generate module-info.java to be included in any change in the annotated options list.
>
> What is "a reader”?
A person reading the code.
> And how to check "out-of-sync" without running 'processor’?
I meant a regression test that will run the annotation processor and compare with module-info.class in the image (using java.lang.module.ModuleDescriptor API)
Mandy
> Sorry, I am not familiar with all this modules build process.
>
> Thanks,
> Vladimir
>
>>
>> Mandy
>>
More information about the hotspot-dev
mailing list