aboutsummaryrefslogtreecommitdiffstats
path: root/clox/src/vm.c
diff options
context:
space:
mode:
authorGravatar Tom Willemse2022-01-12 23:09:36 -0800
committerGravatar Tom Willemse2022-01-12 23:09:36 -0800
commit37ac05af6d0aa57ccc5ea805af262a407fedeeae (patch)
treecb188b2af41728de22789602190508b281932cd1 /clox/src/vm.c
parentba6ab6759e4257e543ca5da4caf2705711e5b3ed (diff)
downloadcrafting-interpreters-37ac05af6d0aa57ccc5ea805af262a407fedeeae.tar.gz
crafting-interpreters-37ac05af6d0aa57ccc5ea805af262a407fedeeae.zip
Chapter 23.3
Diffstat (limited to 'clox/src/vm.c')
-rw-r--r--clox/src/vm.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/clox/src/vm.c b/clox/src/vm.c
index 49a162d..c1c6941 100644
--- a/clox/src/vm.c
+++ b/clox/src/vm.c
@@ -211,6 +211,11 @@ static InterpretResult run() {
vm.ip += offset;
break;
}
+ case OP_LOOP: {
+ uint16_t offset = READ_SHORT();
+ vm.ip -= offset;
+ break;
+ }
case OP_RETURN: {
/* The book said to remove this, but when I do I get an infinite loop and
then a segfault because it keeps trying to add the constant 1 to the