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