fixes #12547 [backport]
This commit is contained in:
parent
de5f6a07c2
commit
1214960a1b
1 changed files with 7 additions and 0 deletions
|
|
@ -231,6 +231,12 @@ proc getTemp(cc: PCtx; tt: PType): TRegister =
|
|||
# for e.g. mNAdd[Multiple]:
|
||||
let k = if typ.isNil: slotTempComplex else: typ.getSlotKind
|
||||
result = getFreeRegister(cc, k, start = 0)
|
||||
when false:
|
||||
# enable this to find "register" leaks:
|
||||
if result == 4:
|
||||
echo "begin ---------------"
|
||||
writeStackTrace()
|
||||
echo "end ----------------"
|
||||
|
||||
proc freeTemp(c: PCtx; r: TRegister) =
|
||||
let c = c.prc
|
||||
|
|
@ -1703,6 +1709,7 @@ proc genCheckedObjAccessAux(c: PCtx; n: PNode; dest: var TDest; flags: TGenFlags
|
|||
let setLit = c.genx(checkExpr[1])
|
||||
var rs = c.getTemp(getSysType(c.graph, n.info, tyBool))
|
||||
c.gABC(n, opcContainsSet, rs, setLit, discVal)
|
||||
c.freeTemp(discVal)
|
||||
c.freeTemp(setLit)
|
||||
# If the check fails let the user know
|
||||
let lab1 = c.xjmp(n, if negCheck: opcFJmp else: opcTJmp, rs)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue