Implement libc-WASI for Linux SGX platform and update documents (#343)
This commit is contained in:
@ -630,6 +630,12 @@ gci_dump(gc_heap_t *heap)
|
||||
os_printf("#%d %08x %x %x %d %c %d\n",
|
||||
i, (int32)((char*) cur - (char*) heap->base_addr),
|
||||
ut, p, mark, inuse, (int32)hmu_obj_size(size));
|
||||
#if BH_ENABLE_GC_VERIFY != 0
|
||||
if (inuse == 'V') {
|
||||
gc_object_prefix_t *prefix = (gc_object_prefix_t *)(cur + 1);
|
||||
os_printf("#%s:%d\n", prefix->file_name, prefix->line_no);
|
||||
}
|
||||
#endif
|
||||
|
||||
cur = (hmu_t*)((char *)cur + size);
|
||||
i++;
|
||||
|
||||
@ -84,8 +84,8 @@ hmu_verify(hmu_t *hmu)
|
||||
|
||||
if(!is_padding_ok)
|
||||
{
|
||||
printf("Invalid padding for object created at %s:%d",
|
||||
(prefix->file_name ? prefix->file_name : ""), prefix->line_no);
|
||||
os_printf("Invalid padding for object created at %s:%d",
|
||||
(prefix->file_name ? prefix->file_name : ""), prefix->line_no);
|
||||
}
|
||||
bh_assert(is_padding_ok);
|
||||
}
|
||||
|
||||
@ -80,6 +80,17 @@ int
|
||||
gc_destroy_with_pool(gc_handle_t handle)
|
||||
{
|
||||
gc_heap_t *heap = (gc_heap_t *) handle;
|
||||
#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 ((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
|
||||
}
|
||||
#endif
|
||||
os_mutex_destroy(&heap->lock);
|
||||
memset(heap->base_addr, 0, heap->current_size);
|
||||
memset(heap, 0, sizeof(gc_heap_t));
|
||||
|
||||
Reference in New Issue
Block a user