41 |
|
#define TAGMASK 0x0000ffff |
42 |
|
#define TAGSIZE (TAGMASK+1) |
43 |
|
#define MAXRUN 1024 |
44 |
< |
#define cacheline(x) (((uae_u32)x)&TAGMASK) |
44 |
> |
#define cacheline(x) (((uintptr)x)&TAGMASK) |
45 |
|
|
46 |
|
extern uae_u8* start_pc_p; |
47 |
|
extern uae_u32 start_pc; |
125 |
|
#define KILLTHERAT 1 /* Set to 1 to avoid some partial_rat_stalls */ |
126 |
|
|
127 |
|
/* Whether to preserve registers across calls to JIT compiled routines */ |
128 |
< |
#ifdef X86_ASSEMBLY |
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 |
|
|
134 |
+ |
#if defined(__x86_64__) |
135 |
+ |
#define N_REGS 16 /* really only 15, but they are numbered 0-3,5-15 */ |
136 |
+ |
#else |
137 |
|
#define N_REGS 8 /* really only 7, but they are numbered 0,1,2,3,5,6,7 */ |
138 |
+ |
#endif |
139 |
|
#define N_FREGS 6 /* That leaves us two positions on the stack to play with */ |
140 |
|
|
141 |
|
/* Functions exposed to newcpu, or to what was moved from newcpu.c to |
529 |
|
struct blockinfo_t; |
530 |
|
|
531 |
|
typedef struct dep_t { |
532 |
< |
uintptr* jmp_off; |
532 |
> |
uae_u32* jmp_off; |
533 |
|
struct blockinfo_t* target; |
534 |
|
struct blockinfo_t* source; |
535 |
|
struct dep_t** prev_p; |