LEFT | RIGHT |
(no file at all) | |
1 // Copyright 2012 The Go Authors. All rights reserved. | 1 // Copyright 2012 The Go Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style | 2 // Use of this source code is governed by a BSD-style |
3 // license that can be found in the LICENSE file. | 3 // license that can be found in the LICENSE file. |
4 | 4 |
5 // +build power64 power64le | 5 // +build power64 power64le |
6 | 6 |
7 #include "../../cmd/ld/textflag.h" | 7 #include "textflag.h" |
8 | 8 |
9 // makeFuncStub is the code half of the function returned by MakeFunc. | 9 // makeFuncStub is the code half of the function returned by MakeFunc. |
10 // See the comment on the declaration of makeFuncStub in makefunc.go | 10 // See the comment on the declaration of makeFuncStub in makefunc.go |
11 // for more details. | 11 // for more details. |
12 // No argsize here, gc generates argsize info at call site. | 12 // No argsize here, gc generates argsize info at call site. |
13 TEXT ·makeFuncStub(SB),(NOSPLIT|WRAPPER),$16 | 13 TEXT ·makeFuncStub(SB),(NOSPLIT|WRAPPER),$16 |
14 MOVD R11, 8(R1) | 14 MOVD R11, 8(R1) |
15 MOVD $argframe+0(FP), R3 | 15 MOVD $argframe+0(FP), R3 |
16 MOVD R3, 16(R1) | 16 MOVD R3, 16(R1) |
17 BL ·callReflect(SB) | 17 BL ·callReflect(SB) |
18 RETURN | 18 RETURN |
19 | 19 |
20 // methodValueCall is the code half of the function returned by makeMethodValue. | 20 // methodValueCall is the code half of the function returned by makeMethodValue. |
21 // See the comment on the declaration of methodValueCall in makefunc.go | 21 // See the comment on the declaration of methodValueCall in makefunc.go |
22 // for more details. | 22 // for more details. |
23 // No argsize here, gc generates argsize info at call site. | 23 // No argsize here, gc generates argsize info at call site. |
24 TEXT ·methodValueCall(SB),(NOSPLIT|WRAPPER),$16 | 24 TEXT ·methodValueCall(SB),(NOSPLIT|WRAPPER),$16 |
25 MOVD R11, 8(R1) | 25 MOVD R11, 8(R1) |
26 MOVD $argframe+0(FP), R3 | 26 MOVD $argframe+0(FP), R3 |
27 MOVD R3, 16(R1) | 27 MOVD R3, 16(R1) |
28 BL ·callMethod(SB) | 28 BL ·callMethod(SB) |
29 RETURN | 29 RETURN |
30 | |
31 // Stubs to give reflect package access to runtime services | |
32 // TODO: should probably be done another way. | |
33 TEXT ·makemap(SB),NOSPLIT,$0-0 | |
34 BR runtime·reflect_makemap(SB) | |
35 TEXT ·mapaccess(SB),NOSPLIT,$0-0 | |
36 BR runtime·reflect_mapaccess(SB) | |
37 TEXT ·mapassign(SB),NOSPLIT,$0-0 | |
38 BR runtime·reflect_mapassign(SB) | |
39 TEXT ·mapdelete(SB),NOSPLIT,$0-0 | |
40 BR runtime·reflect_mapdelete(SB) | |
41 TEXT ·mapiterinit(SB),NOSPLIT,$0-0 | |
42 BR runtime·reflect_mapiterinit(SB) | |
43 TEXT ·mapiterkey(SB),NOSPLIT,$0-0 | |
44 BR runtime·reflect_mapiterkey(SB) | |
45 TEXT ·mapiternext(SB),NOSPLIT,$0-0 | |
46 BR runtime·reflect_mapiternext(SB) | |
47 TEXT ·maplen(SB),NOSPLIT,$0-0 | |
48 BR runtime·reflect_maplen(SB) | |
49 TEXT ·ismapkey(SB),NOSPLIT,$0-0 | |
50 BR runtime·reflect_ismapkey(SB) | |
LEFT | RIGHT |