aboutsummaryrefslogtreecommitdiffstats
path: root/clox/src/vm.h
diff options
context:
space:
mode:
Diffstat (limited to 'clox/src/vm.h')
-rw-r--r--clox/src/vm.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/clox/src/vm.h b/clox/src/vm.h
index 0ab269b..170166b 100644
--- a/clox/src/vm.h
+++ b/clox/src/vm.h
@@ -2,14 +2,23 @@
#define clox_vm_h
#include "chunk.h"
+#include "object.h"
#include "table.h"
#include "value.h"
-#define STACK_MAX 256
+#define FRAMES_MAX 64
+#define STACK_MAX (FRAMES_MAX * UINT8_COUNT)
typedef struct {
- Chunk *chunk;
+ ObjFunction *function;
uint8_t *ip;
+ Value *slots;
+} CallFrame;
+
+typedef struct {
+ CallFrame frames[FRAMES_MAX];
+ int frameCount;
+
Value stack[STACK_MAX];
Value *stackTop;
Table globals;