Parallel GC and array object layout: way off the base and laid out in reverse?

Aleksey Shipilev aleksey.shipilev at oracle.com
Tue Sep 17 04:17:08 PDT 2013


On 09/07/2013 11:27 AM, Tony Printezis wrote:
> Igor made all the points I wanted to make. :-) Looking forward to the
> performance comparisons. I'm actually curious to see how things will
> look with the backwards array scanning.

Ok, here is the current fix:
  http://cr.openjdk.java.net/~shade/8024394/webrev.00/

I haven't tested the performance on large scale yet, because wanted to
cross-check if this is a viable solution code-wise.

It reliably fixes the layout problems on my test with
-XX:ParallelGCThreads=1. With more than one GC thread I still
occasionally get the reverse order. My hypothesis is that while original
GC worker can process the array in forward order, *stealing* that work
by some other worker will do the effective reverse.

-Aleksey.


More information about the hotspot-gc-dev mailing list