From 050a2b473c48b87994e56ade381afbfc2bca4de3 Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Tue, 19 Oct 2021 22:59:48 +0200 Subject: refactor(tazjin/rlox): Introduce newtypes for various indices 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 --- users/tazjin/rlox/src/bytecode/vm.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'users/tazjin/rlox/src/bytecode/vm.rs') 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(); } } -- cgit 1.4.1