Text file
src/reflect/asm_mipsx.s
Documentation: reflect
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
44
View as plain text