RFR: 8338477: GenShen: Cleanup generational heap [v2]

William Kemper wkemper at openjdk.org
Mon Aug 19 20:49:15 UTC 2024


On Mon, 19 Aug 2024 19:29:18 GMT, Kelvin Nilsen <kdnilsen at openjdk.org> wrote:

>> William Kemper has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains two commits:
>> 
>>  - Merge remote-tracking branch 'shenandoah/master' into gen-heap-feedback
>>  - Inline heap accessor, break up huge do_work method
>
> src/hotspot/share/gc/shenandoah/shenandoahGenerationalHeap.cpp line 321:
> 
>> 319:   if (result == copy_val) {
>> 320:     // Successfully evacuated. Our copy is now the public one!
>> 321:     ContinuationGCSupport::relativize_stack_chunk(copy_val);
> 
> I don't remember the significance of relative_stack_chunk().  Should we have a comment to explain what this is doing?

I don't really know what `relativize_stack_chunk` is doing either (something to do with Virtual Threads). The important thing here is that it may inspect the header without realizing the header is a forwarding pointer. Secondarily, we don't want to do work on oops that aren't going to be visible (i.e, it lost the evacuation race). I'll add a comment here.

-------------

PR Review Comment: https://git.openjdk.org/shenandoah/pull/474#discussion_r1722330984


More information about the shenandoah-dev mailing list