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:
ringabout 2022-09-23 19:05:05 +08:00 • committed by GitHub
commit 7739e23420
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
81 changed files with 255 additions and 150 deletions

View file

@ -1,4 +1,5 @@
discard """
matrix: "--mm:refc; --mm:orc"
output: '''
Hithere, what's your name?Hathere, what's your name?
fA13msg1falsefB14msg2truefC15msg3false
@ -11,8 +12,6 @@ FilterIt: [1, 3, 7]
Concat: [1, 3, 5, 7, 2, 4, 6]
Deduplicate: [1, 2, 3, 4, 5, 7]
@[()]
@[1, 42, 3]
@[1, 42, 3]
2345623456
'''
"""
@ -158,41 +157,41 @@ block tsequtils:
echo someObjSeq
block tshallowseq:
proc xxx() =
var x: seq[int] = @[1, 2, 3]
var y: seq[int]
system.shallowCopy(y, x)
y[1] = 42
echo y
echo x
xxx()
when not defined(nimseqsv2):
block tshallowseq:
proc xxx() =
var x: seq[int] = @[1, 2, 3]
var y: seq[int]
system.shallowCopy(y, x)
y[1] = 42
doAssert y == @[1, 42, 3]
doAssert x == @[1, 42, 3]
xxx()
block tshallowemptyseq:
proc test() =
var nilSeq: seq[int] = @[]
var emptySeq: seq[int] = newSeq[int]()
block:
var t = @[1,2,3]
shallow(nilSeq)
t = nilSeq
doAssert t == @[]
block:
var t = @[1,2,3]
shallow(emptySeq)
t = emptySeq
doAssert t == @[]
block:
var t = @[1,2,3]
shallowCopy(t, nilSeq)
doAssert t == @[]
block:
var t = @[1,2,3]
shallowCopy(t, emptySeq)
doAssert t == @[]
test()
block tshallowemptyseq:
proc test() =
var nilSeq: seq[int] = @[]
var emptySeq: seq[int] = newSeq[int]()
block:
var t = @[1,2,3]
shallow(nilSeq)
t = nilSeq
doAssert t == @[]
block:
var t = @[1,2,3]
shallow(emptySeq)
t = emptySeq
doAssert t == @[]
block:
var t = @[1,2,3]
shallowCopy(t, nilSeq)
doAssert t == @[]
block:
var t = @[1,2,3]
shallowCopy(t, emptySeq)
doAssert t == @[]
test()
import strutils