Registers are now fixed size

todo.org contains an explanation for this
This commit is contained in:
2024-06-24 14:38:11 +01:00
parent 4ad3d46996
commit 3cd2dbc2ac
5 changed files with 81 additions and 65 deletions

View File

@@ -95,9 +95,9 @@ int main(int argc, char *argv[])
size_t stack_size = 256;
byte_t *stack = calloc(stack_size, 1);
registers_t registers = {0};
darr_init(&registers, 8 * WORD_SIZE);
heap_t heap = {0};
size_t registers_size = 8 * WORD_SIZE;
byte_t *registers = calloc(registers_size, 1);
heap_t heap = {0};
heap_create(&heap);
size_t call_stack_size = 256;
word_t *call_stack = calloc(call_stack_size, sizeof(call_stack));
@@ -105,7 +105,7 @@ int main(int argc, char *argv[])
vm_t vm = {0};
vm_load_stack(&vm, stack, stack_size);
vm_load_program(&vm, program);
vm_load_registers(&vm, registers);
vm_load_registers(&vm, registers, registers_size);
vm_load_heap(&vm, heap);
vm_load_call_stack(&vm, call_stack, call_stack_size);