瀏覽代碼

[gc] remove memmove usage in hl_remove_roots (#778)

Cristian Camilo Ruiz 4 月之前
父節點
當前提交
005592f61e
共有 2 個文件被更改,包括 2 次插入1 次删除
  1. 1 0
      .gitignore
  2. 1 1
      src/gc.c

+ 1 - 0
.gitignore

@@ -21,6 +21,7 @@ x64
 *.a
 *.a
 *.opendb
 *.opendb
 *.VC.db
 *.VC.db
+.cache
 .vs
 .vs
 /hl
 /hl
 /include/sdl
 /include/sdl

+ 1 - 1
src/gc.c

@@ -286,7 +286,7 @@ HL_PRIM void hl_remove_root( void *v ) {
 	for(i=gc_roots_count-1;i>=0;i--)
 	for(i=gc_roots_count-1;i>=0;i--)
 		if( gc_roots[i] == (void**)v ) {
 		if( gc_roots[i] == (void**)v ) {
 			gc_roots_count--;
 			gc_roots_count--;
-			memmove(gc_roots + i, gc_roots + (i+1), (gc_roots_count - i) * sizeof(void*));
+			gc_roots[i] = gc_roots[gc_roots_count];
 			break;
 			break;
 		}
 		}
 	gc_global_lock(false);
 	gc_global_lock(false);