diff options
author | Vincent Ambo <mail@tazj.in> | 2023-03-11T20·19+0300 |
---|---|---|
committer | tazjin <tazjin@tvl.su> | 2023-03-13T20·30+0000 |
commit | cc59cbf3e27efb01a2cf96dcd5d2a7be1bca9540 (patch) | |
tree | e62ff483afdd3d18a5d90b06fe87b711b9c97aa2 | |
parent | 5d9bfd7735373cde72ebac4be4a05f1c846c13ba (diff) |
refactor(tvix/eval): rename VM::tail_call_value -> VM::call_value r/5984
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 <tvl@lahfa.xyz>
-rw-r--r-- | tvix/eval/src/vm/generators.rs | 2 | ||||
-rw-r--r-- | tvix/eval/src/vm/mod.rs | 6 |
2 files changed, 4 insertions, 4 deletions
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<CallFrame>, @@ -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(); |