small fixes for atomicArc (#22017)

* small fixes for atomicArc

* Update lib/system/arc.nim
This commit is contained in:
ringabout
2023-06-07 03:22:07 +08:00
committed by GitHub
parent 7ca55f7de6
commit 0f3d6b5a52
7 changed files with 12 additions and 12 deletions

View File

@@ -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)

View File

@@ -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

View File

@@ -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)

View File

@@ -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)

View File

@@ -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])

View File

@@ -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

View File

@@ -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.} =