From 81d404979780386ecd1756a41dfc09497e194f26 Mon Sep 17 00:00:00 2001 From: Araq Date: Wed, 30 Apr 2014 01:05:52 +0200 Subject: [PATCH] bugfix: MS-GC GC_unref --- lib/system/gc_ms.nim | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/system/gc_ms.nim b/lib/system/gc_ms.nim index db437b8d0f..410243528e 100644 --- a/lib/system/gc_ms.nim +++ b/lib/system/gc_ms.nim @@ -143,7 +143,7 @@ proc nimGCref(p: pointer) {.compilerProc.} = proc nimGCunref(p: pointer) {.compilerProc.} = let cell = usrToCell(p) - var L = gch.additionalRoots.len + var L = gch.additionalRoots.len-1 var i = L let d = gch.additionalRoots.d while i >= 0: @@ -151,6 +151,7 @@ proc nimGCunref(p: pointer) {.compilerProc.} = d[i] = d[L] dec gch.additionalRoots.len break + dec(i) when false: when withBitvectors: incl(gch.allocated, usrToCell(p)) else: usrToCell(p).refcount = rcWhite