github.com/m10x/go/src@v0.0.0-20220112094212-ba61592315da/reflect/asm_riscv64.s (about) 1 // Copyright 2019 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),$40 13 NO_LOCAL_POINTERS 14 MOV CTXT, 8(SP) 15 MOV $argframe+0(FP), T0 16 MOV T0, 16(SP) 17 ADD $40, SP, T1 18 MOV T1, 24(SP) 19 MOV ZERO, 32(SP) 20 MOVB ZERO, 40(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 arg size here; runtime pulls arg map out of the func value. 28 TEXT ·methodValueCall(SB),(NOSPLIT|WRAPPER),$40 29 NO_LOCAL_POINTERS 30 MOV CTXT, 8(SP) 31 MOV $argframe+0(FP), T0 32 MOV T0, 16(SP) 33 ADD $40, SP, T1 34 MOV T1, 24(SP) 35 MOV ZERO, 32(SP) 36 MOVB ZERO, 40(SP) 37 CALL ·callMethod(SB) 38 RET