]> gitweb.factorcode.org Git - factor.git/blob - vm/master.hpp
d970f1aaeab444849805e8e002dd03760e4ff3fd
[factor.git] / vm / master.hpp
1 #ifndef __FACTOR_MASTER_H__
2 #define __FACTOR_MASTER_H__
3
4 #define _THREAD_SAFE
5 #define _REENTRANT
6
7 #ifndef WINCE
8 #include <errno.h>
9 #endif
10
11 #ifdef FACTOR_DEBUG
12 #include <assert.h>
13 #endif
14
15 /* C headers */
16 #include <fcntl.h>
17 #include <limits.h>
18 #include <math.h>
19 #include <stdbool.h>
20 #include <setjmp.h>
21 #include <stdio.h>
22 #include <stdlib.h>
23 #include <string.h>
24 #include <time.h>
25
26 /* C++ headers */
27 #include <vector>
28
29 #if __GNUC__ == 4
30         #include <tr1/unordered_map>
31         #define unordered_map std::tr1::unordered_map
32 #elif __GNUC__ == 3
33         #include <boost/unordered_map.hpp>
34         #define unordered_map boost::unordered_map
35 #else
36         #error Factor requires GCC 3.x or later
37 #endif
38
39 /* Factor headers */
40 #include "layouts.hpp"
41 #include "platform.hpp"
42 #include "primitives.hpp"
43 #include "stacks.hpp"
44 #include "segments.hpp"
45 #include "contexts.hpp"
46 #include "run.hpp"
47 #include "profiler.hpp"
48 #include "errors.hpp"
49 #include "bignumint.hpp"
50 #include "bignum.hpp"
51 #include "code_block.hpp"
52 #include "data_heap.hpp"
53 #include "write_barrier.hpp"
54 #include "data_gc.hpp"
55 #include "generic_arrays.hpp"
56 #include "debug.hpp"
57 #include "arrays.hpp"
58 #include "strings.hpp"
59 #include "booleans.hpp"
60 #include "byte_arrays.hpp"
61 #include "tuples.hpp"
62 #include "words.hpp"
63 #include "math.hpp"
64 #include "float_bits.hpp"
65 #include "io.hpp"
66 #include "heap.hpp"
67 #include "code_heap.hpp"
68 #include "image.hpp"
69 #include "callstack.hpp"
70 #include "alien.hpp"
71 #include "vm.hpp"
72 #include "tagged.hpp"
73 #include "local_roots.hpp"
74 #include "inlineimpls.hpp"
75 #include "jit.hpp"
76 #include "quotations.hpp"
77 #include "dispatch.hpp"
78 #include "inline_cache.hpp"
79 #include "factor.hpp"
80 #include "utilities.hpp"
81
82 #endif /* __FACTOR_MASTER_H__ */