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 // +build mips mipsle
      6 
      7 #include "textflag.h"
      8 #include "funcdata.h"
      9 
     10 #define	REGCTXT	R22
     11 
     12 // makeFuncStub is the code half of the function returned by MakeFunc.
     13 // See the comment on the declaration of makeFuncStub in makefunc.go
     14 // for more details.
     15 // No arg size here, runtime pulls arg map out of the func value.
     16 TEXT makeFuncStub(SB),(NOSPLIT|WRAPPER),$8
     17 	NO_LOCAL_POINTERS
     18 	MOVW	REGCTXT, 4(R29)
     19 	MOVW	$argframe+0(FP), R1
     20 	MOVW	R1, 8(R29)
     21 	JAL	callReflect(SB)
     22 	RET
     23 
     24 // methodValueCall is the code half of the function returned by makeMethodValue.
     25 // See the comment on the declaration of methodValueCall in makefunc.go
     26 // for more details.
     27 // No arg size here; runtime pulls arg map out of the func value.
     28 TEXT methodValueCall(SB),(NOSPLIT|WRAPPER),$8
     29 	NO_LOCAL_POINTERS
     30 	MOVW	REGCTXT, 4(R29)
     31 	MOVW	$argframe+0(FP), R1
     32 	MOVW	R1, 8(R29)
     33 	JAL	callMethod(SB)
     34 	RET
     35