Browse Source

more gc reasons

Nicolas Cannasse 8 năm trước cách đây
mục cha
commit
29d9921226
1 tập tin đã thay đổi với 2 bổ sung0 xóa
  1. 2 0
      src/alloc.c

+ 2 - 0
src/alloc.c

@@ -1119,6 +1119,8 @@ static int tracked_max = 0;
 static uchar *hl_gc_reason( void *ptr ) {
 	gc_pheader *page = GC_GET_PAGE(ptr);
 	int bid;
+	if( !hl_is_ptr(&hlt_dyn) ) return USTR("BrokenDyn");
+	if( cur_mark_stack != mark_stack_end - mark_stack_size + 2 ) return USTR("MarkStack");
 	if( !page ) return USTR("NoPage");
 	if( ((unsigned char*)ptr - (unsigned char*)page) % page->block_size != 0 ) return USTR("Unaligned");
 	bid = (int)((unsigned char*)ptr - (unsigned char*)page) / page->block_size;