RFR: Don't treat allocation regions implicitely live during traversal GC
Roman Kennke
rkennke at redhat.com
Wed Jan 31 19:59:26 UTC 2018
Until now, we treated allocation regions from between GC cycles all live
in traversal GC. This seems inconsequential: we are not treating alloc
regions live during the cycle. This means that all the allocated garbage
will have to pass through one complete cycle to count its liveness, and
then another cycle to clear it up. This patch changes this to
traverse+clear alloc regions in the next cycle.
This gives some application a huge boost. E.g. compiler.compiler goes
from 180ops/m to around 205ops/m in my tests.
http://cr.openjdk.java.net/~rkennke/better-traversal-heuristics/webrev.00/
Ok?
Roman
More information about the shenandoah-dev
mailing list