]> Cypherpunks.ru repositories - gostls13.git/blob - src/reflect/asm_s390x.s
cmd/compile/internal/inline: score call sites exposed by inlines
[gostls13.git] / src / reflect / asm_s390x.s
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 #include "textflag.h"
6 #include "funcdata.h"
7
8 // makeFuncStub is the code half of the function returned by MakeFunc.
9 // See the comment on the declaration of makeFuncStub in makefunc.go
10 // for more details.
11 // No arg size here, runtime pulls arg map out of the func value.
12 TEXT ·makeFuncStub(SB),(NOSPLIT|WRAPPER),$40
13         NO_LOCAL_POINTERS
14         MOVD    R12, 8(R15)
15         MOVD    $argframe+0(FP), R3
16         MOVD    R3, 16(R15)
17         MOVB    $0, 40(R15)
18         ADD     $40, R15, R3
19         MOVD    R3, 24(R15)
20         MOVD    $0, 32(R15)
21         BL      ·callReflect(SB)
22         RET
23
24 // methodValueCall is the code half of the function returned by makeMethodValue.
25 // See the comment on the declaration of methodValueCall in makefunc.go
26 // for more details.
27 // No arg size here; runtime pulls arg map out of the func value.
28 TEXT ·methodValueCall(SB),(NOSPLIT|WRAPPER),$40
29         NO_LOCAL_POINTERS
30         MOVD    R12, 8(R15)
31         MOVD    $argframe+0(FP), R3
32         MOVD    R3, 16(R15)
33         MOVB    $0, 40(R15)
34         ADD     $40, R15, R3
35         MOVD    R3, 24(R15)
36         MOVD    $0, 32(R15)
37         BL      ·callMethod(SB)
38         RET