mirror of https://github.com/golang/go.git
[dev.power64] reflect: add assembly stubs
LGTM=rsc R=rsc, iant CC=golang-codereviews https://golang.org/cl/126090043
This commit is contained in:
parent
53b78c84bc
commit
ca7f2c796f
|
|
@ -0,0 +1,50 @@
|
|||
// Copyright 2012 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
// +build power64 power64le
|
||||
|
||||
#include "../../cmd/ld/textflag.h"
|
||||
|
||||
// makeFuncStub is the code half of the function returned by MakeFunc.
|
||||
// See the comment on the declaration of makeFuncStub in makefunc.go
|
||||
// for more details.
|
||||
// No argsize here, gc generates argsize info at call site.
|
||||
TEXT ·makeFuncStub(SB),(NOSPLIT|WRAPPER),$16
|
||||
MOVD R11, 8(R1)
|
||||
MOVD $argframe+0(FP), R3
|
||||
MOVD R3, 16(R1)
|
||||
BL ·callReflect(SB)
|
||||
RETURN
|
||||
|
||||
// methodValueCall is the code half of the function returned by makeMethodValue.
|
||||
// See the comment on the declaration of methodValueCall in makefunc.go
|
||||
// for more details.
|
||||
// No argsize here, gc generates argsize info at call site.
|
||||
TEXT ·methodValueCall(SB),(NOSPLIT|WRAPPER),$16
|
||||
MOVD R11, 8(R1)
|
||||
MOVD $argframe+0(FP), R3
|
||||
MOVD R3, 16(R1)
|
||||
BL ·callMethod(SB)
|
||||
RETURN
|
||||
|
||||
// Stubs to give reflect package access to runtime services
|
||||
// TODO: should probably be done another way.
|
||||
TEXT ·makemap(SB),NOSPLIT,$0-0
|
||||
BR runtime·reflect_makemap(SB)
|
||||
TEXT ·mapaccess(SB),NOSPLIT,$0-0
|
||||
BR runtime·reflect_mapaccess(SB)
|
||||
TEXT ·mapassign(SB),NOSPLIT,$0-0
|
||||
BR runtime·reflect_mapassign(SB)
|
||||
TEXT ·mapdelete(SB),NOSPLIT,$0-0
|
||||
BR runtime·reflect_mapdelete(SB)
|
||||
TEXT ·mapiterinit(SB),NOSPLIT,$0-0
|
||||
BR runtime·reflect_mapiterinit(SB)
|
||||
TEXT ·mapiterkey(SB),NOSPLIT,$0-0
|
||||
BR runtime·reflect_mapiterkey(SB)
|
||||
TEXT ·mapiternext(SB),NOSPLIT,$0-0
|
||||
BR runtime·reflect_mapiternext(SB)
|
||||
TEXT ·maplen(SB),NOSPLIT,$0-0
|
||||
BR runtime·reflect_maplen(SB)
|
||||
TEXT ·ismapkey(SB),NOSPLIT,$0-0
|
||||
BR runtime·reflect_ismapkey(SB)
|
||||
Loading…
Reference in New Issue