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