RFR 8239926: Shenandoah: Shenandoah needs to mark nmethod's metadata
zgu at redhat.com
Tue Feb 25 17:13:03 UTC 2020
Shenandoah encounters a few test failures with tools/javac. Verifier
catches unmarked oops in nmethod's metadata during root evacuation in
final mark phase.
The problem is that, Shenandoah marks on stack nmethods in init mark
pause, but it does not mark nmethod's metadata during concurrent mark
phase, when new nmethod is about to be executed.
1) Use nmethod_entry_barrier to keep nmethod's metadata alive when the
nmethod is about to be executed, when nmethod entry barrier is supported.
2) Remark on stack nmethod's metadata at final mark pause.
hotspot_gc_shenandoah (fastdebug and release)
tools/javac with ShenandoahCodeRootsStyle = 1 and 2 (fastdebug and
More information about the hotspot-gc-dev