summaryrefslogtreecommitdiff
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
commit80d520fcf0ef4c98f3da5f49b45e6559fd31be11 (patch)
treef2906293bcfed986adb8a82597eb0fa4c20e4252
parent515641a7d9e906e27c64aeb674609b55b4b43b8b (diff)
downloadgo-80d520fcf0ef4c98f3da5f49b45e6559fd31be11.tar.gz
[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://codereview.appspot.com/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 e430cdf04..472063824 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)