VM: more stuff to deallocate in the destructor

locals-and-roots
Björn Lindqvist 2016-05-13 23:07:32 +02:00
parent e2b133e291
commit 9555915e7b
1 changed files with 9 additions and 0 deletions

View File

@ -13,6 +13,8 @@ factor_vm::factor_vm(THREADHANDLE thread)
signal_pipe_input(0), signal_pipe_input(0),
signal_pipe_output(0), signal_pipe_output(0),
gc_off(false), gc_off(false),
data(NULL),
callbacks(NULL),
current_gc(NULL), current_gc(NULL),
current_gc_p(false), current_gc_p(false),
current_jit_count(0), current_jit_count(0),
@ -32,6 +34,13 @@ factor_vm::~factor_vm() {
FACTOR_FOR_EACH(unused_contexts) { FACTOR_FOR_EACH(unused_contexts) {
delete *iter; delete *iter;
} }
FACTOR_FOR_EACH(active_contexts) {
delete *iter;
}
if (callbacks)
delete callbacks;
if (data)
delete data;
if (signal_callstack_seg) { if (signal_callstack_seg) {
delete signal_callstack_seg; delete signal_callstack_seg;
signal_callstack_seg = NULL; signal_callstack_seg = NULL;