On Thu, 10 Oct 2024 12:48:05 GMT, Roman Kennke <rken...@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