From 0c17718dd10f8b53b523eb8c54a525c7af166712 Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Wed, 4 Jan 2023 18:41:44 +0300 Subject: refactor(tvix/eval): avoid unnecessary pop/push in OpForce Change-Id: Ic7559eaa43aa0dcc97babb7669770c0f7f959f1b Reviewed-on: https://cl.tvl.fyi/c/depot/+/7754 Autosubmit: tazjin Tested-by: BuildkiteCI Reviewed-by: sterni --- tvix/eval/src/vm.rs | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) (limited to 'tvix/eval/src') diff --git a/tvix/eval/src/vm.rs b/tvix/eval/src/vm.rs index 107aadb6e068..3dece0641281 100644 --- a/tvix/eval/src/vm.rs +++ b/tvix/eval/src/vm.rs @@ -1003,14 +1003,9 @@ impl<'o> VM<'o> { } OpCode::OpForce => { - let value = self.pop(); - - if let Value::Thunk(thunk) = value { - self.push(Value::Thunk(thunk)); + if let Some(Value::Thunk(_)) = self.stack.last() { let trampoline = fallible!(self, Thunk::force_trampoline(self)); return Ok(trampoline); - } else { - self.push(value); } } -- cgit 1.4.1