1 |
/* $Id: quick_pc_to_pointers.h,v 1.1 2005/11/30 16:23:10 debug Exp $ */ |
2 |
|
3 |
#ifdef quick_pc_to_pointers |
4 |
#undef quick_pc_to_pointers |
5 |
#endif |
6 |
|
7 |
#ifdef MODE32 |
8 |
#define quick_pc_to_pointers(cpu) { \ |
9 |
uint32_t pc = cpu->pc; \ |
10 |
struct DYNTRANS_TC_PHYSPAGE *ppp; \ |
11 |
ppp = cpu->cd.DYNTRANS_ARCH.phys_page[pc >> 12]; \ |
12 |
if (ppp != NULL) { \ |
13 |
cpu->cd.DYNTRANS_ARCH.cur_ic_page = &ppp->ics[0]; \ |
14 |
cpu->cd.DYNTRANS_ARCH.next_ic = \ |
15 |
cpu->cd.DYNTRANS_ARCH.cur_ic_page + \ |
16 |
DYNTRANS_PC_TO_IC_ENTRY(pc); \ |
17 |
} else \ |
18 |
DYNTRANS_PC_TO_POINTERS(cpu); \ |
19 |
} |
20 |
#else |
21 |
#define quick_pc_to_pointers(cpu) DYNTRANS_PC_TO_POINTERS(cpu) |
22 |
#endif |
23 |
|