From 0363fb1783d931fc49673d53e084b76e3b6799c1 Mon Sep 17 00:00:00 2001 From: Anuraag Agrawal Date: Mon, 23 Oct 2023 11:53:33 +0900 Subject: [PATCH] Don't use GC_malloc_atomic (#29) --- gc.go | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/gc.go b/gc.go index 72e7d08..40d6f97 100644 --- a/gc.go +++ b/gc.go @@ -112,10 +112,6 @@ func alloc(size uintptr, layoutPtr unsafe.Pointer) unsafe.Pointer { func allocSmall(allocSz uintptr, layoutSz uintptr, layoutBm uintptr) unsafe.Pointer { desc := gcDescr(layoutBm) - if desc == 0 { - return C.GC_malloc_atomic(C.uint(allocSz)) - } - return allocTyped(allocSz, layoutSz, desc) } @@ -141,7 +137,7 @@ func allocLarge(allocSz uintptr, layoutPtr unsafe.Pointer) unsafe.Pointer { func allocTyped(allocSz uintptr, layoutSz uintptr, desc uintptr) unsafe.Pointer { itemSz := layoutSz * unsafe.Sizeof(uintptr(0)) - if itemSz == allocSz { + if desc == 0 || itemSz == allocSz { return C.GC_malloc_explicitly_typed(C.uint(allocSz), C.uint(desc)) } numItems := allocSz / itemSz