defaults to ORC (#19972)
* defaults to Orc * bootstrap using refc * use gc * init orc defines * unregister orc * fix gc * fix commands * add prepareMutation for orc * enable deepcopy for orc * prepareMutation * more fixes * some cases * bug #20081 * partial fixes * partial fixes * fixes command line * more fixes * build Nim with refc * use gc * more fixes * rstore * orc doesn't support threadpool * more shallowCopy * more fixes * fixes unsafeNew * workarounds * small * more fixes * fixes some megatest * tcodegenbugs1 refc * fxies megatest * build nimble with refc * workaround tensordsl tests * replace shallowCopy with move * fixes action * workaround * add todo * fixes important packages * unpublic unregisterArcOrc * fixes cpp * enable windows Co-authored-by: xflywind <43030857+xflywind@users.noreply.github.com>
This commit is contained in:
parent
47b59e4d33
commit
7739e23420
81 changed files with 255 additions and 150 deletions
|
|
@ -31,6 +31,8 @@ macro bindme6UseExpose*(): untyped =
|
|||
genAst:
|
||||
var tst = "sometext"
|
||||
var ss = newStringStream("anothertext")
|
||||
when defined(gcArc) or defined(gcOrc):
|
||||
prepareMutation(tst)
|
||||
writeData(ss, tst[0].addr, 2)
|
||||
discard readData(ss, tst[0].addr, 2)
|
||||
|
||||
|
|
@ -40,6 +42,8 @@ macro bindme6UseExposeFalse*(): untyped =
|
|||
genAstOpt({kDirtyTemplate}, newStringStream, writeData, readData):
|
||||
var tst = "sometext"
|
||||
var ss = newStringStream("anothertext")
|
||||
when defined(gcArc) or defined(gcOrc):
|
||||
prepareMutation(tst)
|
||||
writeData(ss, tst[0].addr, 2)
|
||||
discard readData(ss, tst[0].addr, 2)
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,7 @@
|
|||
discard """
|
||||
matrix: "--mm:orc; --mm:refc"
|
||||
"""
|
||||
|
||||
# xxx also test on js
|
||||
|
||||
import std/genasts
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
discard """
|
||||
cmd: "nim $target --threads:on -d:ssl $options $file"
|
||||
cmd: "nim $target --mm:refc -d:ssl $options $file"
|
||||
disabled: "openbsd"
|
||||
"""
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
discard """
|
||||
matrix: "--mm:refc"
|
||||
targets: "c cpp js"
|
||||
"""
|
||||
|
||||
|
|
@ -49,7 +50,7 @@ for i in 0 .. 10000:
|
|||
except:
|
||||
discard
|
||||
# memory diff should less than 4M
|
||||
doAssert(abs(getOccupiedMem() - startMemory) < 4 * 1024 * 1024)
|
||||
doAssert(abs(getOccupiedMem() - startMemory) < 4 * 1024 * 1024) # todo fixme doesn;t work for ORC
|
||||
|
||||
|
||||
# test `$`
|
||||
|
|
|
|||
|
|
@ -62,6 +62,7 @@ block:
|
|||
|
||||
block:
|
||||
var x = "foobar"
|
||||
prepareMutation(x)
|
||||
var y = cast[cstring](addr x[0])
|
||||
for c in y.mitems:
|
||||
inc c
|
||||
|
|
@ -75,6 +76,7 @@ block:
|
|||
|
||||
block:
|
||||
var x = "foobar"
|
||||
prepareMutation(x)
|
||||
var y = cast[cstring](addr x[0])
|
||||
for i, c in y.mpairs:
|
||||
inc c, i
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
discard """
|
||||
matrix: "--mm:refc"
|
||||
output: '''
|
||||
abc
|
||||
def
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
discard """
|
||||
matrix: "--mm:refc"
|
||||
targets: "c cpp js"
|
||||
"""
|
||||
|
||||
|
|
|
|||
|
|
@ -66,8 +66,7 @@ else:
|
|||
|
||||
#RFC-2781 "UTF-16, an encoding of ISO 10646"
|
||||
|
||||
var wc: WideCString
|
||||
unsafeNew(wc, 1024 * 4 + 2)
|
||||
var wc: WideCString = newWideCString(1024 * 2)
|
||||
|
||||
#U+0000 to U+D7FF
|
||||
#skip the U+0000
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue