fixes #14159 [backport:1.2]
This commit is contained in:
parent
4301a7bdf0
commit
87ac28d19a
2 changed files with 36 additions and 1 deletions
|
|
@ -2,6 +2,8 @@ discard """
|
|||
output: '''BEGIN
|
||||
END
|
||||
END 2
|
||||
cpu.nes false
|
||||
cpu step nes is nil? - false
|
||||
0'''
|
||||
cmd: '''nim c --gc:orc $file'''
|
||||
"""
|
||||
|
|
@ -59,7 +61,38 @@ proc main =
|
|||
c.run
|
||||
echo "END 2"
|
||||
|
||||
# bug #14159
|
||||
type
|
||||
NES = ref object
|
||||
cpu: CPU
|
||||
apu: APU
|
||||
|
||||
CPU = ref object
|
||||
nes: NES
|
||||
|
||||
APU = object
|
||||
nes: NES
|
||||
cpu: CPU
|
||||
|
||||
proc initAPU(nes: sink NES): APU {.nosinks.} =
|
||||
result.nes = nes
|
||||
result.cpu = nes.cpu
|
||||
|
||||
proc step(cpu: CPU): int =
|
||||
echo "cpu.nes ", cpu.isNil
|
||||
echo "cpu step nes is nil? - ", cpu.nes.isNil()
|
||||
|
||||
proc newNES(): NES =
|
||||
new result
|
||||
result.cpu = CPU(nes: result)
|
||||
result.apu = initAPU(result)
|
||||
|
||||
proc bug14159 =
|
||||
var nesConsole = newNES()
|
||||
discard nesConsole.cpu.step()
|
||||
|
||||
let mem = getOccupiedMem()
|
||||
main()
|
||||
bug14159()
|
||||
GC_fullCollect()
|
||||
echo getOccupiedMem() - mem
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue