Integrated: 8350905: Shenandoah: Releasing a WeakHandle's referent may extend its lifetime
William Kemper
wkemper at openjdk.org
Wed Mar 12 20:45:09 UTC 2025
On Tue, 11 Mar 2025 23:35:24 GMT, William Kemper <wkemper at openjdk.org> wrote:
> When weak handles are cleared, the `nullptr` is stored with the `ON_PHANTOM_OOP_REF` decorator. For concurrent collectors using a SATB barrier like Shenandoah, this may cause the referent to be enqueued and marked when it would be otherwise unreachable. The problem is especially acute for Shenandoah's generational mode, in which a young region holding the otherwise unreachable referent, may become trash after the referent is enqueued for old marking. Shenandoah's store barrier should be modified to not enqueue WEAK or PHANTOM stores in the SATB buffer.
This pull request has now been integrated.
Changeset: a347ecde
Author: William Kemper <wkemper at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/a347ecdedc098bd23598ba6acf28d77db01be066
Stats: 10 lines in 1 file changed: 10 ins; 0 del; 0 mod
8350905: Shenandoah: Releasing a WeakHandle's referent may extend its lifetime
Reviewed-by: shade, ysr
-------------
PR: https://git.openjdk.org/jdk/pull/24001
More information about the hotspot-gc-dev
mailing list