How to change compilation policy to trigger C2 compilation ASAP?

Vladimir Kozlov vladimir.kozlov at oracle.com
Wed May 20 01:12:29 UTC 2015


If you want only C2 compilation you can disable tiered compilation 
(since you don't want to spend to much on profiling anyway) and set low 
CompileThreshold (you need only this one for non-tiered compile):

-XX:-TieredCompilation -XX:CompileThreshold=100

If your method is simple and don't need profiling or inlining the 
generated code could be same quality as with long profiling.

An other approach is to set threshold per method (scale all threasholds 
(C1, C2, interpreter) by this value). For example to reduce thresholds 
by half:

-XX:CompileCommand=option,SomeClass.someMethod,double,CompileThresholdScaling,0.5

Vladimir

On 5/19/15 5:43 PM, Tangwei (Euler) wrote:
> My goal is just to reach peak performance quickly. Following is one tier
> threshold combination I tried:
>
> -XX:Tier0ProfilingStartPercentage=0
>
> -XX:Tier3InvocationThreshold=3
>
> -XX:Tier3MinInvocationThreshold=2
>
> -XX:Tier3CompileThreshold=2
>
> -XX:Tier4InvocationThreshold=4
>
> -XX:Tier4MinInvocationThreshold=3
>
> -XX:Tier4CompileThreshold=2
>
> Regards!
>
> wei
>
> *From:*Vitaly Davidovich [mailto:vitalyd at gmail.com]
> *Sent:* Tuesday, May 19, 2015 9:33 PM
> *To:* Tangwei (Euler)
> *Cc:* hotspot compiler
> *Subject:* Re: How to change compilation policy to trigger C2
> compilation ASAP?
>
> Is your goal specifically to have C2 compile or just to reach peak
> performance quickly? It sounds like the latter.  What values did you
> specify for the tier thresholds? Also, it may help you to
> -XX:+PrintCompilation to tune the flags as this will show you which
> methods are being compiled, when, and at what tier.
>
> sent from my phone
>
> On May 19, 2015 9:01 AM, "Tangwei (Euler)" <tangwei6 at huawei.com
> <mailto:tangwei6 at huawei.com>> wrote:
>
> Hi All,
>
>    I want to run a JAVA application on a performance simulator, and do a
> profiling on a hot function JITTed with C2 compiler.
>
> In order to make C2 compiler compile hot function as early as possible,
> I hope to reduce the threshold of function invocation
>
> count in interpreter and C1 to drive the JIT compiler transitioned to
> Level 4 (C2) ASAP. Following is the option list I try, but
>
> failed to find a right combination to meet my requirement. Anyone can
> help to figure out what options I can use?
>
> Thanks in advance.
>
> -XX:Tier0ProfilingStartPercentage=0
>
> -XX:Tier3InvocationThreshold
>
> -XX:Tier3MinInvocationThreshold
>
> -XX:Tier3CompileThreshold
>
> -XX:Tier4InvocationThreshold
>
> -XX:CompileThreshold
>
> -XX:Tier4MinInvocationThreshold
>
> -XX:Tier4CompileThreshold
>
> Regards!
>
> wei
>


More information about the hotspot-compiler-dev mailing list