github.com/comwrg/go/src@v0.0.0-20220319063731-c238d0440370/reflect/asm_mipsx.s (about) 1 // Copyright 2016 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 //go:build mips || mipsle 6 // +build mips mipsle 7 8 #include "textflag.h" 9 #include "funcdata.h" 10 11 #define REGCTXT R22 12 13 // makeFuncStub is the code half of the function returned by MakeFunc. 14 // See the comment on the declaration of makeFuncStub in makefunc.go 15 // for more details. 16 // No arg size here, runtime pulls arg map out of the func value. 17 TEXT ·makeFuncStub(SB),(NOSPLIT|WRAPPER),$20 18 NO_LOCAL_POINTERS 19 MOVW REGCTXT, 4(R29) 20 MOVW $argframe+0(FP), R1 21 MOVW R1, 8(R29) 22 MOVB R0, 20(R29) 23 ADD $20, R29, R1 24 MOVW R1, 12(R29) 25 MOVW R0, 16(R29) 26 JAL ·callReflect(SB) 27 RET 28 29 // methodValueCall is the code half of the function returned by makeMethodValue. 30 // See the comment on the declaration of methodValueCall in makefunc.go 31 // for more details. 32 // No arg size here; runtime pulls arg map out of the func value. 33 TEXT ·methodValueCall(SB),(NOSPLIT|WRAPPER),$20 34 NO_LOCAL_POINTERS 35 MOVW REGCTXT, 4(R29) 36 MOVW $argframe+0(FP), R1 37 MOVW R1, 8(R29) 38 MOVB R0, 20(R29) 39 ADD $20, R29, R1 40 MOVW R1, 12(R29) 41 MOVW R0, 16(R29) 42 JAL ·callMethod(SB) 43 RET