RFR 8227103: Shenandoah: Refactor ShenandoahNMethod in preparation of concurrent nmethod iteration
Zhengyu Gu
zgu at redhat.com
Tue Jul 2 16:51:47 UTC 2019
This refactor is one of subtasks for concurrent nmethod unloading [1].
It moves ShenandoahNMethod out of ShenandoahCodeRoots, in preparation
for more complicated concurrent nmethod iteration.
Borrowing what ZGC does, only records oops embedded in relocation stream
to reduce memory footprint. Also, attaches ShenandoahNMethod to
nmethod's gc_data, so that it avoids additional searching during
re-register nmethod.
Let's use shenandoah/jdk for concurrent nmethod unloading work, while we
stabilize early concurrent root work in jdk/jdk.
Bug: https://bugs.openjdk.java.net/browse/JDK-8227103
Webrev: http://cr.openjdk.java.net/~zgu/JDK-8227103/webrev.00/
Test:
hotspot_gc_shenandoah (fastdebug and release)
Thanks,
-Zhengyu
[1] https://bugs.openjdk.java.net/browse/JDK-8227102
More information about the shenandoah-dev
mailing list