summary refs log tree commit diff stats
path: root/lib
diff options
context:
space:
mode:
authorringabout <43030857+ringabout@users.noreply.github.com>2023-06-07 03:22:07 +0800
committerGitHub <noreply@github.com>2023-06-06 21:22:07 +0200
commit0f3d6b5a52981cc8df49120a770c20152d75ee2d (patch)
tree8f631ff744f3a257759eeeb2348e18b591661682 /lib
parent7ca55f7de6a5f81ef9c7a546bdd9e676a22617ed (diff)
downloadNim-0f3d6b5a52981cc8df49120a770c20152d75ee2d.tar.gz
small fixes for atomicArc (#22017)
* small fixes for atomicArc

* Update lib/system/arc.nim
Diffstat (limited to 'lib')
-rw-r--r--lib/pure/asynchttpserver.nim2
-rw-r--r--lib/pure/coro.nim2
-rw-r--r--lib/pure/json.nim2
-rw-r--r--lib/pure/marshal.nim4
-rw-r--r--lib/system.nim8
-rw-r--r--lib/system/cellsets.nim4
-rw-r--r--lib/system/osalloc.nim2
7 files changed, 12 insertions, 12 deletions
diff --git a/lib/pure/asynchttpserver.nim b/lib/pure/asynchttpserver.nim
index c09fe35ca..9b369c4bc 100644
--- a/lib/pure/asynchttpserver.nim
+++ b/lib/pure/asynchttpserver.nim
@@ -187,7 +187,7 @@ proc processRequest(
   # \n
   request.headers.clear()
   request.body = ""
-  when defined(gcArc) or defined(gcOrc):
+  when defined(gcArc) or defined(gcOrc) or defined(gcAtomicArc):
     request.hostname = address
   else:
     request.hostname.shallowCopy(address)
diff --git a/lib/pure/coro.nim b/lib/pure/coro.nim
index 3b9bba59b..7f0f551e6 100644
--- a/lib/pure/coro.nim
+++ b/lib/pure/coro.nim
@@ -37,7 +37,7 @@ when defined(nimPreviewSlimSystem):
   import std/assertions
 
 const defaultStackSize = 512 * 1024
-const useOrcArc = defined(gcArc) or defined(gcOrc)
+const useOrcArc = defined(gcArc) or defined(gcOrc) or defined(gcAtomicArc)
 
 when useOrcArc:
   proc nimGC_setStackBottom*(theStackBottom: pointer) = discard
diff --git a/lib/pure/json.nim b/lib/pure/json.nim
index b68ddd660..2e448dba7 100644
--- a/lib/pure/json.nim
+++ b/lib/pure/json.nim
@@ -856,7 +856,7 @@ proc parseJson(p: var JsonParser; rawIntegers, rawFloats: bool, depth = 0): Json
   case p.tok
   of tkString:
     # we capture 'p.a' here, so we need to give it a fresh buffer afterwards:
-    when defined(gcArc) or defined(gcOrc):
+    when defined(gcArc) or defined(gcOrc) or defined(gcAtomicArc):
       result = JsonNode(kind: JString, str: move p.a)
     else:
       result = JsonNode(kind: JString)
diff --git a/lib/pure/marshal.nim b/lib/pure/marshal.nim
index 848d7e3fb..7c092973f 100644
--- a/lib/pure/marshal.nim
+++ b/lib/pure/marshal.nim
@@ -304,7 +304,7 @@ proc store*[T](s: Stream, data: sink T) =
 
   var stored = initIntSet()
   var d: T
-  when defined(gcArc) or defined(gcOrc):
+  when defined(gcArc) or defined(gcOrc)or defined(gcAtomicArc):
     d = data
   else:
     shallowCopy(d, data)
@@ -333,7 +333,7 @@ proc `$$`*[T](x: sink T): string =
   else:
     var stored = initIntSet()
     var d: T
-    when defined(gcArc) or defined(gcOrc):
+    when defined(gcArc) or defined(gcOrc) or defined(gcAtomicArc):
       d = x
     else:
       shallowCopy(d, x)
diff --git a/lib/system.nim b/lib/system.nim
index b0d900076..3a39da32e 100644
--- a/lib/system.nim
+++ b/lib/system.nim
@@ -325,7 +325,7 @@ proc low*(x: string): int {.magic: "Low", noSideEffect.}
   ## See also:
   ## * `high(string) <#high,string>`_
 
-when not defined(gcArc) and not defined(gcOrc):
+when not defined(gcArc) and not defined(gcOrc) and not defined(gcAtomicArc):
   proc shallowCopy*[T](x: var T, y: T) {.noSideEffect, magic: "ShallowCopy".}
     ## Use this instead of `=` for a `shallow copy`:idx:.
     ##
@@ -360,7 +360,7 @@ when defined(nimHasDup):
 
 proc `=sink`*[T](x: var T; y: T) {.inline, nodestroy, magic: "Asgn".} =
   ## Generic `sink`:idx: implementation that can be overridden.
-  when defined(gcArc) or defined(gcOrc):
+  when defined(gcArc) or defined(gcOrc) or defined(gcAtomicArc):
     x = y
   else:
     shallowCopy(x, y)
@@ -2336,7 +2336,7 @@ when compileOption("rangechecks"):
 else:
   template rangeCheck*(cond) = discard
 
-when not defined(gcArc) and not defined(gcOrc):
+when not defined(gcArc) and not defined(gcOrc) and not defined(gcAtomicArc):
   proc shallow*[T](s: var seq[T]) {.noSideEffect, inline.} =
     ## Marks a sequence `s` as `shallow`:idx:. Subsequent assignments will not
     ## perform deep copies of `s`.
@@ -2393,7 +2393,7 @@ when hasAlloc or defined(nimscript):
     setLen(x, xl+item.len)
     var j = xl-1
     while j >= i:
-      when defined(gcArc) or defined(gcOrc):
+      when defined(gcArc) or defined(gcOrc) or defined(gcAtomicArc):
         x[j+item.len] = move x[j]
       else:
         shallowCopy(x[j+item.len], x[j])
diff --git a/lib/system/cellsets.nim b/lib/system/cellsets.nim
index a0f1fabf9..92036c226 100644
--- a/lib/system/cellsets.nim
+++ b/lib/system/cellsets.nim
@@ -42,7 +42,7 @@ Complete traversal is done in this way::
 
 ]#
 
-when defined(gcOrc) or defined(gcArc):
+when defined(gcOrc) or defined(gcArc) or defined(gcAtomicArc):
   type
     PCell = Cell
 
@@ -78,7 +78,7 @@ type
     head: PPageDesc
     data: PPageDescArray
 
-when defined(gcOrc) or defined(gcArc):
+when defined(gcOrc) or defined(gcArc) or defined(gcAtomicArc):
   discard
 else:
   include cellseqs_v1
diff --git a/lib/system/osalloc.nim b/lib/system/osalloc.nim
index 925e98ed3..201be8540 100644
--- a/lib/system/osalloc.nim
+++ b/lib/system/osalloc.nim
@@ -29,7 +29,7 @@ const doNotUnmap = not (defined(amd64) or defined(i386)) or
 
 
 when defined(nimAllocPagesViaMalloc):
-  when not defined(gcArc) and not defined(gcOrc):
+  when not defined(gcArc) and not defined(gcOrc) and not defined(gcAtomicArc):
     {.error: "-d:nimAllocPagesViaMalloc is only supported with --gc:arc or --gc:orc".}
 
   proc osTryAllocPages(size: int): pointer {.inline.} =