Text file src/reflect/asm_arm.s

     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
    43  

View as plain text