From 17face3633686e374aa0859271ccf462a48e60aa Mon Sep 17 00:00:00 2001 From: Rose Hogenson Date: Sun, 4 Feb 2024 16:46:20 -0800 Subject: Rewrite the bytecode interpreter in Rust. --- bytecode/value.c | 42 ------------------------------------------ 1 file changed, 42 deletions(-) delete mode 100644 bytecode/value.c (limited to 'bytecode/value.c') diff --git a/bytecode/value.c b/bytecode/value.c deleted file mode 100644 index 1b18a96..0000000 --- a/bytecode/value.c +++ /dev/null @@ -1,42 +0,0 @@ -#include -#include - -#include "panic.h" - -#include "value.h" - -bool is_int(value v) -{ - return v & 0x1; -} - -int64_t to_int(value v) -{ - if (!is_int(v)) { - panicf("value 0x%lx is not an int!\n", v); - } - return (int64_t) v >> 1; -} - -value from_int(int64_t i) -{ - return i << 1 | 0x1; -} - -bool is_pointer(value v) -{ - return v && !(v & 0x7); -} - -value *to_pointer(value v) -{ - if (!is_pointer(v)) { - panicf("value 0x%lx is not a pointer!\n", v); - } - return (value *) v; -} - -value from_pointer(value *p) -{ - return (value) p; -} -- cgit v1.3.1