RFR: 8255691: Shenandoah: Invoke native-LRB only on non-strong refs [v4]
Roman Kennke
rkennke at openjdk.java.net
Mon Nov 2 14:16:14 UTC 2020
> 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
Roman Kennke has updated the pull request incrementally with one additional commit since the last revision:
Rename argument is_native -> is_weak
-------------
Changes:
- all: https://git.openjdk.java.net/jdk/pull/961/files
- new: https://git.openjdk.java.net/jdk/pull/961/files/86c80228..2db8a9d5
Webrevs:
- full: https://webrevs.openjdk.java.net/?repo=jdk&pr=961&range=03
- incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=961&range=02-03
Stats: 4 lines in 1 file changed: 0 ins; 0 del; 4 mod
Patch: https://git.openjdk.java.net/jdk/pull/961.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/961/head:pull/961
PR: https://git.openjdk.java.net/jdk/pull/961
More information about the shenandoah-dev
mailing list