RFR(S): 8011724: G1: Stack allocate instances of HeapRegionRemSetIterator
John Cuthbertson
john.cuthbertson at oracle.com
Tue Apr 9 17:13:22 UTC 2013
Hi Bengt,
Thanks for looking over the changes. As said - I was adding the
instrumentation code to the iterator and this looked odd.
On 4/8/2013 11:05 PM, Bengt Rutisson wrote:
>
> Hi John,
>
> Thanks for doing this cleanup! It really looks much better!
I expect as I look at the root scanning and RSet updating code more
minor cleanups/refactoring will become apparent.
>
> Changes look good.
>
> One minor request if you feel like it:
>
> Since you anyway updated a comment in the class
> HeapRegionRemSetIterator. Could you also update (or just remove) this
> comment?
>
> // If true we're iterating over the coarse table; if false the fine
> // table.
> enum IterState {
> Sparse,
> Fine,
> Coarse
> };
Sure. No problem. How about:
"Indicates the granularity of table that we're currently iterating over"?
>
> Also, have you measured any performance impact of this? I'm not
> suggesting that you should put any extra work into doing that. Just,
> in case you have some numbers, have you seen any improvements? I could
> imagine that there was a fair amount of false sharing going on with
> the old array of iterators, so I'm guess that we might see some perf
> improvements with this change. Just curious.
I only did a cursory (i.e. untuned) measurement using SPECjvm98 (5x
before and after) and didn't see any meaningful difference. The variance
between the results was slightly smaller but I wouldn't draw any
conclusion from that. This was on a system with 4 GC threads.
Thanks again,
JohnC
More information about the hotspot-gc-dev
mailing list