[10] RFR(S) 8181823: [AOT] jaotc doesn't work with Graal

dean.long at oracle.com dean.long at oracle.com
Wed Jun 21 22:05:43 UTC 2017


Yes, and by the way, for invokedynamic support I will be adding a third 
condition like this:

   if (UseAOT && is_anonymous) {
     // (3) We are using AOT code from a shared library and see an 
anonymous class
     return true;
   }

to "bool InstanceKlass::should_store_fingerprint(bool is_anonymous)"

dl


On 6/21/17 2:54 PM, Vladimir Kozlov wrote:
> Yes, I thought about this too. But fingerprint case is slightly 
> different since we may want to use fingerprints without AOT.
>
> Thanks,
> Vladimir
>
> On 6/21/17 2:28 PM, dean.long at oracle.com wrote:
>> That makes me wonder if jaotc uses of CalculateClassFingerprint and 
>> UseAOT should be replaced by a single flag, like UseJAOTCCompiler.  I 
>> don't see why we need enable all of the UseAOT and #if INCLUDE_AOT 
>> logic for jaotc. In my opinion they could be separated, but we can do 
>> it later.
>>
>> dl
>>
>>
>> On 6/21/17 2:12 PM, Vladimir Kozlov wrote:
>>> Yes. We switch off UseAOT if it is default (not on command line) and 
>>> no AOT library is present.
>>> But we need it fot jaotc. There is fingerprint code which guarded by 
>>> UseAOT.
>>> Also it is used in jvmci when jaotc ask for method's metadata:
>>>
>>> http://hg.openjdk.java.net/jdk10/hs/hotspot/file/f20fd31ad61f/src/share/vm/jvmci/jvmciCodeInstaller.cpp#l718 
>>>
>>>
>>> Vladimir
>>>
>>> On 6/21/17 1:17 PM, dean.long at oracle.com wrote:
>>>> This is not directly related to your change, but does jaotc need an 
>>>> explicit -XX:+UseAOT?
>>>>
>>>> dl
>>>>
>>>>
>>>> On 6/20/17 7:29 PM, Vladimir Kozlov wrote:
>>>>> https://bugs.openjdk.java.net/browse/JDK-8181823
>>>>> webrev:  http://cr.openjdk.java.net/~kvn/8181823
>>>>>
>>>>> Original condition to calculate class fingerprint during AOT 
>>>>> compilation (when run jaotc) does not work if Graal used as JIT 
>>>>> compiler.
>>>>> New product flag CalculateClassFingerprint is added to specify 
>>>>> when calculate class fingerprint. Pass it to VM from jaotc launcher.
>>>>>
>>>>>
>>>>> Fixes in Graal's module-info.java and java.cpp were done to be 
>>>>> able run JTREG with Graal in jdk10/hs. Otherwise I got missing 
>>>>> HandleMark error and ServiceConfigurationError:
>>>>>   java.util.ServiceConfigurationError: 
>>>>> org.graalvm.compiler.hotspot.HotSpotCodeCacheListener: module 
>>>>> jdk.internal.vm.compiler does not declare `uses`
>>>>>
>>>>> Thanks,
>>>>> Vladimir
>>>>
>>



More information about the hotspot-compiler-dev mailing list