]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: move reflect trampolines into thunk file.
authorKeith Randall <khr@golang.org>
Tue, 2 Sep 2014 17:07:02 +0000 (10:07 -0700)
committerKeith Randall <khr@golang.org>
Tue, 2 Sep 2014 17:07:02 +0000 (10:07 -0700)
LGTM=bradfitz
R=golang-codereviews, bradfitz
CC=golang-codereviews
https://golang.org/cl/133460043

src/pkg/reflect/asm_386.s
src/pkg/reflect/asm_amd64.s
src/pkg/reflect/asm_amd64p32.s
src/pkg/reflect/asm_arm.s
src/pkg/runtime/thunk.s

index 933908f206e06cdaa35f14e19b3e808ecfca86da..c028113a0c88a0d3c39984d60e3ef85caa738bd2 100644 (file)
@@ -25,32 +25,3 @@ TEXT ·methodValueCall(SB),(NOSPLIT|WRAPPER),$8
        MOVL    CX, 4(SP)
        CALL    ·callMethod(SB)
        RET
-
-// Stubs to give reflect package access to runtime services
-// TODO: should probably be done another way.
-TEXT ·makemap(SB),NOSPLIT,$0-0
-       JMP     runtime·reflect_makemap(SB)
-TEXT ·mapaccess(SB),NOSPLIT,$0-0
-       JMP     runtime·reflect_mapaccess(SB)
-TEXT ·mapassign(SB),NOSPLIT,$0-0
-       JMP     runtime·reflect_mapassign(SB)
-TEXT ·mapdelete(SB),NOSPLIT,$0-0
-       JMP     runtime·reflect_mapdelete(SB)
-TEXT ·mapiterinit(SB),NOSPLIT,$0-0
-       JMP     runtime·reflect_mapiterinit(SB)
-TEXT ·mapiterkey(SB),NOSPLIT,$0-0
-       JMP     runtime·reflect_mapiterkey(SB)
-TEXT ·mapiternext(SB),NOSPLIT,$0-0
-       JMP     runtime·reflect_mapiternext(SB)
-TEXT ·maplen(SB),NOSPLIT,$0-0
-       JMP     runtime·reflect_maplen(SB)
-TEXT ·ismapkey(SB),NOSPLIT,$0-0
-       JMP     runtime·reflect_ismapkey(SB)
-TEXT ·ifaceE2I(SB),NOSPLIT,$0-0
-       JMP     runtime·reflect_ifaceE2I(SB)
-TEXT ·unsafe_New(SB),NOSPLIT,$0-0
-       JMP     runtime·newobject(SB)
-TEXT ·unsafe_NewArray(SB),NOSPLIT,$0-0
-       JMP     runtime·newarray(SB)
-TEXT ·makechan(SB),NOSPLIT,$0-0
-       JMP     runtime·makechan(SB)
index 85de6ea8270fe8edd76f33ffc6e3721c140fe0b0..b3c54f0482d7642c37dd90389f2f80b17b4bbd6c 100644 (file)
@@ -25,32 +25,3 @@ TEXT ·methodValueCall(SB),(NOSPLIT|WRAPPER),$16
        MOVQ    CX, 8(SP)
        CALL    ·callMethod(SB)
        RET
-
-// Stubs to give reflect package access to runtime services
-// TODO: should probably be done another way.
-TEXT ·makemap(SB),NOSPLIT,$0-0
-       JMP     runtime·reflect_makemap(SB)
-TEXT ·mapaccess(SB),NOSPLIT,$0-0
-       JMP     runtime·reflect_mapaccess(SB)
-TEXT ·mapassign(SB),NOSPLIT,$0-0
-       JMP     runtime·reflect_mapassign(SB)
-TEXT ·mapdelete(SB),NOSPLIT,$0-0
-       JMP     runtime·reflect_mapdelete(SB)
-TEXT ·mapiterinit(SB),NOSPLIT,$0-0
-       JMP     runtime·reflect_mapiterinit(SB)
-TEXT ·mapiterkey(SB),NOSPLIT,$0-0
-       JMP     runtime·reflect_mapiterkey(SB)
-TEXT ·mapiternext(SB),NOSPLIT,$0-0
-       JMP     runtime·reflect_mapiternext(SB)
-TEXT ·maplen(SB),NOSPLIT,$0-0
-       JMP     runtime·reflect_maplen(SB)
-TEXT ·ismapkey(SB),NOSPLIT,$0-0
-       JMP     runtime·reflect_ismapkey(SB)
-TEXT ·ifaceE2I(SB),NOSPLIT,$0-0
-       JMP     runtime·reflect_ifaceE2I(SB)
-TEXT ·unsafe_New(SB),NOSPLIT,$0-0
-       JMP     runtime·newobject(SB)
-TEXT ·unsafe_NewArray(SB),NOSPLIT,$0-0
-       JMP     runtime·newarray(SB)
-TEXT ·makechan(SB),NOSPLIT,$0-0
-       JMP     runtime·makechan(SB)
index 933908f206e06cdaa35f14e19b3e808ecfca86da..c028113a0c88a0d3c39984d60e3ef85caa738bd2 100644 (file)
@@ -25,32 +25,3 @@ TEXT ·methodValueCall(SB),(NOSPLIT|WRAPPER),$8
        MOVL    CX, 4(SP)
        CALL    ·callMethod(SB)
        RET
-
-// Stubs to give reflect package access to runtime services
-// TODO: should probably be done another way.
-TEXT ·makemap(SB),NOSPLIT,$0-0
-       JMP     runtime·reflect_makemap(SB)
-TEXT ·mapaccess(SB),NOSPLIT,$0-0
-       JMP     runtime·reflect_mapaccess(SB)
-TEXT ·mapassign(SB),NOSPLIT,$0-0
-       JMP     runtime·reflect_mapassign(SB)
-TEXT ·mapdelete(SB),NOSPLIT,$0-0
-       JMP     runtime·reflect_mapdelete(SB)
-TEXT ·mapiterinit(SB),NOSPLIT,$0-0
-       JMP     runtime·reflect_mapiterinit(SB)
-TEXT ·mapiterkey(SB),NOSPLIT,$0-0
-       JMP     runtime·reflect_mapiterkey(SB)
-TEXT ·mapiternext(SB),NOSPLIT,$0-0
-       JMP     runtime·reflect_mapiternext(SB)
-TEXT ·maplen(SB),NOSPLIT,$0-0
-       JMP     runtime·reflect_maplen(SB)
-TEXT ·ismapkey(SB),NOSPLIT,$0-0
-       JMP     runtime·reflect_ismapkey(SB)
-TEXT ·ifaceE2I(SB),NOSPLIT,$0-0
-       JMP     runtime·reflect_ifaceE2I(SB)
-TEXT ·unsafe_New(SB),NOSPLIT,$0-0
-       JMP     runtime·newobject(SB)
-TEXT ·unsafe_NewArray(SB),NOSPLIT,$0-0
-       JMP     runtime·newarray(SB)
-TEXT ·makechan(SB),NOSPLIT,$0-0
-       JMP     runtime·makechan(SB)
index e621b169b1b8c742b1a3e5c59ecf2339d998a945..6bd5d48ec9368bfe4cce8d153d1d0c27e9f1a083 100644 (file)
@@ -25,32 +25,3 @@ TEXT ·methodValueCall(SB),(NOSPLIT|WRAPPER),$8
        MOVW    R1, 8(R13)
        BL      ·callMethod(SB)
        RET
-
-// Stubs to give reflect package access to runtime services
-// TODO: should probably be done another way.
-TEXT ·makemap(SB),NOSPLIT,$-4-0
-       B       runtime·reflect_makemap(SB)
-TEXT ·mapaccess(SB),NOSPLIT,$-4-0
-       B       runtime·reflect_mapaccess(SB)
-TEXT ·mapassign(SB),NOSPLIT,$-4-0
-       B       runtime·reflect_mapassign(SB)
-TEXT ·mapdelete(SB),NOSPLIT,$-4-0
-       B       runtime·reflect_mapdelete(SB)
-TEXT ·mapiterinit(SB),NOSPLIT,$-4-0
-       B       runtime·reflect_mapiterinit(SB)
-TEXT ·mapiterkey(SB),NOSPLIT,$-4-0
-       B       runtime·reflect_mapiterkey(SB)
-TEXT ·mapiternext(SB),NOSPLIT,$-4-0
-       B       runtime·reflect_mapiternext(SB)
-TEXT ·maplen(SB),NOSPLIT,$-4-0
-       B       runtime·reflect_maplen(SB)
-TEXT ·ismapkey(SB),NOSPLIT,$-4-0
-       B       runtime·reflect_ismapkey(SB)
-TEXT ·ifaceE2I(SB),NOSPLIT,$0-0
-       B       runtime·reflect_ifaceE2I(SB)
-TEXT ·unsafe_New(SB),NOSPLIT,$0-0
-       B       runtime·newobject(SB)
-TEXT ·unsafe_NewArray(SB),NOSPLIT,$0-0
-       B       runtime·newarray(SB)
-TEXT ·makechan(SB),NOSPLIT,$0-0
-       B       runtime·makechan(SB)
index 57943ea9972c54feb9d71ec024928efcda3581f0..eaba5e14895ceac86014dfee1d2e4d49549a78b0 100644 (file)
@@ -76,3 +76,42 @@ TEXT runtime∕debug·freeOSMemory(SB), NOSPLIT, $0-0
 
 TEXT syscall·setenv_c(SB), NOSPLIT, $0-0
        JMP     runtime·syscall_setenv_c(SB)
+
+TEXT reflect·makemap(SB),NOSPLIT,$0-0
+       JMP     runtime·reflect_makemap(SB)
+
+TEXT reflect·mapaccess(SB),NOSPLIT,$0-0
+       JMP     runtime·reflect_mapaccess(SB)
+
+TEXT reflect·mapassign(SB),NOSPLIT,$0-0
+       JMP     runtime·reflect_mapassign(SB)
+
+TEXT reflect·mapdelete(SB),NOSPLIT,$0-0
+       JMP     runtime·reflect_mapdelete(SB)
+
+TEXT reflect·mapiterinit(SB),NOSPLIT,$0-0
+       JMP     runtime·reflect_mapiterinit(SB)
+
+TEXT reflect·mapiterkey(SB),NOSPLIT,$0-0
+       JMP     runtime·reflect_mapiterkey(SB)
+
+TEXT reflect·mapiternext(SB),NOSPLIT,$0-0
+       JMP     runtime·reflect_mapiternext(SB)
+
+TEXT reflect·maplen(SB),NOSPLIT,$0-0
+       JMP     runtime·reflect_maplen(SB)
+
+TEXT reflect·ismapkey(SB),NOSPLIT,$0-0
+       JMP     runtime·reflect_ismapkey(SB)
+
+TEXT reflect·ifaceE2I(SB),NOSPLIT,$0-0
+       JMP     runtime·reflect_ifaceE2I(SB)
+
+TEXT reflect·unsafe_New(SB),NOSPLIT,$0-0
+       JMP     runtime·newobject(SB)
+
+TEXT reflect·unsafe_NewArray(SB),NOSPLIT,$0-0
+       JMP     runtime·newarray(SB)
+
+TEXT reflect·makechan(SB),NOSPLIT,$0-0
+       JMP     runtime·makechan(SB)