diff options
author | Andreas Rumpf <rumpf_a@web.de> | 2018-05-28 11:24:29 +0200 |
---|---|---|
committer | Andreas Rumpf <rumpf_a@web.de> | 2018-05-28 11:24:29 +0200 |
commit | 3221ac094398492e09ea618638204793b0990eca (patch) | |
tree | 49be51c0fef32460ef4cb022b26d1332d865f3d7 /lib/system/gc_regions.nim | |
parent | 7e8eadb6ba9c94ea429ee7178e8cc8fbcbf558ea (diff) | |
download | Nim-3221ac094398492e09ea618638204793b0990eca.tar.gz |
hotfix for --gc:regions
Diffstat (limited to 'lib/system/gc_regions.nim')
-rw-r--r-- | lib/system/gc_regions.nim | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/system/gc_regions.nim b/lib/system/gc_regions.nim index 10df0a2cb..83c65e8ce 100644 --- a/lib/system/gc_regions.nim +++ b/lib/system/gc_regions.nim @@ -162,6 +162,7 @@ proc allocFast(r: var MemRegion; size: int): pointer = return pointer(it) prev = it it = it.next + let size = roundup(size, MemAlign) if size > r.remaining: allocSlowPath(r, size) sysAssert(size <= r.remaining, "size <= r.remaining") @@ -288,11 +289,13 @@ proc rawNewSeq(r: var MemRegion, typ: PNimType, size: int): pointer = result = res +! sizeof(SeqHeader) proc newObj(typ: PNimType, size: int): pointer {.compilerRtl.} = + sysAssert typ.kind notin {tySequence, tyString}, "newObj cannot be used to construct seqs" result = rawNewObj(tlRegion, typ, size) zeroMem(result, size) when defined(memProfiler): nimProfile(size) proc newObjNoInit(typ: PNimType, size: int): pointer {.compilerRtl.} = + sysAssert typ.kind notin {tySequence, tyString}, "newObj cannot be used to construct seqs" result = rawNewObj(tlRegion, typ, size) when defined(memProfiler): nimProfile(size) |