From 4b70a0b1dc5cee75672e5ce367070f981946b054 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?= <grubba@grubba.org> Date: Fri, 5 Nov 2021 10:43:09 +0100 Subject: [PATCH] Pike.BacktraceFrame: Add field total_time --with-profiling. --- src/builtin.cmod | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/builtin.cmod b/src/builtin.cmod index d1e37495ed..ed22a1844a 100644 --- a/src/builtin.cmod +++ b/src/builtin.cmod @@ -2555,6 +2555,13 @@ PIKECLASS backtrace_frame CVAR struct pike_string *filename; CVAR INT_TYPE lineno; +#ifdef PROFILING + PIKEVAR bignum total_time; + /* FIXME: self_time */ +#endif + + DECLARE_STORAGE; + INIT { THIS->pc = NULL; @@ -2932,6 +2939,12 @@ void low_backtrace(struct Pike_interpreter_struct *i) bf = OBJ2_BACKTRACE_FRAME(o); +#ifdef PROFILING + push_int64(get_cpu_time() - (i->unlocked_time + f->start_time)); + bf->total_time = Pike_sp[-1]; + Pike_sp--; +#endif + if ((bf->prog = f->context->prog)) { add_ref(bf->prog); bf->pc = f->pc; -- GitLab