RFR: 8337511: Implement JEP-404: Generational Shenandoah (Experimental) [v2]
Roman Kennke
rkennke at openjdk.org
Mon Oct 7 13:32:41 UTC 2024
On Fri, 4 Oct 2024 18:21:34 GMT, William Kemper <wkemper at openjdk.org> wrote:
>> This PR merges JEP 404, a generational mode for the Shenandoah garbage collector. The JEP can be viewed here: https://openjdk.org/jeps/404. We would like to target JDK24 with this PR.
>
> William Kemper has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 475 additional commits since the last revision:
>
> - Merge branch 'shenandoah/master' into great-genshen-pr-redux
> - Merge
> - 8341099: GenShen: assert(HAS_FWD == _heap->has_forwarded_objects()) failed: Forwarded object status is sane
>
> Reviewed-by: kdnilsen
> - 8341485: GenShen: Make evac tracker a non-product feature and confine it to generational mode
>
> Reviewed-by: kdnilsen, ysr
> - Merge
> - 8341042: GenShen: Reset mark bitmaps for unaffiliated regions when preparing for a cycle
>
> Reviewed-by: kdnilsen
> - 8339616: GenShen: Introduce new state to distinguish promote-in-place phase as distinct from concurrent evacuation
>
> Reviewed-by: kdnilsen, shade, ysr
> - Merge
> - 8339643: Port JEP 404 to RISC-V
>
> Reviewed-by: wkemper, kdnilsen
> - 8340395: GenShen: Remove unnecessary check on card barrier flag
>
> Reviewed-by: ysr
> - ... and 465 more: https://git.openjdk.org/jdk/compare/e155dc3e...ed16e3ec
There seems to be something missing:
/home/runner/work/jdk/jdk/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp: In member function ‘oop ShenandoahHeap::try_evacuate_object(oop, Thread*, ShenandoahHeapRegion*, ShenandoahAffiliation)’:
/home/runner/work/jdk/jdk/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp:1276:3: error: ‘_evac_tracker’ was not declared in this scope; did you mean ‘_mmu_tracker’?
1276 | _evac_tracker->begin_evacuation(thread, size * HeapWordSize);
| ^~~~~~~~~~~~~
| _mmu_tracker
/home/runner/work/jdk/jdk/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp: In member function ‘virtual void ShenandoahHeap::print_tracing_info() const’:
/home/runner/work/jdk/jdk/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp:1534:5: error: ‘evac_tracker’ was not declared in this scope; did you mean ‘mmu_tracker’?
1534 | evac_tracker()->print_global_on(&ls);
| ^~~~~~~~~~~~
| mmu_tracker
-------------
PR Comment: https://git.openjdk.org/jdk/pull/21273#issuecomment-2396941518
More information about the serviceability-dev
mailing list