summaryrefslogtreecommitdiff
path: root/plugins/uade2/uade-2.13/src/include/compiler.h
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/uade2/uade-2.13/src/include/compiler.h')
-rw-r--r--plugins/uade2/uade-2.13/src/include/compiler.h111
1 files changed, 0 insertions, 111 deletions
diff --git a/plugins/uade2/uade-2.13/src/include/compiler.h b/plugins/uade2/uade-2.13/src/include/compiler.h
deleted file mode 100644
index 545dd6a4..00000000
--- a/plugins/uade2/uade-2.13/src/include/compiler.h
+++ /dev/null
@@ -1,111 +0,0 @@
- /*
- * UAE - The Un*x Amiga Emulator
- *
- * m68k -> i386 compiler
- *
- * (c) 1995 Bernd Schmidt
- */
-
-typedef uaecptr (*code_execfunc)(void);
-
-struct code_page {
- struct code_page *next;
- uae_u32 allocmask;
-};
-
-struct hash_block {
- struct hash_block *lru_next, *lru_prev;
- struct hash_entry *he_first;
-
- struct code_page *cpage;
- int alloclen;
- uae_u32 page_allocmask;
- char *compile_start;
-
- int nrefs;
-
- int translated:1;
- int untranslatable:1;
- int allocfailed:1;
-};
-
-struct hash_entry {
- code_execfunc execute; /* For the sake of the stubs in X86.S */
- struct hash_entry *next,*prev;
- struct hash_entry *next_same_block, *lru_next, *lru_prev;
- struct hash_block *block;
-
- uaecptr addr;
- uae_u32 matchword;
- int ncalls:8;
- int locked:1;
- int cacheflush:1;
-};
-
-extern int nr_bbs_start;
-extern uae_u8 nr_bbs_to_run;
-extern code_execfunc exec_me;
-
-#ifdef USE_COMPILER
-static inline void run_compiled_code(void)
-{
-
- /*if (regs.spcflags == SPCFLAG_EXEC && may_run_compiled) {*/
- while (regs.spcflags == SPCFLAG_EXEC) {
- uaecptr newpc;
- regs.spcflags = 0;
- /* newpc = (*exec_me)();*/
- __asm__ __volatile__ ("pushl %%ebp; call *%1; popl %%ebp" : "=a" (newpc) : "r" (exec_me) :
- "%eax", "%edx", "%ecx", "%ebx",
- "%edi", "%esi", "memory", "cc");
- if (nr_bbs_to_run == 0) {
- struct hash_entry *h = (struct hash_entry *)newpc;
- regs.spcflags = SPCFLAG_EXEC;
- exec_me = h->execute;
- regs.pc = h->addr;
- regs.pc_p = regs.pc_oldp = get_real_address(h->addr);
- nr_bbs_to_run = nr_bbs_start;
- } else
- m68k_setpc_fast(newpc);
- do_cycles();
- }
-/*} else */
- regs.spcflags &= ~SPCFLAG_EXEC;
-}
-
-extern void compiler_init(void);
-extern void possible_loadseg(void);
-
-extern void m68k_do_rts(void);
-extern void m68k_do_bsr(uaecptr, uae_s32);
-extern void m68k_do_jsr(uaecptr, uaecptr);
-extern void compiler_flush_jsr_stack(void);
-
-#else
-
-#define run_compiled_code() do { ; } while (0)
-#define compiler_init() do { ; } while (0)
-#define possible_loadseg() do { ; } while (0)
-#define compiler_flush_jsr_stack() do { ; } while (0)
-
-static inline void m68k_do_rts(void)
-{
- m68k_setpc(get_long(m68k_areg(regs, 7)));
- m68k_areg(regs, 7) += 4;
-}
-
-static inline void m68k_do_bsr(uaecptr oldpc, uae_s32 offset)
-{
- m68k_areg(regs, 7) -= 4;
- put_long(m68k_areg(regs, 7), oldpc);
- m68k_incpc(offset);
-}
-
-static inline void m68k_do_jsr(uaecptr oldpc, uaecptr dest)
-{
- m68k_areg(regs, 7) -= 4;
- put_long(m68k_areg(regs, 7), oldpc);
- m68k_setpc(dest);
-}
-
-#endif