Text file
src/reflect/asm_loong64.s
1 // Copyright 2022 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 #include "textflag.h"
6 #include "funcdata.h"
7
8 #define REGCTXT R29
9
10 // makeFuncStub is the code half of the function returned by MakeFunc.
11 // See the comment on the declaration of makeFuncStub in makefunc.go
12 // for more details.
13 // No arg size here, runtime pulls arg map out of the func value.
14 TEXT ·makeFuncStub(SB),(NOSPLIT|WRAPPER),$40
15 NO_LOCAL_POINTERS
16 MOVV REGCTXT, 8(R3)
17 MOVV $argframe+0(FP), R19
18 MOVV R19, 16(R3)
19 MOVB R0, 40(R3)
20 ADDV $40, R3, R19
21 MOVV R19, 24(R3)
22 MOVV R0, 32(R3)
23 JAL ·callReflect(SB)
24 RET
25
26 // methodValueCall is the code half of the function returned by makeMethodValue.
27 // See the comment on the declaration of methodValueCall in makefunc.go
28 // for more details.
29 // No arg size here; runtime pulls arg map out of the func value.
30 TEXT ·methodValueCall(SB),(NOSPLIT|WRAPPER),$40
31 NO_LOCAL_POINTERS
32 MOVV REGCTXT, 8(R3)
33 MOVV $argframe+0(FP), R19
34 MOVV R19, 16(R3)
35 MOVB R0, 40(R3)
36 ADDV $40, R3, R19
37 MOVV R19, 24(R3)
38 MOVV R0, 32(R3)
39 JAL ·callMethod(SB)
40 RET
41
View as plain text