...
Text file src/reflect/asm_ppc64x.s
1 // Copyright 2012 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 // +build ppc64 ppc64le
6
7 #include "textflag.h"
8 #include "funcdata.h"
9 #include "asm_ppc64x.h"
10
11 // makeFuncStub is the code half of the function returned by MakeFunc.
12 // See the comment on the declaration of makeFuncStub in makefunc.go
13 // for more details.
14 // No arg size here, runtime pulls arg map out of the func value.
15 TEXT ·makeFuncStub(SB),(NOSPLIT|WRAPPER),$32
16 NO_LOCAL_POINTERS
17 MOVD R11, FIXED_FRAME+0(R1)
18 MOVD $argframe+0(FP), R3
19 MOVD R3, FIXED_FRAME+8(R1)
20 MOVB R0, FIXED_FRAME+24(R1)
21 ADD $FIXED_FRAME+24, R1, R3
22 MOVD R3, FIXED_FRAME+16(R1)
23 BL ·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),$32
31 NO_LOCAL_POINTERS
32 MOVD R11, FIXED_FRAME+0(R1)
33 MOVD $argframe+0(FP), R3
34 MOVD R3, FIXED_FRAME+8(R1)
35 MOVB R0, FIXED_FRAME+24(R1)
36 ADD $FIXED_FRAME+24, R1, R3
37 MOVD R3, FIXED_FRAME+16(R1)
38 BL ·callMethod(SB)
39 RET
View as plain text