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.
12TEXT ·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.
30TEXT ·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
43