There's a small inconsistency in the way UseCountedLoopSafepoints/LoopStripMiningIter is treated for G1: 
default is +UseCountedLoopSafepoints, LoopStripMiningIter=1000 
but with: 
java -XX:+UseCountedLoopSafepoint 
a message is printed: 
When counted loop safepoints are enabled, LoopStripMiningIter must be at least 1 (a safepoint every 1 iteration): setting it to 1 
but LoopStripMiningIter is set to 1000 
So if you want the pre loop strip mining behaviour of +UseCountedLoopSafepoint, you need to pass -XX:+UseCountedLoopSafepoint -XX:LoopStripMiningIter=1