Home | History | Annotate | Download | only in reflect
      1 // Copyright 2016 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),$16
     13 	NO_LOCAL_POINTERS
     14 	MOVD	R12, 8(R15)
     15 	MOVD	$argframe+0(FP), R3
     16 	MOVD	R3, 16(R15)
     17 	BL	callReflect(SB)
     18 	RET
     19 
     20 // methodValueCall is the code half of the function returned by makeMethodValue.
     21 // See the comment on the declaration of methodValueCall in makefunc.go
     22 // for more details.
     23 // No arg size here; runtime pulls arg map out of the func value.
     24 TEXT methodValueCall(SB),(NOSPLIT|WRAPPER),$16
     25 	NO_LOCAL_POINTERS
     26 	MOVD	R12, 8(R15)
     27 	MOVD	$argframe+0(FP), R3
     28 	MOVD	R3, 16(R15)
     29 	BL	callMethod(SB)
     30 	RET
     31