RFR(S) 8181823: [AOT] jaotc doesn't work with Graal
vladimir.kozlov at oracle.com
Wed Jun 21 21:54:50 UTC 2017
Yes, I thought about this too. But fingerprint case is slightly different since we may want to use fingerprints without AOT.
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.
> 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:
>> 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?
>>> On 6/20/17 7:29 PM, Vladimir Kozlov wrote:
>>>> 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`
More information about the hotspot-compiler-dev