about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--tvix/eval/src/opcode.rs1
-rw-r--r--tvix/eval/src/vm.rs3
2 files changed, 4 insertions, 0 deletions
diff --git a/tvix/eval/src/opcode.rs b/tvix/eval/src/opcode.rs
index 4a4d47045f..7d2de537d5 100644
--- a/tvix/eval/src/opcode.rs
+++ b/tvix/eval/src/opcode.rs
@@ -54,6 +54,7 @@ pub enum OpCode {
 
     // `with`-handling
     OpPushWith(usize),
+    OpPopWith,
 
     // Lists
     OpList(usize),
diff --git a/tvix/eval/src/vm.rs b/tvix/eval/src/vm.rs
index 66126881a8..8a6959114f 100644
--- a/tvix/eval/src/vm.rs
+++ b/tvix/eval/src/vm.rs
@@ -282,6 +282,9 @@ impl VM {
                 }
 
                 OpCode::OpPushWith(idx) => self.with_stack.push(idx),
+                OpCode::OpPopWith => {
+                    self.with_stack.pop();
+                }
             }
 
             #[cfg(feature = "disassembler")]