mirror of https://github.com/golang/go.git
runtime: fix assembler macro definitions to be consistent in use of center-dot
The DISPATCH and CALLFN macro definitions depend on an inconsistency between the internal cpp mini-implementation and the language proper in whether center-dot is an identifier character. The macro depends on it not being an identifier character, but the resulting code depends on it being one. Remove the dependence on the inconsistency by placing the center-dot into the macro invocation rather that the body. No semantic change. This is just renaming macro arguments. LGTM=bradfitz R=golang-codereviews, bradfitz CC=golang-codereviews https://golang.org/cl/119320043
This commit is contained in:
parent
d703ac338e
commit
aff7883d9a
|
|
@ -361,39 +361,39 @@ TEXT runtime·newstackcall(SB), NOSPLIT, $0-12
|
|||
#define DISPATCH(NAME,MAXSIZE) \
|
||||
CMPL CX, $MAXSIZE; \
|
||||
JA 3(PC); \
|
||||
MOVL $runtime·NAME(SB), AX; \
|
||||
MOVL $NAME(SB), AX; \
|
||||
JMP AX
|
||||
// Note: can't just "JMP runtime·NAME(SB)" - bad inlining results.
|
||||
// Note: can't just "JMP NAME(SB)" - bad inlining results.
|
||||
|
||||
TEXT reflect·call(SB), NOSPLIT, $0-16
|
||||
MOVL argsize+8(FP), CX
|
||||
DISPATCH(call16, 16)
|
||||
DISPATCH(call32, 32)
|
||||
DISPATCH(call64, 64)
|
||||
DISPATCH(call128, 128)
|
||||
DISPATCH(call256, 256)
|
||||
DISPATCH(call512, 512)
|
||||
DISPATCH(call1024, 1024)
|
||||
DISPATCH(call2048, 2048)
|
||||
DISPATCH(call4096, 4096)
|
||||
DISPATCH(call8192, 8192)
|
||||
DISPATCH(call16384, 16384)
|
||||
DISPATCH(call32768, 32768)
|
||||
DISPATCH(call65536, 65536)
|
||||
DISPATCH(call131072, 131072)
|
||||
DISPATCH(call262144, 262144)
|
||||
DISPATCH(call524288, 524288)
|
||||
DISPATCH(call1048576, 1048576)
|
||||
DISPATCH(call2097152, 2097152)
|
||||
DISPATCH(call4194304, 4194304)
|
||||
DISPATCH(call8388608, 8388608)
|
||||
DISPATCH(call16777216, 16777216)
|
||||
DISPATCH(call33554432, 33554432)
|
||||
DISPATCH(call67108864, 67108864)
|
||||
DISPATCH(call134217728, 134217728)
|
||||
DISPATCH(call268435456, 268435456)
|
||||
DISPATCH(call536870912, 536870912)
|
||||
DISPATCH(call1073741824, 1073741824)
|
||||
DISPATCH(runtime·call16, 16)
|
||||
DISPATCH(runtime·call32, 32)
|
||||
DISPATCH(runtime·call64, 64)
|
||||
DISPATCH(runtime·call128, 128)
|
||||
DISPATCH(runtime·call256, 256)
|
||||
DISPATCH(runtime·call512, 512)
|
||||
DISPATCH(runtime·call1024, 1024)
|
||||
DISPATCH(runtime·call2048, 2048)
|
||||
DISPATCH(runtime·call4096, 4096)
|
||||
DISPATCH(runtime·call8192, 8192)
|
||||
DISPATCH(runtime·call16384, 16384)
|
||||
DISPATCH(runtime·call32768, 32768)
|
||||
DISPATCH(runtime·call65536, 65536)
|
||||
DISPATCH(runtime·call131072, 131072)
|
||||
DISPATCH(runtime·call262144, 262144)
|
||||
DISPATCH(runtime·call524288, 524288)
|
||||
DISPATCH(runtime·call1048576, 1048576)
|
||||
DISPATCH(runtime·call2097152, 2097152)
|
||||
DISPATCH(runtime·call4194304, 4194304)
|
||||
DISPATCH(runtime·call8388608, 8388608)
|
||||
DISPATCH(runtime·call16777216, 16777216)
|
||||
DISPATCH(runtime·call33554432, 33554432)
|
||||
DISPATCH(runtime·call67108864, 67108864)
|
||||
DISPATCH(runtime·call134217728, 134217728)
|
||||
DISPATCH(runtime·call268435456, 268435456)
|
||||
DISPATCH(runtime·call536870912, 536870912)
|
||||
DISPATCH(runtime·call1073741824, 1073741824)
|
||||
MOVL $runtime·badreflectcall(SB), AX
|
||||
JMP AX
|
||||
|
||||
|
|
@ -410,7 +410,7 @@ DATA gclocals_reflectcall<>+0x04(SB)/4, $0 // 0 locals
|
|||
GLOBL gclocals_reflectcall<>(SB),RODATA,$8
|
||||
|
||||
#define CALLFN(NAME,MAXSIZE) \
|
||||
TEXT runtime·NAME(SB), WRAPPER, $MAXSIZE-16; \
|
||||
TEXT NAME(SB), WRAPPER, $MAXSIZE-16; \
|
||||
FUNCDATA $FUNCDATA_ArgsPointerMaps,gcargs_reflectcall<>(SB); \
|
||||
FUNCDATA $FUNCDATA_LocalsPointerMaps,gclocals_reflectcall<>(SB);\
|
||||
/* copy arguments to stack */ \
|
||||
|
|
@ -434,33 +434,33 @@ TEXT runtime·NAME(SB), WRAPPER, $MAXSIZE-16; \
|
|||
REP;MOVSB; \
|
||||
RET
|
||||
|
||||
CALLFN(call16, 16)
|
||||
CALLFN(call32, 32)
|
||||
CALLFN(call64, 64)
|
||||
CALLFN(call128, 128)
|
||||
CALLFN(call256, 256)
|
||||
CALLFN(call512, 512)
|
||||
CALLFN(call1024, 1024)
|
||||
CALLFN(call2048, 2048)
|
||||
CALLFN(call4096, 4096)
|
||||
CALLFN(call8192, 8192)
|
||||
CALLFN(call16384, 16384)
|
||||
CALLFN(call32768, 32768)
|
||||
CALLFN(call65536, 65536)
|
||||
CALLFN(call131072, 131072)
|
||||
CALLFN(call262144, 262144)
|
||||
CALLFN(call524288, 524288)
|
||||
CALLFN(call1048576, 1048576)
|
||||
CALLFN(call2097152, 2097152)
|
||||
CALLFN(call4194304, 4194304)
|
||||
CALLFN(call8388608, 8388608)
|
||||
CALLFN(call16777216, 16777216)
|
||||
CALLFN(call33554432, 33554432)
|
||||
CALLFN(call67108864, 67108864)
|
||||
CALLFN(call134217728, 134217728)
|
||||
CALLFN(call268435456, 268435456)
|
||||
CALLFN(call536870912, 536870912)
|
||||
CALLFN(call1073741824, 1073741824)
|
||||
CALLFN(runtime·call16, 16)
|
||||
CALLFN(runtime·call32, 32)
|
||||
CALLFN(runtime·call64, 64)
|
||||
CALLFN(runtime·call128, 128)
|
||||
CALLFN(runtime·call256, 256)
|
||||
CALLFN(runtime·call512, 512)
|
||||
CALLFN(runtime·call1024, 1024)
|
||||
CALLFN(runtime·call2048, 2048)
|
||||
CALLFN(runtime·call4096, 4096)
|
||||
CALLFN(runtime·call8192, 8192)
|
||||
CALLFN(runtime·call16384, 16384)
|
||||
CALLFN(runtime·call32768, 32768)
|
||||
CALLFN(runtime·call65536, 65536)
|
||||
CALLFN(runtime·call131072, 131072)
|
||||
CALLFN(runtime·call262144, 262144)
|
||||
CALLFN(runtime·call524288, 524288)
|
||||
CALLFN(runtime·call1048576, 1048576)
|
||||
CALLFN(runtime·call2097152, 2097152)
|
||||
CALLFN(runtime·call4194304, 4194304)
|
||||
CALLFN(runtime·call8388608, 8388608)
|
||||
CALLFN(runtime·call16777216, 16777216)
|
||||
CALLFN(runtime·call33554432, 33554432)
|
||||
CALLFN(runtime·call67108864, 67108864)
|
||||
CALLFN(runtime·call134217728, 134217728)
|
||||
CALLFN(runtime·call268435456, 268435456)
|
||||
CALLFN(runtime·call536870912, 536870912)
|
||||
CALLFN(runtime·call1073741824, 1073741824)
|
||||
|
||||
// Return point when leaving stack.
|
||||
//
|
||||
|
|
|
|||
|
|
@ -338,39 +338,39 @@ TEXT runtime·newstackcall(SB), NOSPLIT, $0-20
|
|||
#define DISPATCH(NAME,MAXSIZE) \
|
||||
CMPQ CX, $MAXSIZE; \
|
||||
JA 3(PC); \
|
||||
MOVQ $runtime·NAME(SB), AX; \
|
||||
MOVQ $NAME(SB), AX; \
|
||||
JMP AX
|
||||
// Note: can't just "JMP runtime·NAME(SB)" - bad inlining results.
|
||||
// Note: can't just "JMP NAME(SB)" - bad inlining results.
|
||||
|
||||
TEXT reflect·call(SB), NOSPLIT, $0-24
|
||||
MOVLQZX argsize+16(FP), CX
|
||||
DISPATCH(call16, 16)
|
||||
DISPATCH(call32, 32)
|
||||
DISPATCH(call64, 64)
|
||||
DISPATCH(call128, 128)
|
||||
DISPATCH(call256, 256)
|
||||
DISPATCH(call512, 512)
|
||||
DISPATCH(call1024, 1024)
|
||||
DISPATCH(call2048, 2048)
|
||||
DISPATCH(call4096, 4096)
|
||||
DISPATCH(call8192, 8192)
|
||||
DISPATCH(call16384, 16384)
|
||||
DISPATCH(call32768, 32768)
|
||||
DISPATCH(call65536, 65536)
|
||||
DISPATCH(call131072, 131072)
|
||||
DISPATCH(call262144, 262144)
|
||||
DISPATCH(call524288, 524288)
|
||||
DISPATCH(call1048576, 1048576)
|
||||
DISPATCH(call2097152, 2097152)
|
||||
DISPATCH(call4194304, 4194304)
|
||||
DISPATCH(call8388608, 8388608)
|
||||
DISPATCH(call16777216, 16777216)
|
||||
DISPATCH(call33554432, 33554432)
|
||||
DISPATCH(call67108864, 67108864)
|
||||
DISPATCH(call134217728, 134217728)
|
||||
DISPATCH(call268435456, 268435456)
|
||||
DISPATCH(call536870912, 536870912)
|
||||
DISPATCH(call1073741824, 1073741824)
|
||||
DISPATCH(runtime·call16, 16)
|
||||
DISPATCH(runtime·call32, 32)
|
||||
DISPATCH(runtime·call64, 64)
|
||||
DISPATCH(runtime·call128, 128)
|
||||
DISPATCH(runtime·call256, 256)
|
||||
DISPATCH(runtime·call512, 512)
|
||||
DISPATCH(runtime·call1024, 1024)
|
||||
DISPATCH(runtime·call2048, 2048)
|
||||
DISPATCH(runtime·call4096, 4096)
|
||||
DISPATCH(runtime·call8192, 8192)
|
||||
DISPATCH(runtime·call16384, 16384)
|
||||
DISPATCH(runtime·call32768, 32768)
|
||||
DISPATCH(runtime·call65536, 65536)
|
||||
DISPATCH(runtime·call131072, 131072)
|
||||
DISPATCH(runtime·call262144, 262144)
|
||||
DISPATCH(runtime·call524288, 524288)
|
||||
DISPATCH(runtime·call1048576, 1048576)
|
||||
DISPATCH(runtime·call2097152, 2097152)
|
||||
DISPATCH(runtime·call4194304, 4194304)
|
||||
DISPATCH(runtime·call8388608, 8388608)
|
||||
DISPATCH(runtime·call16777216, 16777216)
|
||||
DISPATCH(runtime·call33554432, 33554432)
|
||||
DISPATCH(runtime·call67108864, 67108864)
|
||||
DISPATCH(runtime·call134217728, 134217728)
|
||||
DISPATCH(runtime·call268435456, 268435456)
|
||||
DISPATCH(runtime·call536870912, 536870912)
|
||||
DISPATCH(runtime·call1073741824, 1073741824)
|
||||
MOVQ $runtime·badreflectcall(SB), AX
|
||||
JMP AX
|
||||
|
||||
|
|
@ -387,7 +387,7 @@ DATA gclocals_reflectcall<>+0x04(SB)/4, $0 // 0 locals
|
|||
GLOBL gclocals_reflectcall<>(SB),RODATA,$8
|
||||
|
||||
#define CALLFN(NAME,MAXSIZE) \
|
||||
TEXT runtime·NAME(SB), WRAPPER, $MAXSIZE-24; \
|
||||
TEXT NAME(SB), WRAPPER, $MAXSIZE-24; \
|
||||
FUNCDATA $FUNCDATA_ArgsPointerMaps,gcargs_reflectcall<>(SB); \
|
||||
FUNCDATA $FUNCDATA_LocalsPointerMaps,gclocals_reflectcall<>(SB);\
|
||||
/* copy arguments to stack */ \
|
||||
|
|
@ -410,33 +410,33 @@ TEXT runtime·NAME(SB), WRAPPER, $MAXSIZE-24; \
|
|||
REP;MOVSB; \
|
||||
RET
|
||||
|
||||
CALLFN(call16, 16)
|
||||
CALLFN(call32, 32)
|
||||
CALLFN(call64, 64)
|
||||
CALLFN(call128, 128)
|
||||
CALLFN(call256, 256)
|
||||
CALLFN(call512, 512)
|
||||
CALLFN(call1024, 1024)
|
||||
CALLFN(call2048, 2048)
|
||||
CALLFN(call4096, 4096)
|
||||
CALLFN(call8192, 8192)
|
||||
CALLFN(call16384, 16384)
|
||||
CALLFN(call32768, 32768)
|
||||
CALLFN(call65536, 65536)
|
||||
CALLFN(call131072, 131072)
|
||||
CALLFN(call262144, 262144)
|
||||
CALLFN(call524288, 524288)
|
||||
CALLFN(call1048576, 1048576)
|
||||
CALLFN(call2097152, 2097152)
|
||||
CALLFN(call4194304, 4194304)
|
||||
CALLFN(call8388608, 8388608)
|
||||
CALLFN(call16777216, 16777216)
|
||||
CALLFN(call33554432, 33554432)
|
||||
CALLFN(call67108864, 67108864)
|
||||
CALLFN(call134217728, 134217728)
|
||||
CALLFN(call268435456, 268435456)
|
||||
CALLFN(call536870912, 536870912)
|
||||
CALLFN(call1073741824, 1073741824)
|
||||
CALLFN(runtime·call16, 16)
|
||||
CALLFN(runtime·call32, 32)
|
||||
CALLFN(runtime·call64, 64)
|
||||
CALLFN(runtime·call128, 128)
|
||||
CALLFN(runtime·call256, 256)
|
||||
CALLFN(runtime·call512, 512)
|
||||
CALLFN(runtime·call1024, 1024)
|
||||
CALLFN(runtime·call2048, 2048)
|
||||
CALLFN(runtime·call4096, 4096)
|
||||
CALLFN(runtime·call8192, 8192)
|
||||
CALLFN(runtime·call16384, 16384)
|
||||
CALLFN(runtime·call32768, 32768)
|
||||
CALLFN(runtime·call65536, 65536)
|
||||
CALLFN(runtime·call131072, 131072)
|
||||
CALLFN(runtime·call262144, 262144)
|
||||
CALLFN(runtime·call524288, 524288)
|
||||
CALLFN(runtime·call1048576, 1048576)
|
||||
CALLFN(runtime·call2097152, 2097152)
|
||||
CALLFN(runtime·call4194304, 4194304)
|
||||
CALLFN(runtime·call8388608, 8388608)
|
||||
CALLFN(runtime·call16777216, 16777216)
|
||||
CALLFN(runtime·call33554432, 33554432)
|
||||
CALLFN(runtime·call67108864, 67108864)
|
||||
CALLFN(runtime·call134217728, 134217728)
|
||||
CALLFN(runtime·call268435456, 268435456)
|
||||
CALLFN(runtime·call536870912, 536870912)
|
||||
CALLFN(runtime·call1073741824, 1073741824)
|
||||
|
||||
// Return point when leaving stack.
|
||||
//
|
||||
|
|
|
|||
|
|
@ -319,44 +319,44 @@ TEXT runtime·newstackcall(SB), NOSPLIT, $0-20
|
|||
#define DISPATCH(NAME,MAXSIZE) \
|
||||
CMPL CX, $MAXSIZE; \
|
||||
JA 3(PC); \
|
||||
MOVL $runtime·NAME(SB), AX; \
|
||||
MOVL $NAME(SB), AX; \
|
||||
JMP AX
|
||||
// Note: can't just "JMP runtime·NAME(SB)" - bad inlining results.
|
||||
// Note: can't just "JMP NAME(SB)" - bad inlining results.
|
||||
|
||||
TEXT reflect·call(SB), NOSPLIT, $0-20
|
||||
MOVLQZX argsize+8(FP), CX
|
||||
DISPATCH(call16, 16)
|
||||
DISPATCH(call32, 32)
|
||||
DISPATCH(call64, 64)
|
||||
DISPATCH(call128, 128)
|
||||
DISPATCH(call256, 256)
|
||||
DISPATCH(call512, 512)
|
||||
DISPATCH(call1024, 1024)
|
||||
DISPATCH(call2048, 2048)
|
||||
DISPATCH(call4096, 4096)
|
||||
DISPATCH(call8192, 8192)
|
||||
DISPATCH(call16384, 16384)
|
||||
DISPATCH(call32768, 32768)
|
||||
DISPATCH(call65536, 65536)
|
||||
DISPATCH(call131072, 131072)
|
||||
DISPATCH(call262144, 262144)
|
||||
DISPATCH(call524288, 524288)
|
||||
DISPATCH(call1048576, 1048576)
|
||||
DISPATCH(call2097152, 2097152)
|
||||
DISPATCH(call4194304, 4194304)
|
||||
DISPATCH(call8388608, 8388608)
|
||||
DISPATCH(call16777216, 16777216)
|
||||
DISPATCH(call33554432, 33554432)
|
||||
DISPATCH(call67108864, 67108864)
|
||||
DISPATCH(call134217728, 134217728)
|
||||
DISPATCH(call268435456, 268435456)
|
||||
DISPATCH(call536870912, 536870912)
|
||||
DISPATCH(call1073741824, 1073741824)
|
||||
DISPATCH(runtime·call16, 16)
|
||||
DISPATCH(runtime·call32, 32)
|
||||
DISPATCH(runtime·call64, 64)
|
||||
DISPATCH(runtime·call128, 128)
|
||||
DISPATCH(runtime·call256, 256)
|
||||
DISPATCH(runtime·call512, 512)
|
||||
DISPATCH(runtime·call1024, 1024)
|
||||
DISPATCH(runtime·call2048, 2048)
|
||||
DISPATCH(runtime·call4096, 4096)
|
||||
DISPATCH(runtime·call8192, 8192)
|
||||
DISPATCH(runtime·call16384, 16384)
|
||||
DISPATCH(runtime·call32768, 32768)
|
||||
DISPATCH(runtime·call65536, 65536)
|
||||
DISPATCH(runtime·call131072, 131072)
|
||||
DISPATCH(runtime·call262144, 262144)
|
||||
DISPATCH(runtime·call524288, 524288)
|
||||
DISPATCH(runtime·call1048576, 1048576)
|
||||
DISPATCH(runtime·call2097152, 2097152)
|
||||
DISPATCH(runtime·call4194304, 4194304)
|
||||
DISPATCH(runtime·call8388608, 8388608)
|
||||
DISPATCH(runtime·call16777216, 16777216)
|
||||
DISPATCH(runtime·call33554432, 33554432)
|
||||
DISPATCH(runtime·call67108864, 67108864)
|
||||
DISPATCH(runtime·call134217728, 134217728)
|
||||
DISPATCH(runtime·call268435456, 268435456)
|
||||
DISPATCH(runtime·call536870912, 536870912)
|
||||
DISPATCH(runtime·call1073741824, 1073741824)
|
||||
MOVL $runtime·badreflectcall(SB), AX
|
||||
JMP AX
|
||||
|
||||
#define CALLFN(NAME,MAXSIZE) \
|
||||
TEXT runtime·NAME(SB), WRAPPER, $MAXSIZE-16; \
|
||||
TEXT NAME(SB), WRAPPER, $MAXSIZE-16; \
|
||||
/* copy arguments to stack */ \
|
||||
MOVL argptr+4(FP), SI; \
|
||||
MOVL argsize+8(FP), CX; \
|
||||
|
|
@ -377,33 +377,33 @@ TEXT runtime·NAME(SB), WRAPPER, $MAXSIZE-16; \
|
|||
REP;MOVSB; \
|
||||
RET
|
||||
|
||||
CALLFN(call16, 16)
|
||||
CALLFN(call32, 32)
|
||||
CALLFN(call64, 64)
|
||||
CALLFN(call128, 128)
|
||||
CALLFN(call256, 256)
|
||||
CALLFN(call512, 512)
|
||||
CALLFN(call1024, 1024)
|
||||
CALLFN(call2048, 2048)
|
||||
CALLFN(call4096, 4096)
|
||||
CALLFN(call8192, 8192)
|
||||
CALLFN(call16384, 16384)
|
||||
CALLFN(call32768, 32768)
|
||||
CALLFN(call65536, 65536)
|
||||
CALLFN(call131072, 131072)
|
||||
CALLFN(call262144, 262144)
|
||||
CALLFN(call524288, 524288)
|
||||
CALLFN(call1048576, 1048576)
|
||||
CALLFN(call2097152, 2097152)
|
||||
CALLFN(call4194304, 4194304)
|
||||
CALLFN(call8388608, 8388608)
|
||||
CALLFN(call16777216, 16777216)
|
||||
CALLFN(call33554432, 33554432)
|
||||
CALLFN(call67108864, 67108864)
|
||||
CALLFN(call134217728, 134217728)
|
||||
CALLFN(call268435456, 268435456)
|
||||
CALLFN(call536870912, 536870912)
|
||||
CALLFN(call1073741824, 1073741824)
|
||||
CALLFN(runtime·call16, 16)
|
||||
CALLFN(runtime·call32, 32)
|
||||
CALLFN(runtime·call64, 64)
|
||||
CALLFN(runtime·call128, 128)
|
||||
CALLFN(runtime·call256, 256)
|
||||
CALLFN(runtime·call512, 512)
|
||||
CALLFN(runtime·call1024, 1024)
|
||||
CALLFN(runtime·call2048, 2048)
|
||||
CALLFN(runtime·call4096, 4096)
|
||||
CALLFN(runtime·call8192, 8192)
|
||||
CALLFN(runtime·call16384, 16384)
|
||||
CALLFN(runtime·call32768, 32768)
|
||||
CALLFN(runtime·call65536, 65536)
|
||||
CALLFN(runtime·call131072, 131072)
|
||||
CALLFN(runtime·call262144, 262144)
|
||||
CALLFN(runtime·call524288, 524288)
|
||||
CALLFN(runtime·call1048576, 1048576)
|
||||
CALLFN(runtime·call2097152, 2097152)
|
||||
CALLFN(runtime·call4194304, 4194304)
|
||||
CALLFN(runtime·call8388608, 8388608)
|
||||
CALLFN(runtime·call16777216, 16777216)
|
||||
CALLFN(runtime·call33554432, 33554432)
|
||||
CALLFN(runtime·call67108864, 67108864)
|
||||
CALLFN(runtime·call134217728, 134217728)
|
||||
CALLFN(runtime·call268435456, 268435456)
|
||||
CALLFN(runtime·call536870912, 536870912)
|
||||
CALLFN(runtime·call1073741824, 1073741824)
|
||||
|
||||
// Return point when leaving stack.
|
||||
//
|
||||
|
|
|
|||
|
|
@ -332,38 +332,38 @@ TEXT runtime·newstackcall(SB), NOSPLIT, $-4-12
|
|||
#define DISPATCH(NAME,MAXSIZE) \
|
||||
CMP $MAXSIZE, R0; \
|
||||
B.HI 3(PC); \
|
||||
MOVW $runtime·NAME(SB), R1; \
|
||||
MOVW $NAME(SB), R1; \
|
||||
B (R1)
|
||||
|
||||
TEXT reflect·call(SB), NOSPLIT, $-4-16
|
||||
MOVW argsize+8(FP), R0
|
||||
DISPATCH(call16, 16)
|
||||
DISPATCH(call32, 32)
|
||||
DISPATCH(call64, 64)
|
||||
DISPATCH(call128, 128)
|
||||
DISPATCH(call256, 256)
|
||||
DISPATCH(call512, 512)
|
||||
DISPATCH(call1024, 1024)
|
||||
DISPATCH(call2048, 2048)
|
||||
DISPATCH(call4096, 4096)
|
||||
DISPATCH(call8192, 8192)
|
||||
DISPATCH(call16384, 16384)
|
||||
DISPATCH(call32768, 32768)
|
||||
DISPATCH(call65536, 65536)
|
||||
DISPATCH(call131072, 131072)
|
||||
DISPATCH(call262144, 262144)
|
||||
DISPATCH(call524288, 524288)
|
||||
DISPATCH(call1048576, 1048576)
|
||||
DISPATCH(call2097152, 2097152)
|
||||
DISPATCH(call4194304, 4194304)
|
||||
DISPATCH(call8388608, 8388608)
|
||||
DISPATCH(call16777216, 16777216)
|
||||
DISPATCH(call33554432, 33554432)
|
||||
DISPATCH(call67108864, 67108864)
|
||||
DISPATCH(call134217728, 134217728)
|
||||
DISPATCH(call268435456, 268435456)
|
||||
DISPATCH(call536870912, 536870912)
|
||||
DISPATCH(call1073741824, 1073741824)
|
||||
DISPATCH(runtime·call16, 16)
|
||||
DISPATCH(runtime·call32, 32)
|
||||
DISPATCH(runtime·call64, 64)
|
||||
DISPATCH(runtime·call128, 128)
|
||||
DISPATCH(runtime·call256, 256)
|
||||
DISPATCH(runtime·call512, 512)
|
||||
DISPATCH(runtime·call1024, 1024)
|
||||
DISPATCH(runtime·call2048, 2048)
|
||||
DISPATCH(runtime·call4096, 4096)
|
||||
DISPATCH(runtime·call8192, 8192)
|
||||
DISPATCH(runtime·call16384, 16384)
|
||||
DISPATCH(runtime·call32768, 32768)
|
||||
DISPATCH(runtime·call65536, 65536)
|
||||
DISPATCH(runtime·call131072, 131072)
|
||||
DISPATCH(runtime·call262144, 262144)
|
||||
DISPATCH(runtime·call524288, 524288)
|
||||
DISPATCH(runtime·call1048576, 1048576)
|
||||
DISPATCH(runtime·call2097152, 2097152)
|
||||
DISPATCH(runtime·call4194304, 4194304)
|
||||
DISPATCH(runtime·call8388608, 8388608)
|
||||
DISPATCH(runtime·call16777216, 16777216)
|
||||
DISPATCH(runtime·call33554432, 33554432)
|
||||
DISPATCH(runtime·call67108864, 67108864)
|
||||
DISPATCH(runtime·call134217728, 134217728)
|
||||
DISPATCH(runtime·call268435456, 268435456)
|
||||
DISPATCH(runtime·call536870912, 536870912)
|
||||
DISPATCH(runtime·call1073741824, 1073741824)
|
||||
MOVW $runtime·badreflectcall(SB), R1
|
||||
B (R1)
|
||||
|
||||
|
|
@ -380,7 +380,7 @@ DATA gclocals_reflectcall<>+0x04(SB)/4, $0 // 0 locals
|
|||
GLOBL gclocals_reflectcall<>(SB),RODATA,$8
|
||||
|
||||
#define CALLFN(NAME,MAXSIZE) \
|
||||
TEXT runtime·NAME(SB), WRAPPER, $MAXSIZE-16; \
|
||||
TEXT NAME(SB), WRAPPER, $MAXSIZE-16; \
|
||||
FUNCDATA $FUNCDATA_ArgsPointerMaps,gcargs_reflectcall<>(SB); \
|
||||
FUNCDATA $FUNCDATA_LocalsPointerMaps,gclocals_reflectcall<>(SB);\
|
||||
/* copy arguments to stack */ \
|
||||
|
|
@ -413,33 +413,33 @@ TEXT runtime·NAME(SB), WRAPPER, $MAXSIZE-16; \
|
|||
SUB $1, R2, R2; \
|
||||
B -5(PC) \
|
||||
|
||||
CALLFN(call16, 16)
|
||||
CALLFN(call32, 32)
|
||||
CALLFN(call64, 64)
|
||||
CALLFN(call128, 128)
|
||||
CALLFN(call256, 256)
|
||||
CALLFN(call512, 512)
|
||||
CALLFN(call1024, 1024)
|
||||
CALLFN(call2048, 2048)
|
||||
CALLFN(call4096, 4096)
|
||||
CALLFN(call8192, 8192)
|
||||
CALLFN(call16384, 16384)
|
||||
CALLFN(call32768, 32768)
|
||||
CALLFN(call65536, 65536)
|
||||
CALLFN(call131072, 131072)
|
||||
CALLFN(call262144, 262144)
|
||||
CALLFN(call524288, 524288)
|
||||
CALLFN(call1048576, 1048576)
|
||||
CALLFN(call2097152, 2097152)
|
||||
CALLFN(call4194304, 4194304)
|
||||
CALLFN(call8388608, 8388608)
|
||||
CALLFN(call16777216, 16777216)
|
||||
CALLFN(call33554432, 33554432)
|
||||
CALLFN(call67108864, 67108864)
|
||||
CALLFN(call134217728, 134217728)
|
||||
CALLFN(call268435456, 268435456)
|
||||
CALLFN(call536870912, 536870912)
|
||||
CALLFN(call1073741824, 1073741824)
|
||||
CALLFN(runtime·call16, 16)
|
||||
CALLFN(runtime·call32, 32)
|
||||
CALLFN(runtime·call64, 64)
|
||||
CALLFN(runtime·call128, 128)
|
||||
CALLFN(runtime·call256, 256)
|
||||
CALLFN(runtime·call512, 512)
|
||||
CALLFN(runtime·call1024, 1024)
|
||||
CALLFN(runtime·call2048, 2048)
|
||||
CALLFN(runtime·call4096, 4096)
|
||||
CALLFN(runtime·call8192, 8192)
|
||||
CALLFN(runtime·call16384, 16384)
|
||||
CALLFN(runtime·call32768, 32768)
|
||||
CALLFN(runtime·call65536, 65536)
|
||||
CALLFN(runtime·call131072, 131072)
|
||||
CALLFN(runtime·call262144, 262144)
|
||||
CALLFN(runtime·call524288, 524288)
|
||||
CALLFN(runtime·call1048576, 1048576)
|
||||
CALLFN(runtime·call2097152, 2097152)
|
||||
CALLFN(runtime·call4194304, 4194304)
|
||||
CALLFN(runtime·call8388608, 8388608)
|
||||
CALLFN(runtime·call16777216, 16777216)
|
||||
CALLFN(runtime·call33554432, 33554432)
|
||||
CALLFN(runtime·call67108864, 67108864)
|
||||
CALLFN(runtime·call134217728, 134217728)
|
||||
CALLFN(runtime·call268435456, 268435456)
|
||||
CALLFN(runtime·call536870912, 536870912)
|
||||
CALLFN(runtime·call1073741824, 1073741824)
|
||||
|
||||
// Return point when leaving stack.
|
||||
// using frame size $-4 means do not save LR on stack.
|
||||
|
|
|
|||
Loading…
Reference in New Issue