Integrated: 8255691: Shenandoah: Invoke native-LRB only on non-strong refs
Roman Kennke
rkennke at openjdk.java.net
Mon Nov 2 14:16:17 UTC 2020
On Fri, 30 Oct 2020 18:12:18 GMT, Roman Kennke <rkennke at openjdk.org> wrote:
> The way that current native LRB is implemented is wrong (but non-fatal) and misleading. It's purpose is to prevent resurrection of unreachable non-strong references, and it should only be invoked on non-strong references, not all native references. This distinction will become even more important once we get concurrent reference processing: then we also want to invoke this barrier on referent-loads.
>
> This changes the runtime-part of native-LRB so that it is only invoked when it's invoked with non-strong reference decorator. Otherwise it acts as regular LRB.
>
> Testing: hotspot_gc_shenandoah
This pull request has now been integrated.
Changeset: 1019581c
Author: Roman Kennke <rkennke at openjdk.org>
URL: https://git.openjdk.java.net/jdk/commit/1019581c
Stats: 84 lines in 14 files changed: 4 ins; 3 del; 77 mod
8255691: Shenandoah: Invoke native-LRB only on non-strong refs
Reviewed-by: zgu
-------------
PR: https://git.openjdk.java.net/jdk/pull/961
More information about the shenandoah-dev
mailing list