cleanup of PR #14833 (VM profiler)

This commit is contained in:
Araq
2020-07-09 19:21:20 +02:00
parent d7ccd82eac
commit f92d2eaa35

View File

@@ -2,26 +2,29 @@
import
options, vmdef, times, lineinfos, strutils, tables,
msgs
proc enter*(prof: var Profiler, c: PCtx, tos: PStackFrame) {.inline.} =
if optProfileVM in c.config.globalOptions:
prof.tEnter = cpuTime()
prof.tos = tos
proc leaveImpl(prof: var Profiler, c: PCtx) {.noinline.} =
let tLeave = cpuTime()
var tos = prof.tos
var data = c.config.vmProfileData.data
while tos != nil:
if tos.prc != nil:
let li = tos.prc.info
if li notin data:
data[li] = ProfileInfo()
data[li].time += tLeave - prof.tEnter
if tos == prof.tos:
inc data[li].count
tos = tos.next
proc leave*(prof: var Profiler, c: PCtx) {.inline.} =
if optProfileVM in c.config.globalOptions:
let tLeave = cpuTime()
var tos = prof.tos
var data = c.config.vmProfileData.data
while tos != nil:
if tos.prc != nil:
let li = tos.prc.info
if li notin data:
data[li] = ProfileInfo()
data[li].time += tLeave - prof.tEnter
if tos == prof.tos:
inc data[li].count
tos = tos.next
leaveImpl(prof, c)
proc dump*(conf: ConfigRef, pd: ProfileData): string =
var data = pd.data