]> Cypherpunks.ru repositories - gostls13.git/blob - src/reflect/asm_arm.s
cmd/compile/internal/inline: score call sites exposed by inlines
[gostls13.git] / src / reflect / asm_arm.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 #include "textflag.h"
6 #include "funcdata.h"
7
8 // makeFuncStub is jumped to by the code generated by MakeFunc.
9 // See the comment on the declaration of makeFuncStub in makefunc.go
10 // for more details.
11 // No argsize here, gc generates argsize info at call site.
12 TEXT ·makeFuncStub(SB),(NOSPLIT|WRAPPER),$20
13         NO_LOCAL_POINTERS
14         MOVW    R7, 4(R13)
15         MOVW    $argframe+0(FP), R1
16         MOVW    R1, 8(R13)
17         MOVW    $0, R1
18         MOVB    R1, 20(R13)
19         ADD     $20, R13, R1
20         MOVW    R1, 12(R13)
21         MOVW    $0, R1
22         MOVW    R1, 16(R13)
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 argsize here, gc generates argsize info at call site.
30 TEXT ·methodValueCall(SB),(NOSPLIT|WRAPPER),$20
31         NO_LOCAL_POINTERS
32         MOVW    R7, 4(R13)
33         MOVW    $argframe+0(FP), R1
34         MOVW    R1, 8(R13)
35         MOVW    $0, R1
36         MOVB    R1, 20(R13)
37         ADD     $20, R13, R1
38         MOVW    R1, 12(R13)
39         MOVW    $0, R1
40         MOVW    R1, 16(R13)
41         BL      ·callMethod(SB)
42         RET