| 
									
										
										
										
											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
										 |  |  | } |