summaryrefslogtreecommitdiff
path: root/src/pkg
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2014-09-07 07:23:18 -0400
committerRuss Cox <rsc@golang.org>2014-09-07 07:23:18 -0400
commitcd954fee7e6b5f9274b17aa592b53ccdf2cbb915 (patch)
treed382508d226b53f1aa15fb38d6b2897c51028ced /src/pkg
parent8174ce64ca4ebbb13abb9928d1f7fdb10ef536b7 (diff)
downloadgo-cd954fee7e6b5f9274b17aa592b53ccdf2cbb915.tar.gz
runtime: fix nacl/amd64p32 build
Update issue 8675 Fixes nacl/amd64p32 build. TBR=khr CC=golang-codereviews https://codereview.appspot.com/141140045
Diffstat (limited to 'src/pkg')
-rw-r--r--src/pkg/runtime/asm_amd64p32.s16
1 files changed, 3 insertions, 13 deletions
diff --git a/src/pkg/runtime/asm_amd64p32.s b/src/pkg/runtime/asm_amd64p32.s
index 2597b8250..6c10bec5c 100644
--- a/src/pkg/runtime/asm_amd64p32.s
+++ b/src/pkg/runtime/asm_amd64p32.s
@@ -281,7 +281,7 @@ TEXT runtime·morestack(SB),NOSPLIT,$0-0
RET
// reflect·call: call a function with the given argument list
-// func call(f *FuncVal, arg *byte, argsize, retoffset uint32, p *Panic).
+// func call(f *FuncVal, arg *byte, argsize, retoffset uint32).
// we don't have variable-sized frames, so we use a small number
// of constant-sized-frame functions to encode a few bits of size in the pc.
// Caution: ugly multiline assembly macros in your future!
@@ -293,7 +293,7 @@ TEXT runtime·morestack(SB),NOSPLIT,$0-0
JMP AX
// Note: can't just "JMP NAME(SB)" - bad inlining results.
-TEXT reflect·call(SB), NOSPLIT, $0-20
+TEXT reflect·call(SB), NOSPLIT, $0-16
MOVLQZX argsize+8(FP), CX
DISPATCH(runtime·call16, 16)
DISPATCH(runtime·call32, 32)
@@ -338,7 +338,7 @@ DATA gclocals_reflectcall<>+0x04(SB)/4, $0 // 0 locals
GLOBL gclocals_reflectcall<>(SB),RODATA,$8
#define CALLFN(NAME,MAXSIZE) \
-TEXT NAME(SB), WRAPPER, $MAXSIZE-20; \
+TEXT NAME(SB), WRAPPER, $MAXSIZE-16; \
FUNCDATA $FUNCDATA_ArgsPointerMaps,gcargs_reflectcall<>(SB); \
FUNCDATA $FUNCDATA_LocalsPointerMaps,gclocals_reflectcall<>(SB);\
/* copy arguments to stack */ \
@@ -346,20 +346,10 @@ TEXT NAME(SB), WRAPPER, $MAXSIZE-20; \
MOVL argsize+8(FP), CX; \
MOVL SP, DI; \
REP;MOVSB; \
- /* initialize panic argp */ \
- MOVL panic+16(FP), CX; \
- CMPL CX, $0; \
- JEQ 2(PC); \
- MOVL SP, panic_argp(CX); \
/* call function */ \
MOVL f+0(FP), DX; \
MOVL (DX), AX; \
CALL AX; \
- /* clear panic argp */ \
- MOVL panic+16(FP), CX; \
- CMPL CX, $0; \
- JEQ 2(PC); \
- MOVL $0, panic_argp(CX); \
/* copy return values back */ \
MOVL argptr+4(FP), DI; \
MOVL argsize+8(FP), CX; \