unsigned int r4300emu = 0;
int no_compiled_jump = 0;
+unsigned int count_per_op = 2;
int llbit, rompause;
#if NEW_DYNAREC != NEW_DYNAREC_ARM
int stop;
long long int reg_cop1_fgr_64[32];
tlb tlb_e[32];
unsigned int delay_slot, skip_jump = 0, dyna_interp = 0, last_addr;
-unsigned long long int debug_count = 0;
unsigned int CIC_Chip;
char invalid_code[0x100000];
current_instruction_table.NOTCOMPILED) \
invalid_code[address>>12] = 1;
-#include "interpreter.def"
-
// two functions are defined from the macros above but never used
// these prototype declarations will prevent a warning
#if defined(__GNUC__)
- void JR_IDLE(void) __attribute__((used));
- void JALR_IDLE(void) __attribute__((used));
+ static void JR_IDLE(void) __attribute__((used));
+ static void JALR_IDLE(void) __attribute__((used));
#endif
+#include "interpreter.def"
+
// -----------------------------------------------------------
// Flow control 'fake' instructions
// -----------------------------------------------------------
if (r4300emu != CORE_DYNAREC)
{
#endif
- Count = Count + (PC->addr - last_addr)/2;
+ Count += ((PC->addr - last_addr) >> 2) * count_per_op;
last_addr = PC->addr;
#ifdef NEW_DYNAREC
}
current_instruction_table = cached_interpreter_table;
- debug_count = 0;
delay_slot=0;
stop = 0;
rompause = 0;
free_blocks();
}
- debug_count+= Count;
DebugMessage(M64MSG_INFO, "R4300 emulator finished.");
/* print instruction counts */