RFR: Verify liveness data
Zhengyu Gu
zgu at redhat.com
Mon Aug 7 13:49:43 UTC 2017
1) ShenandoahLivenessData* _ld; -> volatile ShenandoahLivenessData* _ld;
2) shenandoahVerifier.cpp
251 Atomic::add(obj->size() + BrooksPointer::word_size(),
_ld + obj_reg->region_number());
-> 251 Atomic::add(obj->size() +
BrooksPointer::word_size(), _ld[obj_reg->region_number()]);
Otherwise, look good.
-Zhengyu
On 08/07/2017 04:58 AM, Aleksey Shipilev wrote:
> It shall make me sleep better knowing that our liveness calculation during concurrent mark is
> verified. Breaking liveness calculation may have performance implications for heuristics (e.g. not
> treating garbage-first regions well), and functional bugs (e.g. reclaiming immediate garbage
> regions, while they are not really garbage).
>
> Fix:
> http://cr.openjdk.java.net/~shade/shenandoah/verifier-liveness/webrev.01/
>
> Testing: hotspot_gc_shenandoah
>
> Thanks,
> -Aleksey
>
More information about the shenandoah-dev
mailing list