RFR: 8376761: ARM32: Constant base assert after JDK-8373266
Aleksey Shipilev
shade at openjdk.org
Tue Feb 3 09:07:18 UTC 2026
On Tue, 3 Feb 2026 08:55:49 GMT, Stefan Karlsson <stefank at openjdk.org> wrote:
> Does G1 and Shenandoah answer `true` to the `bs->is_a(BarrierSet::CardTableBarrierSet)` check?
Yes, because they are having card tables. But in both G1 and Shenandoah the card table base is not constant, so stashing it somewhere is a programming error. You can ask for a card table base as long as you are sure it would not change, e.g. in error handler. Otherwise you are risking recording bad (stale) card table. That is why we did original: https://github.com/openjdk/jdk/commit/88c8a55a4337a857ac17ffff068f730f67cf5763 -- to capture the accesses where we assume the card table base is constant (notice `*_const` in getter name), while it is actually isn't. Exactly like this one.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/29528#issuecomment-3840011675
More information about the hotspot-gc-dev
mailing list