about summary refs log tree commit diff
path: root/users/tazjin/rlox/src/bytecode/vm.rs
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2021-10-19T20·59+0200
committertazjin <mail@tazj.in>2021-10-20T12·50+0000
commit050a2b473c48b87994e56ade381afbfc2bca4de3 (patch)
tree97dd9dc0c36418cf967befd9ba672c93b095c561 /users/tazjin/rlox/src/bytecode/vm.rs
parente92a951f6cd14b5e207e5a1b04ea93cf97ba92d0 (diff)
refactor(tazjin/rlox): Introduce newtypes for various indices r/2980
Since this code is essentially a fairly plain translation from C, it
is a bit confusing to deal with the original untyped code. This is an
attempt to try and clean some of it up.

Change-Id: Icd21f531932e1a811c0d6dbf2e9acba61ca9c45d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3734
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
Diffstat (limited to 'users/tazjin/rlox/src/bytecode/vm.rs')
-rw-r--r--users/tazjin/rlox/src/bytecode/vm.rs6
1 files changed, 3 insertions, 3 deletions
diff --git a/users/tazjin/rlox/src/bytecode/vm.rs b/users/tazjin/rlox/src/bytecode/vm.rs
index 10d0f595d6d4..bbdf70d8dc2f 100644
--- a/users/tazjin/rlox/src/bytecode/vm.rs
+++ b/users/tazjin/rlox/src/bytecode/vm.rs
@@ -196,13 +196,13 @@ impl VM {
                 }
 
                 OpCode::OpGetLocal(local_idx) => {
-                    let value = self.stack[*local_idx].clone();
+                    let value = self.stack[local_idx.0].clone();
                     self.push(value);
                 }
 
                 OpCode::OpSetLocal(local_idx) => {
-                    debug_assert!(self.stack.len() > *local_idx, "stack is not currently large enough for local");
-                    self.stack[*local_idx] = self.stack.last().unwrap().clone();
+                    debug_assert!(self.stack.len() > local_idx.0, "stack is not currently large enough for local");
+                    self.stack[local_idx.0] = self.stack.last().unwrap().clone();
                 }
             }