diff options
author | Aryadev Chavali <aryadev@aryadevchavali.com> | 2023-11-01 17:52:15 +0000 |
---|---|---|
committer | Aryadev Chavali <aryadev@aryadevchavali.com> | 2023-11-01 17:52:15 +0000 |
commit | 90d901345abcbb271653fbee6749a2b3273fb62e (patch) | |
tree | e69feda86a5adc2660e4daf7c73a8507761e0b6a /vm/runtime.c | |
parent | 7a1129d80f6903db6e6a919bdeae403f924d69f6 (diff) | |
download | ovm-90d901345abcbb271653fbee6749a2b3273fb62e.tar.gz ovm-90d901345abcbb271653fbee6749a2b3273fb62e.tar.bz2 ovm-90d901345abcbb271653fbee6749a2b3273fb62e.zip |
Added a routine to cleanup resources allocated to the VM
This means the stack should be heap allocated, which makes sense as
beyond 1KB one should really be using the heap rather than the stack.
Diffstat (limited to 'vm/runtime.c')
-rw-r--r-- | vm/runtime.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/vm/runtime.c b/vm/runtime.c index 240ba6f..3279354 100644 --- a/vm/runtime.c +++ b/vm/runtime.c @@ -325,6 +325,13 @@ void vm_load_registers(vm_t *vm, registers_t registers) vm->registers = registers; } +void vm_stop(vm_t *vm) +{ + free(vm->registers.data); + free(vm->program.instructions); + free(vm->stack.data); +} + void vm_print_registers(vm_t *vm, FILE *fp) { registers_t reg = vm->registers; |