RFR: 8337511: Implement JEP-404: Generational Shenandoah (Experimental) [v3]

William Kemper wkemper at openjdk.org
Fri Oct 11 22:03:26 UTC 2024


On Thu, 10 Oct 2024 12:48:05 GMT, Roman Kennke <rkennke 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 478 commits:
>> 
>>  - Fix merge error
>>  - Merge remote-tracking branch 'jdk/master' into great-genshen-pr-redux
>>  - Merge remote-tracking branch 'jdk/master' into great-genshen-pr-redux
>>  - 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
>>  - ... and 468 more: https://git.openjdk.org/jdk/compare/b9db74a6...4db1e0e1
>
> src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp line 75:
> 
>> 73: 
>> 74:   // Create a mask to test if the marking bit is set.
>> 75:   // TODO: can we directly test if bit is set?
> 
> That comment here is quite justified, IMO. I'm pretty sure that we could test for the flag in a single instruction, instead of doing the and-cmp sequence and even allocating a new register. Unless of course when C1 LIR can't represent it. Have you tried to implement that and failed, and therefore remove the comment?

@shipilev and I looked at this: https://github.com/openjdk/jdk/pull/19180#discussion_r1609666303. The performance change was insignificant.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/21273#discussion_r1797456666


More information about the hotspot-dev mailing list