RFR: Concurrent code cache evacuation

Aleksey Shipilev shade at redhat.com
Wed Jun 28 10:05:09 UTC 2017


Hi,

I would like us to make code cache evacuation concurrent:
  http://cr.openjdk.java.net/~shade/shenandoah/codecache-conc-evac/webrev.02/

This gives us the benefit of much lower final mark times, where we had to
evacuate the code cache roots:
  http://cr.openjdk.java.net/~shade/shenandoah/codecache-conc-evac/perf.txt

Code cache was evacuated at pause because constant oops barriers were stripped
away as optimization, and this change conflicts with that optimization. So,
+ShenandoahBarriersForConst is set by default. This may affect correctness, as
demonstrated by recent Roland's fixes to C2.

Throughput-wise, only Compiler.* tests are regressing ~2% in single-threaded
mode. The regression is completely gone in fully-threaded configuration. We seen
no other regressions.

Testing: hotspot_gc_shenandoah, specjvm with +Verify, specjbb with +Verify

Thanks,
-Aleksey



More information about the shenandoah-dev mailing list