30 |
|
|
31 |
|
#if USE_JIT |
32 |
|
|
33 |
+ |
#if defined __i386__ || defined __x86_64__ |
34 |
+ |
#include "flags_x86.h" |
35 |
+ |
#else |
36 |
+ |
#error "Unsupported JIT compiler for this architecture" |
37 |
+ |
#endif |
38 |
+ |
|
39 |
|
#if JIT_DEBUG |
40 |
|
/* dump some information (m68k block, x86 block addresses) about the compiler state */ |
41 |
|
extern void compiler_dumpstate(void); |
130 |
|
|
131 |
|
#define KILLTHERAT 1 /* Set to 1 to avoid some partial_rat_stalls */ |
132 |
|
|
127 |
– |
/* Whether to preserve registers across calls to JIT compiled routines */ |
128 |
– |
#if defined(X86_ASSEMBLY) || defined(X86_64_ASSEMBLY) |
129 |
– |
#define USE_PUSH_POP 0 |
130 |
– |
#else |
131 |
– |
#define USE_PUSH_POP 1 |
132 |
– |
#endif |
133 |
– |
|
133 |
|
#if defined(__x86_64__) |
134 |
|
#define N_REGS 16 /* really only 15, but they are numbered 0-3,5-15 */ |
135 |
|
#else |
345 |
|
DECLARE_MIDFUNC(shra_b_ri(RW1 r, IMM i)); |
346 |
|
DECLARE_MIDFUNC(setcc(W1 d, IMM cc)); |
347 |
|
DECLARE_MIDFUNC(setcc_m(IMM d, IMM cc)); |
348 |
+ |
DECLARE_MIDFUNC(cmov_b_rr(RW1 d, R1 s, IMM cc)); |
349 |
+ |
DECLARE_MIDFUNC(cmov_w_rr(RW2 d, R2 s, IMM cc)); |
350 |
|
DECLARE_MIDFUNC(cmov_l_rr(RW4 d, R4 s, IMM cc)); |
351 |
|
DECLARE_MIDFUNC(cmov_l_rm(RW4 d, IMM s, IMM cc)); |
352 |
|
DECLARE_MIDFUNC(bsf_l_rr(W4 d, R4 s)); |