newruntime: make 'discard new RootObj' work

This commit is contained in:
Araq
2019-04-26 20:33:58 +02:00
parent b350a9fc52
commit 8e27bddb97
2 changed files with 4 additions and 3 deletions

View File

@@ -227,8 +227,9 @@ proc blockLeaveActions(p: BProc, howManyTrys, howManyExcepts: int) =
if not p.module.compileToCpp or optNoCppExceptions in p.config.globalOptions:
# Pop exceptions that was handled by the
# except-blocks we are in
for i in countdown(howManyExcepts-1, 0):
linefmt(p, cpsStmts, "#popCurrentException();$n", [])
if not p.noSafePoints:
for i in countdown(howManyExcepts-1, 0):
linefmt(p, cpsStmts, "#popCurrentException();$n", [])
proc genGotoState(p: BProc, n: PNode) =
# we resist the temptation to translate it into duff's device as it later

View File

@@ -48,7 +48,7 @@ proc nimNewObj(size: int): pointer {.compilerRtl.} =
discard
elif defined(useMalloc):
var orig = c_malloc(s)
nimZeroMem(result, s)
nimZeroMem(orig, s)
result = orig +! sizeof(RefHeader)
else:
result = alloc0(s) +! sizeof(RefHeader)