浏览代码

minor gc optimization: no need to set bmp bits to 0, only check in GC_DEBUG that they are

ncannasse 6 年之前
父节点
当前提交
2ff51637da
共有 1 个文件被更改,包括 2 次插入3 次删除
  1. 2 3
      src/alloc.c

+ 2 - 3
src/alloc.c

@@ -622,14 +622,13 @@ alloc_var:
 	if( p->bmp ) {
 		int i;
 		int bid = p->next_block;
+#		ifdef GC_DEBUG
 		for(i=0;i<nblocks;i++) {
-#			ifdef GC_DEBUG
 			if( (p->bmp[bid>>3]&(1<<(bid&7))) != 0 ) hl_fatal("Alloc on marked block");
-#			endif
-			p->bmp[bid>>3] &= ~(1<<(bid&7));
 			bid++;
 		}
 		bid = p->next_block;
+#		endif
 		p->bmp[bid>>3] |= 1<<(bid&7);
 	} else {
 		p->free_blocks = p->max_blocks - (p->next_block + nblocks);