From cc59cbf3e27efb01a2cf96dcd5d2a7be1bca9540 Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Sat, 11 Mar 2023 23:19:25 +0300 Subject: refactor(tvix/eval): rename VM::tail_call_value -> VM::call_value The name of this was not accurate anymore after all the recent shuffling, as noted by amjoseph. Conceptual tail calls here only occur for Nix bytecode calling Nix bytecode, but things like a builtin call actually push a new native frame. Change-Id: I1dea8c9663daf86482b8c7b5a23133254b5ca321 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8256 Tested-by: BuildkiteCI Reviewed-by: raitobezarius --- tvix/eval/src/vm/generators.rs | 2 +- tvix/eval/src/vm/mod.rs | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'tvix/eval') diff --git a/tvix/eval/src/vm/generators.rs b/tvix/eval/src/vm/generators.rs index 65b7287a69e3..cddb18a406e1 100644 --- a/tvix/eval/src/vm/generators.rs +++ b/tvix/eval/src/vm/generators.rs @@ -355,7 +355,7 @@ impl<'o> VM<'o> { GeneratorRequest::Call(callable) => { self.reenqueue_generator(name, span.clone(), generator); - self.tail_call_value(span, None, callable)?; + self.call_value(span, None, callable)?; return Ok(false); } diff --git a/tvix/eval/src/vm/mod.rs b/tvix/eval/src/vm/mod.rs index 9dc1728531e6..e2ff4ea94573 100644 --- a/tvix/eval/src/vm/mod.rs +++ b/tvix/eval/src/vm/mod.rs @@ -699,7 +699,7 @@ impl<'o> VM<'o> { OpCode::OpCall => { let callable = self.stack_pop(); - self.tail_call_value(frame.current_light_span(), Some(frame), callable)?; + self.call_value(frame.current_light_span(), Some(frame), callable)?; // exit this loop and let the outer loop enter the new call return Ok(true); @@ -900,7 +900,7 @@ impl<'o> VM<'o> { Ok(()) } - fn tail_call_value( + fn call_value( &mut self, span: LightSpan, parent: Option, @@ -908,7 +908,7 @@ impl<'o> VM<'o> { ) -> EvalResult<()> { match callable { Value::Builtin(builtin) => self.call_builtin(span, builtin), - Value::Thunk(thunk) => self.tail_call_value(span, parent, thunk.value().clone()), + Value::Thunk(thunk) => self.call_value(span, parent, thunk.value().clone()), Value::Closure(closure) => { let lambda = closure.lambda(); -- cgit 1.4.1