Backward Branch Counts
rgougol at gmail.com
Mon Feb 2 21:39:23 PST 2009
Would somebody describe to me the why backward branches of a method for
OnStackReplacement are counted differently when the ProfileInterpreter is
enabled from when ProfileInterpreter is false.
When NOT profiling the interpreter, like in x86_32 client compiler, HotSpot
adds the method invocation count of a given method to the total number of
the backward branches within the method and compare the sum with
When profiling the interpreter, HotSpot, using the method,
InterpreterMacroAssembler::profile_taken_branch, counts the total number of
branches and compares it with the same backward branch threshold as the
former approach. So WHY, when ProfileInterptere == true, Hotspot adds both
forward and backward branches and the method, profile_taken_branch does not
exclude forward braches? AND WHY, ProfileInterpreter==true, HotSpot does not
add the number of backward branches to the method invocation count?
Lots of Thanks in advance for any feedback.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the hotspot-compiler-dev