From 214632c5ec60a2736ac13addb7c47b4e1780ca66 Mon Sep 17 00:00:00 2001 From: Dennis Kobert Date: Sat, 15 Aug 2026 12:27:39 +0000 Subject: [PATCH] Reserve the record stack before direct edge evals in executor tests --- node-graph/interpreted-executor/src/dynamic_executor.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/node-graph/interpreted-executor/src/dynamic_executor.rs b/node-graph/interpreted-executor/src/dynamic_executor.rs index d2d3e0d187..9f2142ecbf 100644 --- a/node-graph/interpreted-executor/src/dynamic_executor.rs +++ b/node-graph/interpreted-executor/src/dynamic_executor.rs @@ -569,6 +569,7 @@ mod test { let generations = []; let scope = EvalScope::new(None, None, None, &generations, &arena); let ctx = ContextImpl::root(&scope); + core_types::record::stack::reserve(layout.frame_bytes()); let GPoll::Final(value) = edge.eval(&ctx) else { panic!("expected a final record"); }; @@ -617,6 +618,7 @@ mod test { .unwrap() .downcast_record::>>() .unwrap(); + core_types::record::stack::reserve(executor.tree().stack_need()); let result = edge.eval(&ctx); assert!(matches!(result, GPoll::Final(_)), "the flipped clone must evaluate over record wires, got a non-final poll"); } @@ -646,6 +648,7 @@ mod test { .unwrap() .downcast_record::>() .unwrap(); + core_types::record::stack::reserve(executor.tree().stack_need()); let result = edge.eval(&ctx); assert!(matches!(result, GPoll::Final(_)), "the palette must evaluate through its record wires, got a non-final poll"); }