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),$16 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 BL callReflect(SB) 21 RET 22 23 // methodValueCall is the code half of the function returned by makeMethodValue. 24 // See the comment on the declaration of methodValueCall in makefunc.go 25 // for more details. 26 // No arg size here; runtime pulls arg map out of the func value. 27 TEXT methodValueCall(SB),(NOSPLIT|WRAPPER),$16 28 NO_LOCAL_POINTERS 29 MOVD R11, FIXED_FRAME+0(R1) 30 MOVD $argframe+0(FP), R3 31 MOVD R3, FIXED_FRAME+8(R1) 32 BL callMethod(SB) 33 RET 34