factor/vm/vm.cpp

49 lines
887 B
C++
Raw Normal View History

2010-01-30 23:39:43 -05:00
#include "master.hpp"
namespace factor
{
2011-11-03 00:18:31 -04:00
factor_vm::factor_vm(THREADHANDLE thread) :
2010-01-30 23:39:43 -05:00
nursery(0,0),
faulting_p(false),
thread(thread),
callback_id(0),
2010-01-30 23:39:43 -05:00
c_to_factor_func(NULL),
2011-10-27 23:24:51 -04:00
sampling_profiler_p(false),
signal_pipe_input(0),
signal_pipe_output(0),
2010-01-30 23:39:43 -05:00
gc_off(false),
current_gc(NULL),
current_gc_p(false),
current_jit_count(0),
2010-01-30 23:39:43 -05:00
gc_events(NULL),
fep_p(false),
fep_help_was_shown(false),
2010-01-30 23:39:43 -05:00
fep_disabled(false),
full_output(false),
last_nano_count(0),
2011-11-01 21:22:46 -04:00
signal_callstack_seg(NULL),
safepoint()
2010-01-30 23:39:43 -05:00
{
primitive_reset_dispatch_stats();
}
factor_vm::~factor_vm()
{
delete_contexts();
if(signal_callstack_seg)
{
delete signal_callstack_seg;
signal_callstack_seg = NULL;
}
2011-05-20 18:11:50 -04:00
std::list<void **>::const_iterator iter = function_descriptors.begin();
std::list<void **>::const_iterator end = function_descriptors.end();
while(iter != end)
{
delete [] *iter;
iter++;
}
}
2010-01-30 23:39:43 -05:00
}