github.com/m10x/go/src@v0.0.0-20220112094212-ba61592315da/reflect/asm_arm.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 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. 12 TEXT ·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. 30 TEXT ·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