RFR: 8305896: Alternative full GC forwarding [v35]
Roman Kennke
rkennke at openjdk.org
Mon May 8 13:25:45 UTC 2023
On Mon, 8 May 2023 13:05:14 GMT, Albert Mingkun Yang <ayang at openjdk.org> wrote:
> > Parallel full GCs divide up ...
>
> Why is Parallel relevant here?
>
> The description mentions only "the full-GC modes of Serial, Shenandoah and G1 GCs are", so I assumed this feature doesn't affect/depend on Parallel.
Sorry I wasn't clear enough. I meant the full-GCs of G1 and Shenandoah, which use multiple threads to do their work. Parallel GC is indeed not relevant. Also, Serial GC doesn't really compact serially, because it divides the heap into old, young-eden, young-s1 and young-s2 spaces.
And btw, even if what you say were true, we could not do this. If we were to collapse each adjacent two regions into one, we would still end up with the same conclusion that for each source region, objects would be forwarded to one or two potential target regions. Let's say we divide the heap into 10 equal regions, then region 0 would logically only compact into the bottom of region 0. But region 1 might compact to region 0 or 1. Depending on how full region 0 becomes, region 2 might compact into region 0 and 1, or region 1 and 2. And so on.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/13582#issuecomment-1538354393
More information about the shenandoah-dev
mailing list