| 
									
										
										
										
											2009-05-02 05:04:19 -04:00
										 |  |  | #ifndef __FACTOR_MASTER_H__
 | 
					
						
							|  |  |  | #define __FACTOR_MASTER_H__
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-08-28 15:23:01 -04:00
										 |  |  | #define _THREAD_SAFE
 | 
					
						
							|  |  |  | #define _REENTRANT
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-05-02 05:04:19 -04:00
										 |  |  | #ifndef WINCE
 | 
					
						
							|  |  |  | #include <errno.h>
 | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifdef FACTOR_DEBUG
 | 
					
						
							|  |  |  | #include <assert.h>
 | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-05-05 12:07:20 -04:00
										 |  |  | /* C headers */ | 
					
						
							| 
									
										
										
										
											2009-05-02 05:04:19 -04:00
										 |  |  | #include <fcntl.h>
 | 
					
						
							|  |  |  | #include <limits.h>
 | 
					
						
							|  |  |  | #include <math.h>
 | 
					
						
							|  |  |  | #include <stdbool.h>
 | 
					
						
							|  |  |  | #include <setjmp.h>
 | 
					
						
							|  |  |  | #include <stdio.h>
 | 
					
						
							|  |  |  | #include <stdlib.h>
 | 
					
						
							|  |  |  | #include <string.h>
 | 
					
						
							|  |  |  | #include <time.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-05-05 12:07:20 -04:00
										 |  |  | /* C++ headers */ | 
					
						
							| 
									
										
										
										
											2009-10-06 03:39:12 -04:00
										 |  |  | #include <algorithm>
 | 
					
						
							| 
									
										
										
										
											2009-10-03 09:47:05 -04:00
										 |  |  | #include <set>
 | 
					
						
							| 
									
										
										
										
											2009-10-06 03:39:12 -04:00
										 |  |  | #include <vector>
 | 
					
						
							| 
									
										
										
										
											2009-09-08 15:21:09 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-05-05 15:17:02 -04:00
										 |  |  | #if __GNUC__ == 4
 | 
					
						
							|  |  |  |         #include <tr1/unordered_map>
 | 
					
						
							| 
									
										
										
										
											2009-10-02 12:13:27 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-10-03 09:47:05 -04:00
										 |  |  | 	namespace factor | 
					
						
							|  |  |  | 	{ | 
					
						
							|  |  |  | 		using std::tr1::unordered_map; | 
					
						
							|  |  |  | 	} | 
					
						
							| 
									
										
										
										
											2009-05-05 15:17:02 -04:00
										 |  |  | #elif __GNUC__ == 3
 | 
					
						
							|  |  |  |         #include <boost/unordered_map.hpp>
 | 
					
						
							| 
									
										
										
										
											2009-10-02 12:13:27 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-10-03 09:47:05 -04:00
										 |  |  | 	namespace factor | 
					
						
							|  |  |  | 	{ | 
					
						
							|  |  |  | 		using boost::unordered_map; | 
					
						
							|  |  |  | 	} | 
					
						
							| 
									
										
										
										
											2009-05-05 15:17:02 -04:00
										 |  |  | #else
 | 
					
						
							|  |  |  |         #error Factor requires GCC 3.x or later
 | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2009-05-05 12:07:20 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-10-03 09:47:05 -04:00
										 |  |  | /* Forward-declare this since it comes up in function prototypes */ | 
					
						
							|  |  |  | namespace factor | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	struct factor_vm; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-05-05 12:07:20 -04:00
										 |  |  | /* Factor headers */ | 
					
						
							| 
									
										
										
										
											2009-05-02 05:04:19 -04:00
										 |  |  | #include "layouts.hpp"
 | 
					
						
							| 
									
										
										
										
											2009-08-18 15:40:26 -04:00
										 |  |  | #include "platform.hpp"
 | 
					
						
							| 
									
										
										
										
											2009-08-18 15:49:22 -04:00
										 |  |  | #include "primitives.hpp"
 | 
					
						
							| 
									
										
										
										
											2009-05-04 02:00:30 -04:00
										 |  |  | #include "stacks.hpp"
 | 
					
						
							|  |  |  | #include "segments.hpp"
 | 
					
						
							|  |  |  | #include "contexts.hpp"
 | 
					
						
							| 
									
										
										
										
											2009-05-02 05:04:19 -04:00
										 |  |  | #include "run.hpp"
 | 
					
						
							|  |  |  | #include "profiler.hpp"
 | 
					
						
							|  |  |  | #include "errors.hpp"
 | 
					
						
							|  |  |  | #include "bignumint.hpp"
 | 
					
						
							|  |  |  | #include "bignum.hpp"
 | 
					
						
							| 
									
										
										
										
											2009-08-17 16:37:09 -04:00
										 |  |  | #include "code_block.hpp"
 | 
					
						
							| 
									
										
										
										
											2009-10-07 15:05:09 -04:00
										 |  |  | #include "zone.hpp"
 | 
					
						
							| 
									
										
										
										
											2009-05-04 05:50:24 -04:00
										 |  |  | #include "write_barrier.hpp"
 | 
					
						
							| 
									
										
										
										
											2009-10-07 15:05:09 -04:00
										 |  |  | #include "old_space.hpp"
 | 
					
						
							| 
									
										
										
										
											2009-10-07 16:48:09 -04:00
										 |  |  | #include "aging_space.hpp"
 | 
					
						
							|  |  |  | #include "tenured_space.hpp"
 | 
					
						
							| 
									
										
										
										
											2009-10-07 15:05:09 -04:00
										 |  |  | #include "data_heap.hpp"
 | 
					
						
							| 
									
										
										
										
											2009-10-08 03:11:29 -04:00
										 |  |  | #include "gc.hpp"
 | 
					
						
							| 
									
										
										
										
											2009-05-02 05:04:19 -04:00
										 |  |  | #include "debug.hpp"
 | 
					
						
							|  |  |  | #include "strings.hpp"
 | 
					
						
							|  |  |  | #include "tuples.hpp"
 | 
					
						
							|  |  |  | #include "words.hpp"
 | 
					
						
							|  |  |  | #include "float_bits.hpp"
 | 
					
						
							|  |  |  | #include "io.hpp"
 | 
					
						
							| 
									
										
										
										
											2009-09-25 21:32:00 -04:00
										 |  |  | #include "heap.hpp"
 | 
					
						
							| 
									
										
										
										
											2009-05-02 05:04:19 -04:00
										 |  |  | #include "image.hpp"
 | 
					
						
							|  |  |  | #include "alien.hpp"
 | 
					
						
							| 
									
										
										
										
											2009-10-06 02:42:17 -04:00
										 |  |  | #include "code_heap.hpp"
 | 
					
						
							| 
									
										
										
										
											2009-08-17 16:37:12 -04:00
										 |  |  | #include "vm.hpp"
 | 
					
						
							| 
									
										
										
										
											2009-08-17 16:37:15 -04:00
										 |  |  | #include "tagged.hpp"
 | 
					
						
							| 
									
										
										
										
											2009-09-28 14:02:51 -04:00
										 |  |  | #include "local_roots.hpp"
 | 
					
						
							| 
									
										
										
										
											2009-10-07 16:48:09 -04:00
										 |  |  | #include "collector.hpp"
 | 
					
						
							|  |  |  | #include "copying_collector.hpp"
 | 
					
						
							|  |  |  | #include "nursery_collector.hpp"
 | 
					
						
							|  |  |  | #include "aging_collector.hpp"
 | 
					
						
							|  |  |  | #include "to_tenured_collector.hpp"
 | 
					
						
							|  |  |  | #include "full_collector.hpp"
 | 
					
						
							| 
									
										
										
										
											2009-09-29 14:53:10 -04:00
										 |  |  | #include "callstack.hpp"
 | 
					
						
							|  |  |  | #include "generic_arrays.hpp"
 | 
					
						
							|  |  |  | #include "arrays.hpp"
 | 
					
						
							|  |  |  | #include "math.hpp"
 | 
					
						
							|  |  |  | #include "booleans.hpp"
 | 
					
						
							|  |  |  | #include "byte_arrays.hpp"
 | 
					
						
							| 
									
										
										
										
											2009-05-02 05:04:19 -04:00
										 |  |  | #include "jit.hpp"
 | 
					
						
							| 
									
										
										
										
											2009-05-02 10:19:09 -04:00
										 |  |  | #include "quotations.hpp"
 | 
					
						
							| 
									
										
										
										
											2009-05-02 05:04:19 -04:00
										 |  |  | #include "dispatch.hpp"
 | 
					
						
							|  |  |  | #include "inline_cache.hpp"
 | 
					
						
							|  |  |  | #include "factor.hpp"
 | 
					
						
							|  |  |  | #include "utilities.hpp"
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif /* __FACTOR_MASTER_H__ */
 |