summary refs log tree commit diff stats
path: root/lib/system/sysstr.nim
diff options
context:
space:
mode:
authorflywind <43030857+xflywind@users.noreply.github.com>2022-06-11 02:32:27 +0800
committerGitHub <noreply@github.com>2022-06-10 20:32:27 +0200
commit8cde6ba6bcf236478f1d5d5aa722977ce9723a57 (patch)
treef234e44507b807cddedce4c31d8f41fa4d8fad14 /lib/system/sysstr.nim
parenteefca1b81f334a5ccdb7d180de5b6a9969f12793 (diff)
downloadNim-8cde6ba6bcf236478f1d5d5aa722977ce9723a57.tar.gz
remove noop option `gc:v2` (#19810)
* remove noop option gc:v2

* changelog
Diffstat (limited to 'lib/system/sysstr.nim')
-rw-r--r--lib/system/sysstr.nim14
1 files changed, 2 insertions, 12 deletions
diff --git a/lib/system/sysstr.nim b/lib/system/sysstr.nim
index 49fff41e9..c4f0db718 100644
--- a/lib/system/sysstr.nim
+++ b/lib/system/sysstr.nim
@@ -304,20 +304,10 @@ proc setLengthSeq(seq: PGenericSeq, elemSize, elemAlign, newLen: int): PGenericS
     when not defined(boehmGC) and not defined(nogc) and
          not defined(gcMarkAndSweep) and not defined(gogc) and
          not defined(gcRegions):
-      when false: # deadcode: was used by `compileOption("gc", "v2")`
+      if ntfNoRefs notin extGetCellType(result).base.flags:
         for i in newLen..result.len-1:
-          let len0 = gch.tempStack.len
           forAllChildrenAux(dataPointer(result, elemAlign, elemSize, i),
-                            extGetCellType(result).base, waPush)
-          let len1 = gch.tempStack.len
-          for i in len0 ..< len1:
-            doDecRef(gch.tempStack.d[i], LocalHeap, MaybeCyclic)
-          gch.tempStack.len = len0
-      else:
-        if ntfNoRefs notin extGetCellType(result).base.flags:
-          for i in newLen..result.len-1:
-            forAllChildrenAux(dataPointer(result, elemAlign, elemSize, i),
-                              extGetCellType(result).base, waZctDecRef)
+                            extGetCellType(result).base, waZctDecRef)
 
     # XXX: zeroing out the memory can still result in crashes if a wiped-out
     # cell is aliased by another pointer (ie proc parameter or a let variable).