RFR(S) : 8238049 : TieredCompilation shouldn't be re-enabled if CompilationMode is high-only

Igor Ignatyev igor.ignatyev at oracle.com
Wed Jan 29 23:52:48 UTC 2020




> On Jan 29, 2020, at 1:10 PM, Igor Veresov <igor.veresov at oracle.com> wrote:
> 
> Setting CompilationMode actually requires tiered to be on in order to be meaningful. It's a mode of tiered compilation.
I'd not call 'CompilationMode=high-only' a mode of tiered compilation, as there are no tiers and most of machinery of tiered compilation policies is useless.

> The ultimate goal is to remove the old compilation policies, so long term, assume that tiered is always on.
> It seems to me that the command line you quoted is actually working as intended. Does it cause any problems?

in a sense, I was trying to fix 8237953[1,2], where vmTestbase/jit/tiered/Test.java fails w/ graal enabled. the test checks that a tiered only flag has no affect when tiered compilation is disabled, but w/ JVMCI compiler being enabled there is no way to get tiered compilation really disabled, and from end users’ perspective, I’d expect tiered not being reenabled when CompilationMode is high-only and the warning message (Turning on tiered compilation and disabling intermediate compilation levels instead) is irrelevant. 


[1] https://bugs.openjdk.java.net/browse/JDK-8237953 <https://bugs.openjdk.java.net/browse/JDK-8237953>
[2] https://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2020-January/036863.html <https://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2020-January/036863.html>

— Igor

> 
> 
> igor
> 
> 
> 
>> On Jan 28, 2020, at 2:52 PM, Igor Ignatyev <igor.ignatyev at oracle.com> wrote:
>> 
>> http://cr.openjdk.java.net/~iignatyev/8238049/webrev.00/
>>> 9 lines changed: 3 ins; 2 del; 4 mod;
>> 
>> 
>> Hi all,
>> 
>> could you please review the small and trivial-ish patch?
>> from JBS:
>>> currently, if you run java w/ -XX:-TieredCompilation -XX:+UseJVMCICompiler, TieredCompilation will be set back to true and change CompilationMode from "default" to "high-only-quick-internal" (w/o actually changing the value of the flag though). if you run it w/ '-XX:-TieredCompilation -XX:+UseJVMCICompile -XX:CompilationMode=high-only', TieredCompilation will be changed to true, but CompilationMode will remain high-only, so effectively it just needlessly enables TieredCompilation.
>> 
>> the patch not only leaves TieredCompilation disabled when CompilationMode is high-only, but also changes the actual value of CompilationMode flag, so it will be properly reported.
>> 
>> JBS: https://bugs.openjdk.java.net/browse/JDK-8238049
>> webrev: http://cr.openjdk.java.net/~iignatyev/8238049/webrev.00/
>> testing: manual by java -XX:+PrintFlagsFinal w/ {-TieredCompilation,+TieredCompilation}x{CompilationMode=default,CompilationMode=high-only,""}
>> 
>> Thanks,
>> -- Igor
> 



More information about the hotspot-compiler-dev mailing list