RFR: 8369068: GenShen: Generations still aren't reconciled assertion failure [v2]
William Kemper
wkemper at openjdk.org
Wed Oct 22 23:23:23 UTC 2025
On Wed, 22 Oct 2025 01:21:30 GMT, Y. Srinivas Ramakrishna <ysr 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 nine commits:
>>
>> - Merge remote-tracking branch 'jdk/master' into reduce-gc_generation-usage
>> - Merge remote-tracking branch 'jdk/master' into reduce-gc_generation-usage
>> - Remove _gc_generation from ShenandoahHeap
>> - Little cleanup, remove one active generation usage
>> - Merge remote-tracking branch 'jdk/master' into reduce-gc_generation-usage
>> - Finish removing usages of gc_generation, start on reducing usages of active_generation
>> - Fix build
>> - Use existing _generation field instead of Heap::_gc_generation where possible
>> - Only shenandoah vm operations participate in active/gc generation scheme
>
> src/hotspot/share/gc/shenandoah/shenandoahMark.cpp line 82:
>
>> 80: template<bool CANCELLABLE, StringDedupMode STRING_DEDUP>
>> 81: void ShenandoahMark::mark_loop(uint worker_id, TaskTerminator* terminator,
>> 82: ShenandoahGenerationType generation, StringDedup::Requests* const req) {
>
> Since `ShenandoahMark` has a `_generation` data member with a `generation()` accessor, I'd rename the formal parameters of type `ShenandoahGenerationType` for all these methods from `generation` to `gen_type` or something like that to reduce confusion while reading the code.
Good point.
> src/hotspot/share/gc/shenandoah/shenandoahReferenceProcessor.cpp line 1:
>
>> 1: /*
>
> Some of the spots here on where we need a completed marking context and where we are permitted to use a possibly in flight marking context isn't terribly clear. At some point, we should probably go through and clarify.
The `complete_marking_context` method just has an assertion in it that marking is complete. I believe the only code that need access to the incomplete marking context is the marking code itself.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/27703#discussion_r2453555375
PR Review Comment: https://git.openjdk.org/jdk/pull/27703#discussion_r2453558370
More information about the shenandoah-dev
mailing list