aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAustin Clements <austin@google.com>2014-10-31 15:29:03 -0400
committerAustin Clements <austin@google.com>2014-10-31 15:29:03 -0400
commit700ab16daf01e77f77faca242e148ad2100b6627 (patch)
tree61ddf8eb0fa936061a1fa907e0a35ea3e8e03946
parent40a5b3ecb1578a68b0423b8ef4eaebd5fb4c7869 (diff)
downloadgo-700ab16daf01e77f77faca242e148ad2100b6627.tar.gz
go-700ab16daf01e77f77faca242e148ad2100b6627.zip
[dev.power64] reflect: fix asm on power64x
reflect/asm_power64x.s was missing changes made to other platforms for stack maps. This CL ports those changes. With this fix, the reflect test passes on power64x. LGTM=rsc R=rsc, dave CC=golang-codereviews https://golang.org/cl/170870043
-rw-r--r--src/reflect/asm_power64x.s7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/reflect/asm_power64x.s b/src/reflect/asm_power64x.s
index e430cdf04c..4720638242 100644
--- a/src/reflect/asm_power64x.s
+++ b/src/reflect/asm_power64x.s
@@ -5,12 +5,14 @@
// +build power64 power64le
#include "textflag.h"
+#include "funcdata.h"
// makeFuncStub is the code half of the function returned by MakeFunc.
// See the comment on the declaration of makeFuncStub in makefunc.go
// for more details.
-// No argsize here, gc generates argsize info at call site.
+// No arg size here, runtime pulls arg map out of the func value.
TEXT ·makeFuncStub(SB),(NOSPLIT|WRAPPER),$16
+ NO_LOCAL_POINTERS
MOVD R11, 8(R1)
MOVD $argframe+0(FP), R3
MOVD R3, 16(R1)
@@ -20,8 +22,9 @@ TEXT ·makeFuncStub(SB),(NOSPLIT|WRAPPER),$16
// methodValueCall is the code half of the function returned by makeMethodValue.
// See the comment on the declaration of methodValueCall in makefunc.go
// for more details.
-// No argsize here, gc generates argsize info at call site.
+// No arg size here; runtime pulls arg map out of the func value.
TEXT ·methodValueCall(SB),(NOSPLIT|WRAPPER),$16
+ NO_LOCAL_POINTERS
MOVD R11, 8(R1)
MOVD $argframe+0(FP), R3
MOVD R3, 16(R1)