Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
0172ca3f
Commit
0172ca3f
authored
Sep 22, 1993
by
Jan Brittenson
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
made bc_emit_trampoline a macro, moved it to m68k.h
From-SVN: r5409
parent
0aa4232c
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
0 additions
and
41 deletions
+0
-41
gcc/config/m68k/m68k.c
+0
-41
No files found.
gcc/config/m68k/m68k.c
View file @
0172ca3f
...
...
@@ -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
;
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment