]> gitweb.factorcode.org Git - factor.git/blobdiff - vm/master.hpp
vm: strip out call-counting profiler
[factor.git] / vm / master.hpp
index 9a920efce73b170d78a3fcb855cb5906905e2e1b..5b0604fe33233ff82a1c94cf63f4dd0a6a9ad4dd 100755 (executable)
@@ -1,8 +1,13 @@
 #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 <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>
+#include <wchar.h>
+#include <assert.h>
 
 /* C++ headers */
 #include <algorithm>
+#include <list>
 #include <map>
 #include <set>
 #include <vector>
 #include <iostream>
+#include <iomanip>
+#include <limits>
+
+
+#define FACTOR_STRINGIZE_I(x) #x
+#define FACTOR_STRINGIZE(x) FACTOR_STRINGIZE_I(x)
+
+/* Record compiler version */
+#if defined(__clang__)
+       #define FACTOR_COMPILER_VERSION "Clang (GCC " __VERSION__ ")"
+#elif defined(__INTEL_COMPILER)
+       #define FACTOR_COMPILER_VERSION "Intel C Compiler " FACTOR_STRINGIZE(__INTEL_COMPILER)
+#elif defined(__GNUC__)
+       #define FACTOR_COMPILER_VERSION "GCC " __VERSION__
+#elif defined(_MSC_FULL_VER)
+       #define FACTOR_COMPILER_VERSION "Microsoft Visual C++ " FACTOR_STRINGIZE(_MSC_FULL_VER)
+#else
+       #define FACTOR_COMPILER_VERSION "unknown"
+#endif
 
 /* Detect target CPU type */
 #if defined(__arm__)
        #define FACTOR_ARM
-#elif defined(__amd64__) || defined(__x86_64__)
+#elif defined(__amd64__) || defined(__x86_64__) || defined(_M_AMD64)
        #define FACTOR_AMD64
        #define FACTOR_64
-#elif defined(i386) || defined(__i386) || defined(__i386__) || defined(WIN32)
+#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"
 #endif
 
-#ifdef WIN32
+#if defined(_MSC_VER)
+       #define WINDOWS
+       #define WINNT
+#elif defined(WIN32)
        #define WINDOWS
 #endif
 
@@ -59,10 +92,11 @@ namespace factor
 #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 "sampling_profiler.hpp"
 #include "errors.hpp"
 #include "bignumint.hpp"
 #include "bignum.hpp"
@@ -73,6 +107,8 @@ namespace factor
 #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"
@@ -84,7 +120,6 @@ namespace factor
 #include "gc.hpp"
 #include "debug.hpp"
 #include "strings.hpp"
-#include "tuples.hpp"
 #include "words.hpp"
 #include "float_bits.hpp"
 #include "io.hpp"
@@ -93,12 +128,14 @@ namespace factor
 #include "callbacks.hpp"
 #include "dispatch.hpp"
 #include "entry_points.hpp"
+#include "safepoints.hpp"
 #include "vm.hpp"
 #include "allot.hpp"
 #include "tagged.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"
@@ -108,13 +145,13 @@ namespace factor
 #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"
 #include "jit.hpp"
 #include "quotations.hpp"
 #include "inline_cache.hpp"
+#include "mvm.hpp"
 #include "factor.hpp"
 #include "utilities.hpp"