Enable memory leak check (#1429)
Report the memory leak info when building iwasm with `cmake .. -DWAMR_BUILD_GC_VERIFY=1`
This commit is contained in:
@ -125,23 +125,24 @@ int
|
||||
gc_destroy_with_pool(gc_handle_t handle)
|
||||
{
|
||||
gc_heap_t *heap = (gc_heap_t *)handle;
|
||||
int ret = GC_SUCCESS;
|
||||
|
||||
#if BH_ENABLE_GC_VERIFY != 0
|
||||
hmu_t *cur = (hmu_t *)heap->base_addr;
|
||||
hmu_t *end = (hmu_t *)((char *)heap->base_addr + heap->current_size);
|
||||
|
||||
if (!heap->is_heap_corrupted
|
||||
&& (hmu_t *)((char *)cur + hmu_get_size(cur)) != end) {
|
||||
os_printf("Memory leak detected:\n");
|
||||
gci_dump(heap);
|
||||
#if WASM_ENABLE_SPEC_TEST != 0
|
||||
while (1) {
|
||||
}
|
||||
#endif
|
||||
ret = GC_ERROR;
|
||||
}
|
||||
#endif
|
||||
|
||||
os_mutex_destroy(&heap->lock);
|
||||
memset(heap->base_addr, 0, heap->current_size);
|
||||
memset(heap, 0, sizeof(gc_heap_t));
|
||||
return GC_SUCCESS;
|
||||
return ret;
|
||||
}
|
||||
|
||||
uint32
|
||||
|
||||
Reference in New Issue
Block a user