RFR: Heap/matrix verification for all reachable objects

Zhengyu Gu zgu at redhat.com
Wed Mar 15 13:25:04 UTC 2017


There is a NMT miscounting:
ShenandoahHeap.cpp

2021   os::uncommit_memory(bm.base(), bm.size());
2022   MemTracker::record_free(bm.base());
2023   delete(q);

MemTracker::record_free() is for malloc'd memory. You don't need 
explicit counting here, os::uncommit_memory does that for you.


Thanks,

-Zhengyu



On 03/15/2017 09:07 AM, Aleksey Shipilev wrote:
> Hi,
>
> This is the verification code that works by asserting invariants on all
> _reachable_ objects. This allows to verify both heap and the matrix without
> having the complete prior mark. Which helps, for example, to assert the matrix
> validity in partial collections.
>
> See:
>   http://cr.openjdk.java.net/~shade/shenandoah/matrix-verify-reachable/webrev.01/
>
> Testing: hotspot_gc_shenandoah (fastdebug/release), selected performance workloads
>
> Thanks,
> -Aleksey
>


More information about the shenandoah-dev mailing list