VM runtime now maintains a heap internally

Now need to create some instructions which manage the heap
This commit is contained in:
2023-11-01 20:08:40 +00:00
parent 525694bea7
commit 0f295221ca
3 changed files with 19 additions and 1 deletions

View File

@@ -326,11 +326,22 @@ void vm_load_registers(vm_t *vm, registers_t registers)
vm->registers = registers;
}
void vm_load_heap(vm_t *vm, heap_t heap)
{
vm->heap = heap;
}
void vm_stop(vm_t *vm)
{
free(vm->registers.data);
free(vm->program.instructions);
free(vm->stack.data);
heap_stop(&vm->heap);
vm->registers = (registers_t){0};
vm->program = (struct Program){0};
vm->stack = (struct Stack){0};
vm->heap = (heap_t){0};
}
void vm_print_registers(vm_t *vm, FILE *fp)