Files
Nim/tests/stdlib/tvmutils.nim
Timothee Cour 565e07a993 enable VM tracing in user code via {.define(nimVmTrace).} (#18244)
* enable VM tracing in user code via  `{.define(nimVmTrace).}`

* add vmutils.vmTrace

* add vmTrace
2021-06-24 11:55:31 +02:00

32 lines
738 B
Nim

discard """
joinable: false
nimout: '''
0
1
2
tvmutils.nim(28, 13) [opcLdImmInt] if i == 4:
tvmutils.nim(28, 10) [opcEqInt] if i == 4:
tvmutils.nim(28, 10) [opcFJmp] if i == 4:
tvmutils.nim(28, 13) [opcLdImmInt] if i == 4:
tvmutils.nim(28, 10) [opcEqInt] if i == 4:
tvmutils.nim(28, 10) [opcFJmp] if i == 4:
tvmutils.nim(29, 7) [opcLdConst] vmTrace(false)
tvmutils.nim(29, 15) [opcLdImmInt] vmTrace(false)
tvmutils.nim(29, 14) [opcIndCall] vmTrace(false)
5
6
'''
"""
# line 20 (only showing a subset of nimout to avoid making the test rigid)
import std/vmutils
proc main() =
for i in 0..<7:
echo i
if i == 2:
vmTrace(true)
if i == 4:
vmTrace(false)
static: main()