RFR(S): 7121547: G1: High number mispredicted branches while iterating over the marking bitmap
john.cuthbertson at oracle.com
Tue Dec 20 17:46:48 UTC 2011
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