Home | History | Annotate | Download | only in reflect
      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