|
cmd/gc: move genembedtramp into portable code
Requires adding new linker instruction
RET f(SB)
meaning return but then immediately call f.
This is what you'd use to implement a tail call after
fiddling with the arguments, but the compiler only
uses it in genwrapper.
This CL eliminates the copy-and-paste genembedtramp
functions from 5g/8g/6g and makes the code run on ARM
for the first time. It removes a small special case for function
generation, which should help Carl a bit, but at the same time
it does not bother to implement general tail call optimization,
which we do not want anyway.
Fixes issue 5627.
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+107 lines, -341 lines) |
Patch |
 |
M |
src/cmd/5g/ggen.c
|
View
|
1
|
1 chunk |
+11 lines, -3 lines |
0 comments
|
Download
|
 |
M |
src/cmd/5g/gobj.c
|
View
|
1
|
1 chunk |
+0 lines, -82 lines |
0 comments
|
Download
|
 |
M |
src/cmd/5l/noop.c
|
View
|
1
2
3
|
3 chunks |
+20 lines, -4 lines |
0 comments
|
Download
|
 |
M |
src/cmd/6g/ggen.c
|
View
|
1
|
1 chunk |
+10 lines, -3 lines |
0 comments
|
Download
|
 |
M |
src/cmd/6g/gobj.c
|
View
|
1
|
1 chunk |
+0 lines, -109 lines |
0 comments
|
Download
|
 |
M |
src/cmd/6l/pass.c
|
View
|
1
|
2 chunks |
+3 lines, -1 line |
0 comments
|
Download
|
 |
M |
src/cmd/8g/ggen.c
|
View
|
1
|
1 chunk |
+10 lines, -3 lines |
0 comments
|
Download
|
 |
M |
src/cmd/8g/gobj.c
|
View
|
1
|
1 chunk |
+0 lines, -106 lines |
0 comments
|
Download
|
 |
M |
src/cmd/8l/pass.c
|
View
|
1
|
2 chunks |
+3 lines, -1 line |
0 comments
|
Download
|
 |
M |
src/cmd/gc/fmt.c
|
View
|
1
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
 |
M |
src/cmd/gc/gen.c
|
View
|
1
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
 |
M |
src/cmd/gc/go.h
|
View
|
1
|
2 chunks |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
src/cmd/gc/inl.c
|
View
|
1
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
 |
M |
src/cmd/gc/order.c
|
View
|
1
|
2 chunks |
+2 lines, -1 line |
0 comments
|
Download
|
 |
M |
src/cmd/gc/racewalk.c
|
View
|
1
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
 |
M |
src/cmd/gc/reflect.c
|
View
|
1
|
2 chunks |
+2 lines, -14 lines |
0 comments
|
Download
|
 |
M |
src/cmd/gc/subr.c
|
View
|
1
|
3 chunks |
+30 lines, -13 lines |
0 comments
|
Download
|
 |
M |
src/cmd/gc/typecheck.c
|
View
|
1
|
2 chunks |
+5 lines, -0 lines |
0 comments
|
Download
|
 |
M |
src/cmd/gc/walk.c
|
View
|
1
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
Total messages: 3
|