RFR(S): 7121547: G1: High number mispredicted branches while iterating over the marking bitmap

John Cuthbertson john.cuthbertson at oracle.com
Tue Dec 20 17:46:48 UTC 2011

Hi Everyone,

Can I have a couple of volunteers review this small change? The webrev 
can be found at: http://cr.openjdk.java.net/~johnc/7121547/webrev.0/

While analyzing the data from some collect/analyze runs of the changes 
for 6484965 (Piggy back liveness accounting on marking) it was noticed 
that there was a significant number of mispredicted branches associated 
with the actual call of BitMap::iterate() from within 
CMBitMapRO::iterate(). With the changes in the webrev I can see a slight 
reduction in the CPU time (a few percentage points), a slight reduction 
in the number of L2 misses (again a few points), and between a 20-40% 
drop in the number of mis-predicted branches.

Testing: The GC test suite and Kitchensink (with low marking 
thresholds); collect/analyze runs of SPECjbb2005; jprt.



More information about the hotspot-gc-dev mailing list