RFR: Complete liveness for recently allocated regions outside of allocation path

Roman Kennke rkennke at redhat.com
Fri Jul 13 16:45:30 UTC 2018


Am 13.07.2018 um 18:40 schrieb Aleksey Shipilev:
> http://cr.openjdk.java.net/~shade/shenandoah/live-tams-late/webrev.01/
> 
> Looking at allocation path performance. Allocation atomically increments per-region "live_data"
> field on every allocation, which is done under the allocation lock. This introduces unneeded local
> latency even in uncontended case, and prolongs the locked region.
> 
> But "live_data" is somewhat special: with normal concurrent mark, we know that all allocation past
> TAMS are implicitly live, and so we can "just" adjust it when mark is finished, avoiding the whole
> mess on allocation path. This also naturally splits mark and traversal paths, where traversal does
> not need liveness anyway.
> 
> Testing: tier3_gc_shenandoah, benchmarks

Excellent! Go!

Roman




More information about the shenandoah-dev mailing list