1 #ifndef __FACTOR_MASTER_H__
2 #define __FACTOR_MASTER_H__
37 #define FACTOR_STRINGIZE_I(x) #x
38 #define FACTOR_STRINGIZE(x) FACTOR_STRINGIZE_I(x)
40 // Record compiler version
41 #if defined(__clang__)
42 #define FACTOR_COMPILER_VERSION "Clang (GCC " __VERSION__ ")"
43 #elif defined(__INTEL_COMPILER)
44 #define FACTOR_COMPILER_VERSION \
45 "Intel C Compiler " FACTOR_STRINGIZE(__INTEL_COMPILER)
46 #elif defined(__MINGW32__)
47 #define FACTOR_COMPILER_VERSION "MinGW (GCC " __VERSION__ ")"
48 #elif defined(__GNUC__)
49 #define FACTOR_COMPILER_VERSION "GCC " __VERSION__
50 #elif defined(_MSC_FULL_VER)
51 #define FACTOR_COMPILER_VERSION \
52 "Microsoft Visual C++ " FACTOR_STRINGIZE(_MSC_FULL_VER)
54 #define FACTOR_COMPILER_VERSION "unknown"
57 #if defined(FACTOR_REPRODUCIBLE)
58 #define FACTOR_COMPILE_TIME "[reproducible]"
60 // Record compilation time
61 #define FACTOR_COMPILE_TIME __DATE__ " " __TIME__
64 // Detect target CPU type
67 #elif defined(__aarch64__)
70 #elif defined(__amd64__) || defined(__x86_64__) || defined(_M_AMD64)
73 #elif defined(i386) || defined(__i386) || defined(__i386__) || defined(_M_IX86)
75 #elif(defined(__POWERPC__) || defined(__ppc__) || defined(_ARCH_PPC)) && \
76 (defined(__PPC64__) || defined(__64BIT__))
80 #elif defined(__POWERPC__) || defined(__ppc__) || defined(_ARCH_PPC)
84 #error "Unsupported architecture"
87 #if defined(_MSC_VER) || defined (__MINGW32__)
94 // Forward-declare this since it comes up in function prototypes
95 namespace factor { struct factor_vm; }
100 #include "layouts.hpp"
101 #include "platform.hpp"
102 #include "utilities.hpp"
103 #include "primitives.hpp"
104 #include "errors.hpp"
105 #include "segments.hpp"
106 #include "gc_info.hpp"
107 #include "contexts.hpp"
109 #include "objects.hpp"
110 #include "sampling_profiler.hpp"
111 #include "bignumint.hpp"
112 #include "bignum.hpp"
113 #include "booleans.hpp"
114 #include "instruction_operands.hpp"
115 #include "tagged.hpp"
116 #include "code_blocks.hpp"
117 #include "bump_allocator.hpp"
118 #include "bitwise_hacks.hpp"
119 #include "mark_bits.hpp"
121 #include "free_list.hpp"
122 #include "write_barrier.hpp"
123 #include "object_start_map.hpp"
124 #include "aging_space.hpp"
125 #include "tenured_space.hpp"
126 #include "data_heap.hpp"
127 #include "code_heap.hpp"
129 #include "float_bits.hpp"
132 #include "callbacks.hpp"
133 #include "dispatch.hpp"
136 #include "data_roots.hpp"
137 #include "code_roots.hpp"
138 #include "generic_arrays.hpp"
139 #include "callstack.hpp"
140 #include "slot_visitor.hpp"
141 #include "to_tenured_collector.hpp"
142 #include "arrays.hpp"
144 #include "byte_arrays.hpp"
146 #include "quotations.hpp"
147 #include "inline_cache.hpp"
149 #include "factor.hpp"
151 #endif // __FACTOR_MASTER_H__