[14]RFR: 8227439: Turn off AOT by default
Rahul Raghavan
rahul.v.raghavan at oracle.com
Thu Jul 25 07:11:13 UTC 2019
Hi,
Thanks Igor, Vladimir for the review comments.
Please review following updates.
>> <webrev> - http://cr.openjdk.java.net/~rraghavan/8227439/webrev.01/
> You don't need to add -J-XX:+UnlockExperimentalVMOptions to JAOTC_OPTS
> in aot/scripts/ scripts because you added it to jaotc launcher
> (Launcher-jdk.aot.gmk).
>
Okay, will removed -J-XX:+UnlockExperimentalVMOptions added to
JAOTC_OPTS in -
aot/scripts/ - build-bootmodules.sh, build-jdk.vm-modules.sh and
test-jaotc.sh
> As UseAOT used to be true by default,
> you should add to all places where AOTLibrary is used,
> e.g. in make/RunTests.gmk,
> and as it seems like an easy error (for our users) to make,
> I think we need to check that AOTLibrary has value
> only if UseAOT is true
> and generate an error at initialization time if it's not a case.
>
Understood the review points by Igor.
Found following current implementation of AOTLoader::initialize()
http://hg.openjdk.java.net/jdk/jdk/file/9b6d4e64778c/src/hotspot/share/aot/aotLoader.cpp#l110
void AOTLoader::initialize() {
......
if (FLAG_IS_DEFAULT(UseAOT) && AOTLibrary != NULL) {
// Don't need to set UseAOT on command line when AOTLibrary is
specified
FLAG_SET_DEFAULT(UseAOT, true);
}
if (UseAOT) {
.......
warning("EagerInitialization is not compatible with AOT
(switching AOT off)");
.......
warning("JVMTI capability to post breakpoint is not compatible
with AOT (switching AOT off)");
.......
warning("-Xint is not compatible with AOT (switching AOT off)");
// Scan the AOTLibrary option.
if (AOTLibrary != NULL) {
.......
}
// Load well-know AOT libraries from Java installation directory.
.......
}
}
}
So current design with my webrev.01 is to make UseAOT automatically true
if some AOTLibrary is specified and no explicit -UseAOT.
Should we change this to -
[src/hotspot/share/aot/aotLoader.cpp]
if (FLAG_IS_DEFAULT(UseAOT) && AOTLibrary != NULL) {
- // Don't need to set UseAOT on command line when AOTLibrary is
specified
- FLAG_SET_DEFAULT(UseAOT, true);
+ if (UseAOT == tue) {
+ // Don't need to set UseAOT on command line when AOTLibrary is
specified
+ FLAG_SET_DEFAULT(UseAOT, true);
+ }
+ else {
+ warning("AOTLibrary specified without explicitly switching on
UseAOT (ignoring AOTLibrary)");
+ }
OR instead of new warning above, throw error -
+ else {
+ fatal("AOTLibrary specified without explicitly switching on UseAOT");
+ vm_exit(1);
+ }
And then also make sure +UseAOT is added to all places where AOTLibrary
is used.
Thanks,
Rahul
On 19/07/19 10:02 PM, Igor Ignatyev wrote:
> Hi Rahul,
>
> thanks for taking care of this and all the tests, appreciate that. As UseAOT used to be true by default, you should add to all places where AOTLibrary is used, e.g. in make/RunTests.gmk, and as it seems like an easy error (for our users) to make, I think we need to check that AOTLibrary has value only if UseAOT is true and generate an error at initialization time if it's not a case. this will help us and all the users to spot places where AOT was expected to kick in.
>
> (I have not looked at all the changed files yet)
>
> Thanks,
> -- Igor
>
>> On Jul 19, 2019, at 12:52 AM, Rahul Raghavan <rahul.v.raghavan at oracle.com> wrote:
>>
>> Hi,
>>
>> Please review the following fix changeset and
>> related release-note task (8228418).
>>
>>
>> <webrev> - http://cr.openjdk.java.net/~rraghavan/8227439/webrev.01/
>>
>>
>> # https://bugs.openjdk.java.net/browse/JDK-8227439
>> (Turn off AOT by default)
>>
>> # CSR - https://bugs.openjdk.java.net/browse/JDK-8227833
>>
>> # RN - https://bugs.openjdk.java.net/browse/JDK-8228418
>>
>>
>> -- AOT support related flags `UseAOT`, `PrintAOT` and `AOTLibrary` are made experimental;
>> and `UseAOT` flag is turned off by default.
>> Also added required -XX:+UnlockExperimentalVMOptions, related changes in tests.
>>
>> -- Got approval for related CSR - 8227833
>> and created Release-Note task as commented - 8228418.
>>
>> -- tried tests --job hs-tier4,hs-tier4-graal,hs-tier6,hs-tier6-graal.
>> Could not find any issues due to proposed changes.
>>
>>
>> Please let me know if missed any changes or testing.
>>
>>
>> Thanks,
>> Rahul
>
More information about the hotspot-compiler-dev
mailing list