diff options
author | Jan Brittenson <bson@gnu.org> | 1993-09-22 12:04:33 -0700 |
---|---|---|
committer | Jan Brittenson <bson@gnu.org> | 1993-09-22 12:04:33 -0700 |
commit | 0172ca3ffbe5cdec978c0e70ee75e676d0e5646c (patch) | |
tree | 6495812a6084da12afe426d2bc8f409773a6089a | |
parent | 0aa4232c165a56e5ac39b4d382817493a46b7beb (diff) | |
download | gcc-0172ca3ffbe5cdec978c0e70ee75e676d0e5646c.zip gcc-0172ca3ffbe5cdec978c0e70ee75e676d0e5646c.tar.gz gcc-0172ca3ffbe5cdec978c0e70ee75e676d0e5646c.tar.bz2 |
made bc_emit_trampoline a macro, moved it to m68k.h
From-SVN: r5409
-rw-r--r-- | gcc/config/m68k/m68k.c | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/gcc/config/m68k/m68k.c b/gcc/config/m68k/m68k.c index 1dc4f24..50e5e03 100644 --- a/gcc/config/m68k/m68k.c +++ b/gcc/config/m68k/m68k.c @@ -31,10 +31,6 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #include "output.h" #include "insn-attr.h" -/* Needed for bytecode function entry trampoline */ -#include "bytecode.h" -#include "bc-emit.h" - /* Needed for use_return_insn. */ #include "flags.h" @@ -2303,40 +2299,3 @@ strict_low_part_peephole_ok (mode, first_insn, target) return 0; } - -/* Trampoline code for the function entry. */ -extern struct bc_seg *trampoline; -extern struct bc_seg *bytecode; -extern struct bc_sym *sym_lookup (); - -/* Emit the machine-code interface trampoline at the beginning of a byte - coded function. The argument is a label name of the interpreter - bytecode callinfo structure; the return value is a label name for - the beginning of the actual bytecode. */ -char * -bc_emit_trampoline (callinfo) - char *callinfo; -{ - short insn; - int zero = 0; - char mylab[256]; - static int n; - - sprintf (mylab, "*LB%d", n++); - - /* Push a reference to the callinfo structure. */ - insn = 0x4879; /* pea xxx.L */ - seg_data (trampoline, (char *) &insn, sizeof insn); - seg_refsym (trampoline, callinfo, 0); - - /* Call __interp, pop arguments, and return. */ - insn = 0x4EB9; /* jsr xxx.L */ - seg_data (trampoline, (char *) &insn, sizeof insn); - seg_refsym (trampoline, "__callint", 0); - insn = 0x588F; /* addql #4, sp */ - seg_data (trampoline, (char *) &insn, sizeof insn); - insn = 0x4E75; /* rts */ - seg_data (trampoline, (char *) &insn, sizeof insn); - seg_defsym (bytecode, mylab); - return sym_lookup (mylab)->name; -} |