[9] RFR (xs) 8168317: [JVMCI] use reflection instead of jdk 9 Module API in Services.java

Christian Thalinger cthalinger at twitter.com
Wed Oct 19 20:43:26 UTC 2016


> On Oct 19, 2016, at 10:38 AM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
> 
> > SETUP needs to be GENERATE_USINGJDKBYTECODE.  That one is using NEW_JAVAC.
> 
> Does not work:
> 
> Compiling 911 files for BUILD_VM_COMPILER_MATCH_PROCESSOR
> error: cannot find module: java.base

It should work because that’s how we do the actual annotation processing:

http://cr.openjdk.java.net/~kvn/aot/hs.webrev/make/gensrc/Gensrc-jdk.vm.compiler.gmk.html
 106         $(JAVA_SMALL) $(NEW_JAVAC) \
 107             -XDignore.symbol.file \
 108             --upgrade-module-path $(JDK_OUTPUTDIR)/modules --system none \
and GENERATE_USINGJDKBYTECODE does:

$(eval $(call SetupJavaCompiler,GENERATE_USINGJDKBYTECODE, \
    JVM := $(JAVA_SMALL), \
    JAVAC := $(NEW_JAVAC), \
    FLAGS := --upgrade-module-path $(JDK_OUTPUTDIR)/modules --system none $(DISABLE_WARNINGS), \

(I think that’s where I took the code from initially)

Does java.base exist in $(JDK_OUTPUTDIR)/modules?

> 
> Vladimir
> 
> On 10/19/16 1:27 PM, Christian Thalinger wrote:
>> 
>>> On Oct 19, 2016, at 9:54 AM, Igor Veresov <igor.veresov at oracle.com
>>> <mailto:igor.veresov at oracle.com>> wrote:
>>> 
>>>> 
>>>> On Oct 19, 2016, at 12:47 PM, Christian Thalinger
>>>> <cthalinger at twitter.com <mailto:cthalinger at twitter.com>> wrote:
>>>> 
>>>> 
>>>>> On Oct 19, 2016, at 9:40 AM, Vladimir Kozlov
>>>>> <vladimir.kozlov at oracle.com <mailto:vladimir.kozlov at oracle.com>> wrote:
>>>>> 
>>>>> https://bugs.openjdk.java.net/browse/JDK-8168317
>>>>> 
>>>>> webrev:
>>>>> http://cr.openjdk.java.net/~kvn/8168317/webrev/
>>>>> 
>>>>> When Graal is built as part of JDK it requires first to build an
>>>>> annotation processor using boot jdk 8.
>>>>> After JDK-8167180 changes Services class is referenced by annotation
>>>>> processor but the code is using jdk 9 Module API and it can't be
>>>>> used with jdk 8.
>>>> 
>>>> I left a comment in the bug: Permalink
>>>> <https://bugs.openjdk.java.net/browse/JDK-8168317?focusedCommentId=14013733&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14013733>
>>>> 
>>>> Basically, it should be possible to use the newly built javac to
>>>> compile the annotation processors.  Erik?
>>> 
>>> It’s not only about compilation it’s about running it on the bootstrap
>>> JDK, which in currently 8.
>> 
>> With the proper build dependencies it should be possible to run on the
>> exploded JDK 9.
>> 
>> http://cr.openjdk.java.net/~kvn/aot/hs.webrev/make/CompileTools.gmk.html
>> 
>>  51   $(eval $(call SetupJavaCompilation, BUILD_VM_COMPILER_MATCH_PROCESSOR, \
>>  52       SETUP := GENERATE_OLDBYTECODE, \
>> 
>> SETUP needs to be GENERATE_USINGJDKBYTECODE.  That one is using NEW_JAVAC.
>> 
>>> 
>>> igor
>>> 
>>>> 
>>>> Can you paste or upload the .gmk file?
>>>> 
>>>>> 
>>>>> Use reflection instead of Module API and use code only for running
>>>>> with jdk 9.
>>>>> 
>>>>> Testing with JPRT and JDK build of Graal.
>>>>> 
>>>>> Thanks,
>>>>> Vladimir
>> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20161019/05dfd8ee/attachment.html>


More information about the hotspot-compiler-dev mailing list