From: Vladimir Stefanovic Date: Tue, 18 Oct 2016 21:50:57 +0000 (+0200) Subject: reflect: add support for GOARCH=mips{,le} X-Git-Tag: go1.8beta1~325 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=1a07257777ba49231fbf8b81bc6efe34b8422fec;p=gostls13.git reflect: add support for GOARCH=mips{,le} Change-Id: I8b0c4bfe1e4c401d5c36a51b937671e6362c73a4 Reviewed-on: https://go-review.googlesource.com/31485 Reviewed-by: Cherry Zhang --- diff --git a/src/reflect/asm_mipsx.s b/src/reflect/asm_mipsx.s new file mode 100644 index 0000000000..b6df4e636e --- /dev/null +++ b/src/reflect/asm_mipsx.s @@ -0,0 +1,34 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build mips mipsle + +#include "textflag.h" +#include "funcdata.h" + +#define REGCTXT R22 + +// 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 arg size here, runtime pulls arg map out of the func value. +TEXT ·makeFuncStub(SB),(NOSPLIT|WRAPPER),$8 + NO_LOCAL_POINTERS + MOVW REGCTXT, 4(R29) + MOVW $argframe+0(FP), R1 + MOVW R1, 8(R29) + JAL ·callReflect(SB) + RET + +// 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 arg size here; runtime pulls arg map out of the func value. +TEXT ·methodValueCall(SB),(NOSPLIT|WRAPPER),$8 + NO_LOCAL_POINTERS + MOVW REGCTXT, 4(R29) + MOVW $argframe+0(FP), R1 + MOVW R1, 8(R29) + JAL ·callMethod(SB) + RET