CompileThreshold & BackEdgeThreshold question(s)

Vladimir Kozlov vladimir.kozlov at oracle.com
Fri Aug 3 11:28:24 PDT 2012


Backedge threshold (back branch count limit) is used to trigger OSR compilation 
for hot loops.

BackEdgeThreshold is dead flag, was never used. Tiered compilation uses 
Tier*BackEdgeThreshold flags in jdk 7update and jdk8 and they are set in 
globals*.hpp files.

In non tiered case we use OnStackReplacePercentage to calculate backedge count 
limit for OSR compilation:

InterpreterBackwardBranchLimit = (CompileThreshold * OnStackReplacePercentage) / 
100;

and

define_pd_global(intx, OnStackReplacePercentage, 140);

so InterpreterBackwardBranchLimit = 14000 when CompileThreshold = 10000.

Vladimir

Charlie Hunt wrote:
> Could someone offer a "10,000 ft" explanation of CompileThreshold and BackEdgeThreshold, how they relate to each other, (if at all), and how they differ?
> 
> For the Server compiler, of course. ;-)
> 
> thanks,
> 
> charlie


More information about the hotspot-compiler-dev mailing list