RFR: 8328235: GenShen: Robustify ShenandoahGCSession and fix missing use [v16]
Y. Srinivas Ramakrishna
ysr at openjdk.org
Sat Jun 29 05:17:33 UTC 2024
On Mon, 17 Jun 2024 22:10:48 GMT, William Kemper <wkemper at openjdk.org> wrote:
>> Y. Srinivas Ramakrishna has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 46 commits:
>>
>> - Merge branch 'master' into active_generation
>> - Merge branch 'master' into active_generation
>> - Merge branch 'master' into active_generation
>> - Code called from LRB cannot rely on SGH::_gc_generation and must instead
>> use the _active_generation field.
>>
>> Still need to aduit remaining _gc_generation uses for safety.
>>
>> Removed too strong assert introduced for debugging in previous commit.
>> - Merge branch 'master' into active_generation
>> - Some asserts to catch a tricky race. These assertions may be too strong
>> in general but would help with debugging a rare crash.
>> - Merge branch 'master' into active_generation
>> - Remove vestigial thread() method in ShenandoahController.
>> - cosmetic
>> - jcheck white-space
>> - ... and 36 more: https://git.openjdk.org/shenandoah/compare/2abf4cb4...b513abae
>
> src/hotspot/share/gc/shenandoah/shenandoahGenerationalHeap.cpp line 796:
>
>> 794: ShenandoahHeapRegion* r = _regions->next();
>> 795: // We update references for global, old, and young collections.
>> 796: ShenandoahGeneration* const gc_generation = _heap->gc_generation();
>
> It would certainly involve more changes, but we could pass the correct generation from `shConcurrentGC` in this case. I think we could do this in most cases (save for the barriers, but you've established a safe pattern for them to access the active generation already).
Let'd defer that cleanup for later.
-------------
PR Review Comment: https://git.openjdk.org/shenandoah/pull/407#discussion_r1659595970
More information about the shenandoah-dev
mailing list