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),
|
2011-11-12 17:47:32 -05:00
|
|
|
faulting_p(false),
|
|
|
|
thread(thread),
|
2010-03-26 22:44:43 -04:00
|
|
|
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),
|
2011-11-07 15:51:49 -05:00
|
|
|
signal_pipe_input(0),
|
|
|
|
signal_pipe_output(0),
|
2010-01-30 23:39:43 -05:00
|
|
|
gc_off(false),
|
|
|
|
current_gc(NULL),
|
2011-11-02 00:01:40 -04:00
|
|
|
current_gc_p(false),
|
2011-11-02 02:40:46 -04:00
|
|
|
current_jit_count(0),
|
2010-01-30 23:39:43 -05:00
|
|
|
gc_events(NULL),
|
2011-10-21 00:00:25 -04:00
|
|
|
fep_p(false),
|
2011-10-31 20:38:42 -04:00
|
|
|
fep_help_was_shown(false),
|
2010-01-30 23:39:43 -05:00
|
|
|
fep_disabled(false),
|
|
|
|
full_output(false),
|
2010-03-28 11:37:28 -04:00
|
|
|
last_nano_count(0),
|
2011-11-01 21:22:46 -04:00
|
|
|
signal_callstack_seg(NULL),
|
2011-11-08 14:06:00 -05:00
|
|
|
safepoint()
|
2010-01-30 23:39:43 -05:00
|
|
|
{
|
|
|
|
primitive_reset_dispatch_stats();
|
|
|
|
}
|
|
|
|
|
2010-03-26 22:44:43 -04:00
|
|
|
factor_vm::~factor_vm()
|
|
|
|
{
|
|
|
|
delete_contexts();
|
2010-03-28 11:37:28 -04:00
|
|
|
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-03-26 22:44:43 -04:00
|
|
|
}
|
|
|
|
|
2010-01-30 23:39:43 -05:00
|
|
|
}
|