github.com/x04/go/src@v0.0.0-20200202162449-3d481ceb3525/reflect/asm_wasm.s (about) 1 // Copyright 2018 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 15 MOVD CTXT, 0(SP) 16 17 Get SP 18 Get SP 19 I64ExtendI32U 20 I64Const $argframe+0(FP) 21 I64Add 22 I64Store $8 23 24 MOVB $0, 24(SP) 25 MOVD $24(SP), 16(SP) 26 27 CALL ·callReflect(SB) 28 RET 29 30 // methodValueCall is the code half of the function returned by makeMethodValue. 31 // See the comment on the declaration of methodValueCall in makefunc.go 32 // for more details. 33 // No arg size here; runtime pulls arg map out of the func value. 34 TEXT ·methodValueCall(SB),(NOSPLIT|WRAPPER),$32 35 NO_LOCAL_POINTERS 36 37 MOVD CTXT, 0(SP) 38 39 Get SP 40 Get SP 41 I64ExtendI32U 42 I64Const $argframe+0(FP) 43 I64Add 44 I64Store $8 45 46 MOVB $0, 24(SP) 47 MOVD $24(SP), 16(SP) 48 49 CALL ·callMethod(SB) 50 RET