#ifndef __FACTOR_MASTER_H__
#define __FACTOR_MASTER_H__
+#ifndef _THREAD_SAFE
#define _THREAD_SAFE
+#endif
+
+#ifndef _REENTRANT
#define _REENTRANT
+#endif
#ifndef WINCE
#include <errno.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
+#include <wchar.h>
+#include <assert.h>
/* C++ headers */
#include <algorithm>
+#include <list>
#include <map>
#include <set>
#include <vector>
#include <iostream>
+#include <iomanip>
-#define FACTOR_STRINGIZE(x) #x
+#define FACTOR_STRINGIZE_I(x) #x
+#define FACTOR_STRINGIZE(x) FACTOR_STRINGIZE_I(x)
/* Record compiler version */
#if defined(__clang__)
#define FACTOR_64
#elif defined(i386) || defined(__i386) || defined(__i386__) || defined(_M_IX86)
#define FACTOR_X86
+#elif (defined(__POWERPC__) || defined(__ppc__) || defined(_ARCH_PPC)) && (defined(__PPC64__) || defined(__64BIT__))
+ #define FACTOR_PPC64
+ #define FACTOR_PPC
+ #define FACTOR_64
#elif defined(__POWERPC__) || defined(__ppc__) || defined(_ARCH_PPC)
+ #define FACTOR_PPC32
#define FACTOR_PPC
#else
#error "Unsupported architecture"
#include "platform.hpp"
#include "primitives.hpp"
#include "segments.hpp"
+#include "gc_info.hpp"
#include "contexts.hpp"
#include "run.hpp"
#include "objects.hpp"
-#include "profiler.hpp"
+#include "counting_profiler.hpp"
#include "errors.hpp"
#include "bignumint.hpp"
#include "bignum.hpp"
#include "bitwise_hacks.hpp"
#include "mark_bits.hpp"
#include "free_list.hpp"
+#include "fixup.hpp"
+#include "tuples.hpp"
#include "free_list_allocator.hpp"
#include "write_barrier.hpp"
#include "object_start_map.hpp"
#include "gc.hpp"
#include "debug.hpp"
#include "strings.hpp"
-#include "tuples.hpp"
#include "words.hpp"
#include "float_bits.hpp"
#include "io.hpp"
#include "data_roots.hpp"
#include "code_roots.hpp"
#include "generic_arrays.hpp"
+#include "callstack.hpp"
#include "slot_visitor.hpp"
#include "collector.hpp"
#include "copying_collector.hpp"
#include "code_block_visitor.hpp"
#include "compaction.hpp"
#include "full_collector.hpp"
-#include "callstack.hpp"
#include "arrays.hpp"
#include "math.hpp"
#include "byte_arrays.hpp"