github.com/hikaru7719/go@v0.0.0-20181025140707-c8b2ac68906a/src/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),$16 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, 16(R13) 19 ADD $16, R13, R1 20 MOVW R1, 12(R13) 21 BL ·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. 28 TEXT ·methodValueCall(SB),(NOSPLIT|WRAPPER),$16 29 NO_LOCAL_POINTERS 30 MOVW R7, 4(R13) 31 MOVW $argframe+0(FP), R1 32 MOVW R1, 8(R13) 33 MOVW $0, R1 34 MOVB R1, 16(R13) 35 ADD $16, R13, R1 36 MOVW R1, 12(R13) 37 BL ·callMethod(SB) 38 RET