Logan | 3584900 | 2011-01-15 07:30:43 +0800 | [diff] [blame] | 1 | #ifndef BCC_CONFIG_H |
| 2 | #define BCC_CONFIG_H |
| 3 | |
Logan Chien | eb56784 | 2011-07-14 19:58:42 +0800 | [diff] [blame] | 4 | #include "ConfigFromMk.h" |
| 5 | |
Logan | 3584900 | 2011-01-15 07:30:43 +0800 | [diff] [blame] | 6 | //--------------------------------------------------------------------------- |
Shih-wei Liao | 898c5a9 | 2011-05-18 07:02:39 -0700 | [diff] [blame] | 7 | // Configuration for JIT & MC Assembler |
| 8 | //--------------------------------------------------------------------------- |
Logan Chien | b0ceca2 | 2011-06-12 13:34:49 +0800 | [diff] [blame] | 9 | #if !USE_OLD_JIT && !USE_MCJIT |
| 10 | #error "You should choose at least one code generation method." |
| 11 | #endif |
Shih-wei Liao | 898c5a9 | 2011-05-18 07:02:39 -0700 | [diff] [blame] | 12 | |
| 13 | //--------------------------------------------------------------------------- |
Logan Chien | 4885cf8 | 2011-07-20 10:18:05 +0800 | [diff] [blame] | 14 | // Configuration for Disassembler |
Logan | 1dc6314 | 2011-02-25 17:14:51 +0800 | [diff] [blame] | 15 | //--------------------------------------------------------------------------- |
Logan | 3584900 | 2011-01-15 07:30:43 +0800 | [diff] [blame] | 16 | |
Logan Chien | 4885cf8 | 2011-07-20 10:18:05 +0800 | [diff] [blame] | 17 | #if !USE_OLD_JIT |
| 18 | #undef DEBUG_OLD_JIT_DISASSEMBLER |
| 19 | #define DEBUG_OLD_JIT_DISASSEMBLER 0 |
| 20 | #endif |
| 21 | |
| 22 | #if !USE_MCJIT |
| 23 | #undef DEBUG_MCJIT_DISASSEMBLER |
| 24 | #define DEBUG_MCJIT_DISASSEMBLER 0 |
| 25 | #endif |
| 26 | |
| 27 | #if DEBUG_OLD_JIT_DISASSEMBLER || DEBUG_MCJIT_DISASSEMBLER |
| 28 | #define USE_DISASSEMBLER 1 |
| 29 | #else |
| 30 | #define USE_DISASSEMBLER 0 |
| 31 | #endif |
| 32 | |
Logan Chien | 9347e0b | 2011-07-07 19:51:47 +0800 | [diff] [blame] | 33 | #define DEBUG_OLD_JIT_DISASSEMBLER_FILE "/data/local/tmp/oldjit-dis.s" |
| 34 | #define DEBUG_MCJIT_DISASSEMBLER_FILE "/data/local/tmp/mcjit-dis.s" |
Logan | 3584900 | 2011-01-15 07:30:43 +0800 | [diff] [blame] | 35 | |
Logan | 3584900 | 2011-01-15 07:30:43 +0800 | [diff] [blame] | 36 | //--------------------------------------------------------------------------- |
Logan | 1dc6314 | 2011-02-25 17:14:51 +0800 | [diff] [blame] | 37 | // Configuration for ContextManager |
| 38 | //--------------------------------------------------------------------------- |
| 39 | |
| 40 | // Note: Most of the code should NOT use these constants. Use the public |
| 41 | // static member of ContextManager instead, which is type-safe. For example, |
| 42 | // if you need BCC_CONTEXT_FIXED_ADDR_, then you should write: |
| 43 | // ContextManager::ContextFixedAddr |
| 44 | |
| 45 | #define BCC_CONTEXT_FIXED_ADDR_ reinterpret_cast<char *>(0x7e000000) |
| 46 | |
| 47 | #define BCC_CONTEXT_SLOT_COUNT_ 8 |
| 48 | |
| 49 | #define BCC_CONTEXT_CODE_SIZE_ (128 * 1024) |
| 50 | |
| 51 | #define BCC_CONTEXT_DATA_SIZE_ (128 * 1024) |
| 52 | |
| 53 | //--------------------------------------------------------------------------- |
| 54 | // Configuration for CodeGen and CompilerRT |
| 55 | //--------------------------------------------------------------------------- |
Logan | 3584900 | 2011-01-15 07:30:43 +0800 | [diff] [blame] | 56 | |
Logan | 3584900 | 2011-01-15 07:30:43 +0800 | [diff] [blame] | 57 | #if defined(FORCE_ARM_CODEGEN) |
Logan | 3584900 | 2011-01-15 07:30:43 +0800 | [diff] [blame] | 58 | #define PROVIDE_ARM_CODEGEN |
Logan Chien | 3bb7707 | 2011-09-17 16:53:53 +0800 | [diff] [blame] | 59 | #define DEFAULT_ARM_CODEGEN |
| 60 | |
Logan | 3584900 | 2011-01-15 07:30:43 +0800 | [diff] [blame] | 61 | #elif defined(FORCE_X86_CODEGEN) |
Logan | 3584900 | 2011-01-15 07:30:43 +0800 | [diff] [blame] | 62 | #define PROVIDE_X86_CODEGEN |
Logan Chien | 3bb7707 | 2011-09-17 16:53:53 +0800 | [diff] [blame] | 63 | |
| 64 | #if defined(__i386__) |
| 65 | #define DEFAULT_X86_CODEGEN |
| 66 | #elif defined(__x86_64__) |
| 67 | #define DEFAULT_X86_64_CODEGEN |
| 68 | #endif |
| 69 | |
| 70 | #else |
| 71 | #define PROVIDE_ARM_CODEGEN |
| 72 | #define PROVIDE_X86_CODEGEN |
| 73 | |
| 74 | #if defined(__arm__) |
| 75 | #define DEFAULT_ARM_CODEGEN |
| 76 | #elif defined(__i386__) |
| 77 | #define DEFAULT_X86_CODEGEN |
| 78 | #elif defined(__x86_64__) |
| 79 | #define DEFAULT_X86_64_CODEGEN |
| 80 | #endif |
Logan | 3584900 | 2011-01-15 07:30:43 +0800 | [diff] [blame] | 81 | #endif |
| 82 | |
| 83 | #if defined(DEFAULT_ARM_CODEGEN) |
| 84 | #define TARGET_TRIPLE_STRING "armv7-none-linux-gnueabi" |
| 85 | #elif defined(DEFAULT_X86_CODEGEN) |
| 86 | #define TARGET_TRIPLE_STRING "i686-unknown-linux" |
Logan Chien | 3bb7707 | 2011-09-17 16:53:53 +0800 | [diff] [blame] | 87 | #elif defined(DEFAULT_X86_64_CODEGEN) |
Logan | 3584900 | 2011-01-15 07:30:43 +0800 | [diff] [blame] | 88 | #define TARGET_TRIPLE_STRING "x86_64-unknown-linux" |
| 89 | #endif |
| 90 | |
| 91 | #if (defined(__VFP_FP__) && !defined(__SOFTFP__)) |
| 92 | #define ARM_USE_VFP |
| 93 | #endif |
| 94 | |
| 95 | //--------------------------------------------------------------------------- |
| 96 | |
| 97 | #endif // BCC_CONFIG_H |