RFR: 8256426: Shenandoah: Remove superfluous assert is ShBS::load_reference_barrier()

Roman Kennke rkennke at openjdk.java.net
Tue Nov 17 15:30:17 UTC 2020

Some of heap walk related tests in nsk/jdi suite failed after concurrent weak reference processing.

Can be easily reproduced:
TEST_VM_OPTS="-XX:+UseShenandoahGC" make CONF=linux-x86_64-server-fastdebug run-test TEST=vmTestbase/nsk/jdi/ObjectReference/referringObjects/referringObjects001/referringObjects001.java 

It asserts that no non-Java thread accesses references with weak/unknown strength. However, JVMTI will do just that when heap-walking and I can't see how that would be problematic, as long as we don't resurrect objects, and we don't.

 - [x] the failing test 
 - [x] vmTestbase_nsk_jdi +UseShenandoahGC
 - [ ] hotspot_gc_shenandoah
 - [ ] tier1 +UseShenandoahGC
 - [ ] tier2 +UseShenandoahGC


Commit messages:
 - 8256426: Shenandoah: Remove superfluous assert is ShBS::load_reference_barrier()

Changes: https://git.openjdk.java.net/jdk/pull/1261/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=1261&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8256426
  Stats: 1 line in 1 file changed: 0 ins; 1 del; 0 mod
  Patch: https://git.openjdk.java.net/jdk/pull/1261.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/1261/head:pull/1261

PR: https://git.openjdk.java.net/jdk/pull/1261

More information about the hotspot-gc-dev mailing list