Testing disabling frame tracing for performance reasons

This commit is contained in:
Tim Wojtulewicz 2025-09-30 16:11:02 -07:00
parent 54c26f768f
commit 8ea7e0041b
2 changed files with 10 additions and 5 deletions

View file

@ -339,6 +339,7 @@ ValPtr ScriptFunc::Invoke(zeek::Args* args, Frame* parent) const {
f->SetTriggerAssoc(parent->GetTriggerAssoc()); f->SetTriggerAssoc(parent->GetTriggerAssoc());
} }
if ( ! g_policy_debug )
g_frame_stack.push_back(f.get()); // used for backtracing g_frame_stack.push_back(f.get()); // used for backtracing
const CallExpr* call_expr = parent ? parent->GetCall() : nullptr; const CallExpr* call_expr = parent ? parent->GetCall() : nullptr;
call_stack.emplace_back(CallInfo{call_expr, this, *args}); call_stack.emplace_back(CallInfo{call_expr, this, *args});
@ -391,6 +392,7 @@ ValPtr ScriptFunc::Invoke(zeek::Args* args, Frame* parent) const {
catch ( InterpreterException& e ) { catch ( InterpreterException& e ) {
// Already reported, but now determine whether to unwind further. // Already reported, but now determine whether to unwind further.
if ( Flavor() == FUNC_FLAVOR_FUNCTION ) { if ( Flavor() == FUNC_FLAVOR_FUNCTION ) {
if ( ! g_policy_debug )
g_frame_stack.pop_back(); g_frame_stack.pop_back();
call_stack.pop_back(); call_stack.pop_back();
// Result not set b/c exception was thrown // Result not set b/c exception was thrown
@ -448,6 +450,7 @@ ValPtr ScriptFunc::Invoke(zeek::Args* args, Frame* parent) const {
g_trace_state.LogTrace("Function return: %s\n", d.Description()); g_trace_state.LogTrace("Function return: %s\n", d.Description());
} }
if ( ! g_policy_debug )
g_frame_stack.pop_back(); g_frame_stack.pop_back();
return result; return result;

View file

@ -1105,6 +1105,7 @@ SetupResult setup(int argc, char** argv, Options* zopts) {
auto [body, scope] = get_global_stmts(); auto [body, scope] = get_global_stmts();
StmtFlowType flow; StmtFlowType flow;
Frame f(scope->Length(), nullptr, nullptr); Frame f(scope->Length(), nullptr, nullptr);
if ( ! g_policy_debug )
g_frame_stack.push_back(&f); g_frame_stack.push_back(&f);
try { try {
@ -1113,6 +1114,7 @@ SetupResult setup(int argc, char** argv, Options* zopts) {
reporter->FatalError("failed to execute script statements at top-level scope"); reporter->FatalError("failed to execute script statements at top-level scope");
} }
if ( ! g_policy_debug )
g_frame_stack.pop_back(); g_frame_stack.pop_back();
} }