enable VM tracing in user code via {.define(nimVmTrace).} (#18244)

* enable VM tracing in user code via  `{.define(nimVmTrace).}`

* add vmutils.vmTrace

* add vmTrace
This commit is contained in:
Timothee Cour 2021-06-24 02:55:31 -07:00 • committed by GitHub
commit 565e07a993
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 53 additions and 2 deletions

View file

@ -249,6 +249,9 @@ proc registerAdditionalOps*(c: PCtx) =
"isExported() requires a symbol. '" & $n & "' is of kind '" & $n.kind & "'", n.info)
setResult(a, sfExported in n.sym.flags)
registerCallback c, "stdlib.vmutils.vmTrace", proc (a: VmArgs) =
c.config.isVmTrace = getBool(a, 0)
proc hashVmImpl(a: VmArgs) =
var res = hashes.hash(a.getString(0), a.getInt(1).int, a.getInt(2).int)
if c.config.backend == backendJs: