some progress on --gc:destructors
This commit is contained in:
parent
413580bc04
commit
8990764709
1 changed files with 18 additions and 17 deletions
|
|
@ -82,7 +82,7 @@ type
|
||||||
cap: int
|
cap: int
|
||||||
region: Allocator
|
region: Allocator
|
||||||
|
|
||||||
proc newSeqPayload(cap, elemSize: int): pointer {.compilerRtl, noSideEffect.} =
|
proc newSeqPayload(cap, elemSize: int): pointer {.compilerRtl.} =
|
||||||
# we have to use type erasure here as Nim does not support generic
|
# we have to use type erasure here as Nim does not support generic
|
||||||
# compilerProcs. Oh well, this will all be inlined anyway.
|
# compilerProcs. Oh well, this will all be inlined anyway.
|
||||||
if cap <= 0:
|
if cap <= 0:
|
||||||
|
|
@ -96,6 +96,7 @@ proc newSeqPayload(cap, elemSize: int): pointer {.compilerRtl, noSideEffect.} =
|
||||||
|
|
||||||
proc prepareSeqAdd(len: int; p: pointer; addlen, elemSize: int): pointer {.
|
proc prepareSeqAdd(len: int; p: pointer; addlen, elemSize: int): pointer {.
|
||||||
compilerRtl, noSideEffect.} =
|
compilerRtl, noSideEffect.} =
|
||||||
|
{.noSideEffect.}:
|
||||||
if len+addlen <= len:
|
if len+addlen <= len:
|
||||||
result = p
|
result = p
|
||||||
elif p == nil:
|
elif p == nil:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue