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. 12TEXT ·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. 30TEXT ·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 43