ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/BasiliskII/src/uae_cpu/compiler/compemu.h
(Generate patch)

Comparing BasiliskII/src/uae_cpu/compiler/compemu.h (file contents):
Revision 1.9 by cebix, 2004-01-12T15:29:30Z vs.
Revision 1.11 by gbeauche, 2004-11-08T21:10:46Z

# Line 41 | Line 41 | extern void compiler_dumpstate(void);
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;
# Line 125 | Line 125 | union cacheline {
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
# Line 344 | Line 348 | DECLARE_MIDFUNC(setcc(W1 d, IMM cc));
348   DECLARE_MIDFUNC(setcc_m(IMM d, IMM cc));
349   DECLARE_MIDFUNC(cmov_l_rr(RW4 d, R4 s, IMM cc));
350   DECLARE_MIDFUNC(cmov_l_rm(RW4 d, IMM s, IMM cc));
351 < /* Set native Z flag only if register is zero */
348 < DECLARE_MIDFUNC(setzflg_l(RW4 r));
351 > DECLARE_MIDFUNC(bsf_l_rr(W4 d, R4 s));
352   DECLARE_MIDFUNC(pop_m(IMM d));
353   DECLARE_MIDFUNC(push_m(IMM d));
354   DECLARE_MIDFUNC(pop_l(W4 d));
# Line 512 | Line 515 | extern void writelong_clobber(int addres
515   extern void get_n_addr(int address, int dest, int tmp);
516   extern void get_n_addr_jmp(int address, int dest, int tmp);
517   extern void calc_disp_ea_020(int base, uae_u32 dp, int target, int tmp);
518 + /* Set native Z flag only if register is zero */
519 + extern void set_zero(int r, int tmp);
520   extern int kill_rodent(int r);
521   extern void sync_m68k_pc(void);
522   extern uae_u32 get_const(int r);
# Line 525 | Line 530 | extern void register_branch(uae_u32 not_
530   struct blockinfo_t;
531  
532   typedef struct dep_t {
533 <  uintptr*            jmp_off;
533 >  uae_u32*            jmp_off;
534    struct blockinfo_t* target;
535    struct blockinfo_t* source;
536    struct dep_t**      prev_p;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines