RFR: 8276801: gc/stress/CriticalNativeStress.java fails intermittently with Shenandoah

Zhengyu Gu zgu at openjdk.java.net
Tue Nov 9 16:09:56 UTC 2021


JDK-8276205 fixed a bug that prevents concurrent code cache iteration, without holding CodeCache_lock. That causes register_nmethod() calls can go through during concurrent code cache iteration.

This is no a problem for new nmethod, cause it is *not* in cache cache snapshot for concurrent code cache iteration, but *nmethod patching* is. We can not allow *nmethod patching* during concurrent code cache iteration, should block it until iteration is completed.

Test:

- [x] hotspot_gc_shenandoah
- [x] Stress test on gc/stress/CriticalNativeStress.java

-------------

Commit messages:
 - Consistent assert
 - Strength assert
 - v0

Changes: https://git.openjdk.java.net/jdk/pull/6316/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=6316&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8276801
  Stats: 12 lines in 2 files changed: 7 ins; 1 del; 4 mod
  Patch: https://git.openjdk.java.net/jdk/pull/6316.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/6316/head:pull/6316

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


More information about the hotspot-gc-dev mailing list