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

Igor Veresov igor.veresov at oracle.com
Tue Sep 17 11:51:11 PDT 2013


On Sep 17, 2013, at 4:17 AM, Aleksey Shipilev <aleksey.shipilev at oracle.com> wrote:

> 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.
> 

Yea, you're going to see different permutations of array chunks that can be processed in parallel, in addition to that the objects the array is referring to will land in different PLABs that can be apart and have some internal fragmentation with respect to array elements. That's going to be true for all the collectors.

igor



More information about the hotspot-gc-dev mailing list