| #ifndef BCC_CONFIG_H |
| #define BCC_CONFIG_H |
| |
| #include "ConfigFromMk.h" |
| |
| //--------------------------------------------------------------------------- |
| // Configuration for JIT & MC Assembler |
| //--------------------------------------------------------------------------- |
| #if !USE_OLD_JIT && !USE_MCJIT |
| #error "You should choose at least one code generation method." |
| #endif |
| |
| //--------------------------------------------------------------------------- |
| // Configuration for Disassembler |
| //--------------------------------------------------------------------------- |
| |
| #if !USE_OLD_JIT |
| #undef DEBUG_OLD_JIT_DISASSEMBLER |
| #define DEBUG_OLD_JIT_DISASSEMBLER 0 |
| #endif |
| |
| #if !USE_MCJIT |
| #undef DEBUG_MCJIT_DISASSEMBLER |
| #define DEBUG_MCJIT_DISASSEMBLER 0 |
| #endif |
| |
| #if DEBUG_OLD_JIT_DISASSEMBLER || DEBUG_MCJIT_DISASSEMBLER |
| #define USE_DISASSEMBLER 1 |
| #else |
| #define USE_DISASSEMBLER 0 |
| #endif |
| |
| #if defined(__HOST__) |
| #define DEBUG_OLD_JIT_DISASSEMBLER_FILE "/tmp/oldjit-dis.s" |
| #define DEBUG_MCJIT_DISASSEMBLER_FILE "/tmp/mcjit-dis.s" |
| #else |
| #define DEBUG_OLD_JIT_DISASSEMBLER_FILE "/data/local/tmp/oldjit-dis.s" |
| #define DEBUG_MCJIT_DISASSEMBLER_FILE "/data/local/tmp/mcjit-dis.s" |
| #endif // defined(__HOST__) |
| |
| //--------------------------------------------------------------------------- |
| // Configuration for ContextManager |
| //--------------------------------------------------------------------------- |
| |
| #if USE_OLD_JIT |
| |
| // Note: Most of the code should NOT use these constants. Use the public |
| // static member of ContextManager instead, which is type-safe. For example, |
| // if you need BCC_CONTEXT_FIXED_ADDR_, then you should write: |
| // ContextManager::ContextFixedAddr |
| |
| #define BCC_CONTEXT_FIXED_ADDR_ reinterpret_cast<char *>(0x7e000000) |
| |
| #define BCC_CONTEXT_SLOT_COUNT_ 8 |
| |
| #define BCC_CONTEXT_CODE_SIZE_ (128 * 1024) |
| |
| #define BCC_CONTEXT_DATA_SIZE_ (128 * 1024) |
| |
| #endif // USE_OLD_JIT |
| |
| //--------------------------------------------------------------------------- |
| // Configuration for CodeGen and CompilerRT |
| //--------------------------------------------------------------------------- |
| |
| #if defined(FORCE_ARM_CODEGEN) |
| #define PROVIDE_ARM_CODEGEN |
| #define DEFAULT_ARM_CODEGEN |
| |
| #elif defined(FORCE_MIPS_CODEGEN) |
| #define PROVIDE_MIPS_CODEGEN |
| #define DEFAULT_MIPS_CODEGEN |
| |
| #elif defined(FORCE_X86_CODEGEN) |
| #define PROVIDE_X86_CODEGEN |
| |
| #if defined(__i386__) |
| #define DEFAULT_X86_CODEGEN |
| #elif defined(__x86_64__) |
| #define DEFAULT_X86_64_CODEGEN |
| #endif |
| |
| #else |
| #define PROVIDE_ARM_CODEGEN |
| #define PROVIDE_MIPS_CODEGEN |
| #define PROVIDE_X86_CODEGEN |
| |
| #if defined(__arm__) |
| #define DEFAULT_ARM_CODEGEN |
| #elif defined(__mips__) |
| #define DEFAULT_MIPS_CODEGEN |
| #elif defined(__i386__) |
| #define DEFAULT_X86_CODEGEN |
| #elif defined(__x86_64__) |
| #define DEFAULT_X86_64_CODEGEN |
| #endif |
| #endif |
| |
| #if defined(DEFAULT_ARM_CODEGEN) |
| #define DEFAULT_TARGET_TRIPLE_STRING "armv7-none-linux-gnueabi" |
| #elif defined(DEFAULT_MIPS_CODEGEN) |
| #define DEFAULT_TARGET_TRIPLE_STRING "mipsel-none-linux-gnueabi" |
| #elif defined(DEFAULT_X86_CODEGEN) |
| #define DEFAULT_TARGET_TRIPLE_STRING "i686-unknown-linux" |
| #elif defined(DEFAULT_X86_64_CODEGEN) |
| #define DEFAULT_TARGET_TRIPLE_STRING "x86_64-unknown-linux" |
| #endif |
| |
| #if (defined(__VFP_FP__) && !defined(__SOFTFP__)) |
| #define ARM_USE_VFP |
| #endif |
| |
| //--------------------------------------------------------------------------- |
| |
| #endif // BCC_CONFIG_H |