diff options
-rw-r--r-- | lib/system/refs_v2.nim | 14 | ||||
-rw-r--r-- | tests/destructor/towned_binary_tree.nim | 7 |
2 files changed, 3 insertions, 18 deletions
diff --git a/lib/system/refs_v2.nim b/lib/system/refs_v2.nim index 261f215e0..5ac0f0b8e 100644 --- a/lib/system/refs_v2.nim +++ b/lib/system/refs_v2.nim @@ -57,8 +57,6 @@ template head(p: pointer): Cell = const traceCollector = defined(traceArc) -var allocs*: int - proc nimNewObj(size: int): pointer {.compilerRtl.} = let s = size + sizeof(RefHeader) when defined(nimscript): @@ -71,10 +69,6 @@ proc nimNewObj(size: int): pointer {.compilerRtl.} = result = allocShared0(s) +! sizeof(RefHeader) else: result = alloc0(s) +! sizeof(RefHeader) - when hasThreadSupport: - atomicInc allocs - else: - inc allocs when traceCollector: cprintf("[Allocated] %p\n", result -! sizeof(RefHeader)) @@ -100,14 +94,6 @@ proc nimRawDispose(p: pointer) {.compilerRtl.} = deallocShared(p -! sizeof(RefHeader)) else: dealloc(p -! sizeof(RefHeader)) - if allocs > 0: - when hasThreadSupport: - discard atomicDec(allocs) - else: - dec allocs - else: - cstderr.rawWrite "[FATAL] unpaired dealloc\n" - quit 1 template dispose*[T](x: owned(ref T)) = nimRawDispose(cast[pointer](x)) #proc dispose*(x: pointer) = nimRawDispose(x) diff --git a/tests/destructor/towned_binary_tree.nim b/tests/destructor/towned_binary_tree.nim index 372b1d3d8..3ec80badf 100644 --- a/tests/destructor/towned_binary_tree.nim +++ b/tests/destructor/towned_binary_tree.nim @@ -1,7 +1,7 @@ discard """ - cmd: '''nim c --newruntime $file''' + cmd: '''nim c -d:nimAllocStats --newruntime $file''' output: '''331665 -allocs 0''' +(allocCount: 333335, deallocCount: 333335)''' """ # bug #11053 @@ -87,6 +87,5 @@ proc main() = discard echo res -when isMainModule: +dumpAllocStats: main() - echo "allocs ", allocs |