diff options
author | Tom Willemse | 2022-01-23 15:58:35 -0800 |
---|---|---|
committer | Tom Willemse | 2022-01-23 15:58:35 -0800 |
commit | ce478b0b80af331b89813148df7b04d46968e328 (patch) | |
tree | 4662f97216d2b38d8aef71807242812b2d24bfeb /clox/src/vm.h | |
parent | a52c55eb9af3e29a912d41a48071e830b0971fd5 (diff) | |
download | crafting-interpreters-ce478b0b80af331b89813148df7b04d46968e328.tar.gz crafting-interpreters-ce478b0b80af331b89813148df7b04d46968e328.zip |
Chapter 24.3
Diffstat (limited to 'clox/src/vm.h')
-rw-r--r-- | clox/src/vm.h | 13 |
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; |