parent
8a3b76b287
commit
a9bd78d579
23 changed files with 140 additions and 140 deletions
|
|
@ -185,8 +185,8 @@ when not usesDestructors:
|
|||
proc storeAux(dest, src: pointer, n: ptr TNimNode, t: PRawChannel,
|
||||
mode: LoadStoreMode) {.benign.} =
|
||||
var
|
||||
d = cast[ByteAddress](dest)
|
||||
s = cast[ByteAddress](src)
|
||||
d = cast[int](dest)
|
||||
s = cast[int](src)
|
||||
case n.kind
|
||||
of nkSlot: storeAux(cast[pointer](d +% n.offset),
|
||||
cast[pointer](s +% n.offset), n.typ, t, mode)
|
||||
|
|
@ -205,8 +205,8 @@ when not usesDestructors:
|
|||
cast[pointer](cast[int](p) +% x)
|
||||
|
||||
var
|
||||
d = cast[ByteAddress](dest)
|
||||
s = cast[ByteAddress](src)
|
||||
d = cast[int](dest)
|
||||
s = cast[int](src)
|
||||
sysAssert(mt != nil, "mt == nil")
|
||||
case mt.kind
|
||||
of tyString:
|
||||
|
|
@ -245,14 +245,14 @@ when not usesDestructors:
|
|||
x[] = alloc0(t.region, align(GenericSeqSize, mt.base.align) +% seq.len *% mt.base.size)
|
||||
else:
|
||||
unsureAsgnRef(x, newSeq(mt, seq.len))
|
||||
var dst = cast[ByteAddress](cast[PPointer](dest)[])
|
||||
var dst = cast[int](cast[PPointer](dest)[])
|
||||
var dstseq = cast[PGenericSeq](dst)
|
||||
dstseq.len = seq.len
|
||||
dstseq.reserved = seq.len
|
||||
for i in 0..seq.len-1:
|
||||
storeAux(
|
||||
cast[pointer](dst +% align(GenericSeqSize, mt.base.align) +% i *% mt.base.size),
|
||||
cast[pointer](cast[ByteAddress](s2) +% align(GenericSeqSize, mt.base.align) +%
|
||||
cast[pointer](cast[int](s2) +% align(GenericSeqSize, mt.base.align) +%
|
||||
i *% mt.base.size),
|
||||
mt.base, t, mode)
|
||||
if mode != mStore: dealloc(t.region, s2)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue