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