about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAdam Joseph <adam@westernsemico.com>2022-10-25T09·16-0700
committerAdam Joseph <adam@westernsemico.com>2022-11-05T21·58+0000
commitc096152953d7178566f8ae53b63154b5f2bbb177 (patch)
tree7e7649bac60cd446adf6079e7ffaf492e137eee4
parent8240b2959e47a38cc946d56c7514f15510305f57 (diff)
refactor(tvix/eval): rename Opcode::DataLocalIdx to DataStackIdx r/5250
It is very confusing that this opcode is called DataLocalIdx, but it
carries a StackIdx rather than a LocalIdx.  It seems like this
really ought to be called DataStackIdx, but maybe I've
misunderstood; if so please explain it to me.

Change-Id: I91f6ffa759412beef0b91d3c19ec0d873fe51b99
Signed-off-by: Adam Joseph <adam@westernsemico.com>
Reviewed-on: https://cl.tvl.fyi/c/depot/+/7088
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
-rw-r--r--tvix/eval/src/compiler/mod.rs2
-rw-r--r--tvix/eval/src/opcode.rs2
-rw-r--r--tvix/eval/src/value/function.rs2
-rw-r--r--tvix/eval/src/vm.rs8
4 files changed, 7 insertions, 7 deletions
diff --git a/tvix/eval/src/compiler/mod.rs b/tvix/eval/src/compiler/mod.rs
index db6031e0a4..5be582fb28 100644
--- a/tvix/eval/src/compiler/mod.rs
+++ b/tvix/eval/src/compiler/mod.rs
@@ -1031,7 +1031,7 @@ impl Compiler<'_> {
                         if slot == idx {
                             self.scope_mut().mark_must_thunk(slot);
                         }
-                        self.push_op(OpCode::DataLocalIdx(stack_idx), &upvalue.span);
+                        self.push_op(OpCode::DataStackIdx(stack_idx), &upvalue.span);
                     }
                 }
 
diff --git a/tvix/eval/src/opcode.rs b/tvix/eval/src/opcode.rs
index 9c7ccb8d19..e05e91087a 100644
--- a/tvix/eval/src/opcode.rs
+++ b/tvix/eval/src/opcode.rs
@@ -172,7 +172,7 @@ pub enum OpCode {
     //
     // It is illegal for a `Data*` opcode to appear anywhere else.
     /// Populate a static upvalue by copying from the stack immediately.
-    DataLocalIdx(StackIdx),
+    DataStackIdx(StackIdx),
     /// Populate a static upvalue of a thunk by copying it the stack, but do
     /// when the thunk is finalised (by OpFinalise) rather than immediately.
     DataDeferredLocal(StackIdx),
diff --git a/tvix/eval/src/value/function.rs b/tvix/eval/src/value/function.rs
index e543b1aafd..c9664112f1 100644
--- a/tvix/eval/src/value/function.rs
+++ b/tvix/eval/src/value/function.rs
@@ -51,7 +51,7 @@ pub struct Lambda {
     /// Number of upvalues which the code in this Lambda closes
     /// over, and which need to be initialised at
     /// runtime.  Information about the variables is emitted using
-    /// data-carrying opcodes (see [`OpCode::DataLocalIdx`]).
+    /// data-carrying opcodes (see [`OpCode::DataStackIdx`]).
     pub(crate) upvalue_count: usize,
     pub(crate) formals: Option<Formals>,
 }
diff --git a/tvix/eval/src/vm.rs b/tvix/eval/src/vm.rs
index c9b96fa61c..c67e9f6d88 100644
--- a/tvix/eval/src/vm.rs
+++ b/tvix/eval/src/vm.rs
@@ -734,7 +734,7 @@ impl<'o> VM<'o> {
 
             // Data-carrying operands should never be executed,
             // that is a critical error in the VM.
-            OpCode::DataLocalIdx(_)
+            OpCode::DataStackIdx(_)
             | OpCode::DataDeferredLocal(_)
             | OpCode::DataUpvalueIdx(_)
             | OpCode::DataCaptureWith => {
@@ -813,7 +813,7 @@ impl<'o> VM<'o> {
     ) -> EvalResult<()> {
         for _ in 0..count {
             match self.inc_ip() {
-                OpCode::DataLocalIdx(StackIdx(stack_idx)) => {
+                OpCode::DataStackIdx(StackIdx(stack_idx)) => {
                     let idx = self.frame().stack_offset + stack_idx;
 
                     let val = match self.stack.get(idx) {
@@ -823,8 +823,8 @@ impl<'o> VM<'o> {
                                 msg: "upvalue to be captured was missing on stack",
                                 metadata: Some(Rc::new(json!({
                                     "ip": format!("{:#x}", self.frame().ip.0 - 1),
-                                    "stack_idx": stack_idx,
-                                    "absolute stack position": idx,
+                                    "stack_idx(relative)": stack_idx,
+                                    "stack_idx(absolute)": idx,
                                 }))),
                             }))
                         }