The CodeCache::scavenge_root_nmethods_do function and all its implementations in CodeCache and nmethod, is only used by set of our GCs (Serial, Parallel, and CMS), but not by G1, ZGC, Shenandoah, or Epsilon. I want to move all of that into GC subsystem and then only let those GCs using it pay the cost of having that code.
This is a continuation of the work of the GC Interface, where G1, ZGC, Shenandoah, and Epsilon, uses the register_nmethod, unregister_nmethod, and flush_nmethod calls, but the other GCs don't.
This is a continuation of the work of the GC Interface, where G1, ZGC, Shenandoah, and Epsilon, uses the register_nmethod, unregister_nmethod, and flush_nmethod calls, but the other GCs don't.
- duplicates
-
JDK-8189735 Remove CodeCache::gc_prologue()) call in G1 Full GC
- Closed