github.com/x04/go/src@v0.0.0-20200202162449-3d481ceb3525/reflect/asm_wasm.s (about)

     1  // Copyright 2018 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 the code half of the function returned by MakeFunc.
     9  // See the comment on the declaration of makeFuncStub in makefunc.go
    10  // for more details.
    11  // No arg size here; runtime pulls arg map out of the func value.
    12  TEXT ·makeFuncStub(SB),(NOSPLIT|WRAPPER),$32
    13  	NO_LOCAL_POINTERS
    14  
    15  	MOVD CTXT, 0(SP)
    16  
    17  	Get SP
    18  	Get SP
    19  	I64ExtendI32U
    20  	I64Const $argframe+0(FP)
    21  	I64Add
    22  	I64Store $8
    23  
    24  	MOVB $0, 24(SP)
    25  	MOVD $24(SP), 16(SP)
    26  
    27  	CALL ·callReflect(SB)
    28  	RET
    29  
    30  // methodValueCall is the code half of the function returned by makeMethodValue.
    31  // See the comment on the declaration of methodValueCall in makefunc.go
    32  // for more details.
    33  // No arg size here; runtime pulls arg map out of the func value.
    34  TEXT ·methodValueCall(SB),(NOSPLIT|WRAPPER),$32
    35  	NO_LOCAL_POINTERS
    36  
    37  	MOVD CTXT, 0(SP)
    38  
    39  	Get SP
    40  	Get SP
    41  	I64ExtendI32U
    42  	I64Const $argframe+0(FP)
    43  	I64Add
    44  	I64Store $8
    45  
    46  	MOVB $0, 24(SP)
    47  	MOVD $24(SP), 16(SP)
    48  
    49  	CALL ·callMethod(SB)
    50  	RET