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 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 argsize here, gc generates argsize info at call site.
12TEXT ·makeFuncStub(SB),(NOSPLIT|WRAPPER),$20
13	NO_LOCAL_POINTERS
14	MOVL	DX, 0(SP)
15	LEAL	argframe+0(FP), CX
16	MOVL	CX, 4(SP)
17	MOVB	$0, 16(SP)
18	LEAL	16(SP), AX
19	MOVL	AX, 8(SP)
20	MOVL	$0, 12(SP)
21	CALL	·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 argsize here, gc generates argsize info at call site.
28TEXT ·methodValueCall(SB),(NOSPLIT|WRAPPER),$20
29	NO_LOCAL_POINTERS
30	MOVL	DX, 0(SP)
31	LEAL	argframe+0(FP), CX
32	MOVL	CX, 4(SP)
33	MOVB	$0, 16(SP)
34	LEAL	16(SP), AX
35	MOVL	AX, 8(SP)
36	MOVL	$0, 12(SP)
37	CALL	·callMethod(SB)
38	RET
39