github.com/zxy12/go_duplicate_112_new@v0.0.0-20200807091221-747231827200/src/reflect/asm_amd64.s (about) 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 arg size here; runtime pulls arg map out of the func value. 12 TEXT ·makeFuncStub(SB),(NOSPLIT|WRAPPER),$32 13 NO_LOCAL_POINTERS 14 MOVQ DX, 0(SP) 15 LEAQ argframe+0(FP), CX 16 MOVQ CX, 8(SP) 17 MOVB $0, 24(SP) 18 LEAQ 24(SP), AX 19 MOVQ AX, 16(SP) 20 CALL ·callReflect(SB) 21 RET 22 23 // methodValueCall is the code half of the function returned by makeMethodValue. 24 // See the comment on the declaration of methodValueCall in makefunc.go 25 // for more details. 26 // No arg size here; runtime pulls arg map out of the func value. 27 TEXT ·methodValueCall(SB),(NOSPLIT|WRAPPER),$32 28 NO_LOCAL_POINTERS 29 MOVQ DX, 0(SP) 30 LEAQ argframe+0(FP), CX 31 MOVQ CX, 8(SP) 32 MOVB $0, 24(SP) 33 LEAQ 24(SP), AX 34 MOVQ AX, 16(SP) 35 CALL ·callMethod(SB) 36 RET