Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(116)

Issue 11389043: cmd/5l: use more standard calling convention

Can't Edit
Can't Publish+Mail
Start Review
Created:
12 years, 6 months ago by rsc
Modified:
12 years, 5 months ago
Reviewers:
Visibility:
Public.

Description

cmd/5l: use more standard calling convention The standard ARM calling convention is that the function prologue should push LR onto the stack and then further subtract from SP to carve out a stack frame if needed. To date, the 5l calling convention has been to subtract from SP to carve out the stack frame and then push LR, with those two things happening in a single instruction. Switching to the standard calling convention should be less confusing to people familiar with ARM but new to the 5g/5l toolchain. It does cost an extra instruction when the stack frame is more than zero bytes, but this cost is small and, again, standard. Switching happens to make the stacks look exactly like x86 stacks, so they will also be less confusing to people familiar with x86. Switching will allow us to merge the runtime traceback code into a single file, which will reduce maintenance costs. Fixes issue 5113.

Patch Set 1 #

Patch Set 2 : diff -r 0796c8d8af24 https://code.google.com/p/go/ #

Patch Set 3 : diff -r 0796c8d8af24 https://code.google.com/p/go/ #

Patch Set 4 : diff -r 0796c8d8af24 https://code.google.com/p/go/ #

Patch Set 5 : diff -r 0796c8d8af24 https://code.google.com/p/go/ #

Patch Set 6 : diff -r 3cc189fc323c https://code.google.com/p/go #

Unified diffs Side-by-side diffs Delta from patch set Stats (+689 lines, -925 lines) Patch
M src/cmd/5a/a.y View 1 2 3 4 5 2 chunks +4 lines, -0 lines 0 comments Download
M src/cmd/5a/y.tab.h View 1 2 3 4 5 3 chunks +21 lines, -25 lines 0 comments Download
M src/cmd/5a/y.tab.c View 1 2 3 4 5 123 chunks +353 lines, -607 lines 0 comments Download
M src/cmd/5c/txt.c View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M src/cmd/5g/cgen.c View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M src/cmd/5g/ggen.c View 1 2 3 4 5 5 chunks +8 lines, -18 lines 0 comments Download
M src/cmd/5g/gsubr.c View 1 2 3 4 5 1 chunk +0 lines, -1 line 0 comments Download
M src/cmd/5g/reg.c View 1 2 3 4 5 3 chunks +21 lines, -9 lines 0 comments Download
M src/cmd/5l/l.h View 1 1 chunk +1 line, -1 line 0 comments Download
M src/cmd/5l/noop.c View 1 2 3 4 5 8 chunks +56 lines, -17 lines 0 comments Download
M src/cmd/5l/obj.c View 1 2 3 4 5 1 chunk +0 lines, -1 line 0 comments Download
M src/cmd/5l/span.c View 1 2 3 4 4 chunks +4 lines, -5 lines 0 comments Download
M src/cmd/6l/l.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M src/cmd/6l/pass.c View 1 2 chunks +2 lines, -11 lines 0 comments Download
M src/cmd/8l/l.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M src/cmd/8l/pass.c View 1 1 chunk +1 line, -10 lines 0 comments Download
M src/cmd/ld/lib.c View 1 2 3 4 5 2 chunks +3 lines, -1 line 0 comments Download
M src/pkg/crypto/md5/md5block_arm.s View 1 2 3 4 5 2 chunks +6 lines, -17 lines 0 comments Download
M src/pkg/runtime/asm_arm.s View 1 2 3 4 5 8 chunks +21 lines, -24 lines 0 comments Download
M src/pkg/runtime/panic.c View 1 2 3 4 5 2 chunks +2 lines, -8 lines 0 comments Download
M src/pkg/runtime/proc.c View 1 2 3 4 5 2 chunks +1 line, -9 lines 0 comments Download
M src/pkg/runtime/stack.c View 1 2 3 4 5 1 chunk +0 lines, -5 lines 0 comments Download
M src/pkg/runtime/sys_linux_arm.s View 1 2 3 4 5 3 chunks +16 lines, -17 lines 0 comments Download
M src/pkg/runtime/traceback.c View 1 2 3 4 5 8 chunks +57 lines, -34 lines 0 comments Download
M src/pkg/runtime/traceback_arm.c View 1 2 3 4 5 2 chunks +8 lines, -2 lines 0 comments Download
M src/pkg/runtime/traceback_x86.c View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M src/pkg/runtime/vlop_arm.s View 1 2 3 4 5 6 chunks +38 lines, -38 lines 0 comments Download
M src/pkg/syscall/asm_linux_arm.s View 1 2 3 4 5 3 chunks +61 lines, -62 lines 0 comments Download

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b