github.com/gidoBOSSftw5731/go/src@v0.0.0-20210226122457-d24b0edbf019/reflect/asm_ppc64x.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 // +build ppc64 ppc64le 6 7 #include "textflag.h" 8 #include "funcdata.h" 9 #include "asm_ppc64x.h" 10 11 // makeFuncStub is the code half of the function returned by MakeFunc. 12 // See the comment on the declaration of makeFuncStub in makefunc.go 13 // for more details. 14 // No arg size here, runtime pulls arg map out of the func value. 15 TEXT ·makeFuncStub(SB),(NOSPLIT|WRAPPER),$32 16 NO_LOCAL_POINTERS 17 MOVD R11, FIXED_FRAME+0(R1) 18 MOVD $argframe+0(FP), R3 19 MOVD R3, FIXED_FRAME+8(R1) 20 MOVB R0, FIXED_FRAME+24(R1) 21 ADD $FIXED_FRAME+24, R1, R3 22 MOVD R3, FIXED_FRAME+16(R1) 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 arg size here; runtime pulls arg map out of the func value. 30 TEXT ·methodValueCall(SB),(NOSPLIT|WRAPPER),$32 31 NO_LOCAL_POINTERS 32 MOVD R11, FIXED_FRAME+0(R1) 33 MOVD $argframe+0(FP), R3 34 MOVD R3, FIXED_FRAME+8(R1) 35 MOVB R0, FIXED_FRAME+24(R1) 36 ADD $FIXED_FRAME+24, R1, R3 37 MOVD R3, FIXED_FRAME+16(R1) 38 BL ·callMethod(SB) 39 RET