From 4f3604d3f2b25905907742f48cd0feeec5b458e1 Mon Sep 17 00:00:00 2001 From: Austin Clements Date: Thu, 8 Nov 2018 10:34:19 -0500 Subject: runtime, reflect: access runtime.reflectcall directly Currently, package runtime contains the definition of reflect.call, even though it's just a jump to runtime.reflectcall. This "push" symbol is confusing, since it's not clear where the definition of reflect.call comes from when you're in the reflect package. Replace this with a "pull" symbol: the runtime now defines only runtime.reflectcall and package reflect uses a go:linkname to access this symbol directly. This makes it clear where reflect.call is coming from without any spooky action at a distance and eliminates all of the definitions of reflect.call in the runtime. Change-Id: I3ec73cd394efe9df8d3061a57c73aece2e7048dd Reviewed-on: https://go-review.googlesource.com/c/148657 Run-TryBot: Austin Clements TryBot-Result: Gobot Gobot Reviewed-by: Brad Fitzpatrick Reviewed-by: Keith Randall --- src/runtime/asm_arm64.s | 3 --- 1 file changed, 3 deletions(-) (limited to 'src/runtime/asm_arm64.s') diff --git a/src/runtime/asm_arm64.s b/src/runtime/asm_arm64.s index 6a6a699241..2248cec132 100644 --- a/src/runtime/asm_arm64.s +++ b/src/runtime/asm_arm64.s @@ -330,9 +330,6 @@ TEXT runtime·morestack_noctxt(SB),NOSPLIT|NOFRAME,$0-0 B (R27) // Note: can't just "B NAME(SB)" - bad inlining results. -TEXT reflect·call(SB), NOSPLIT, $0-0 - B ·reflectcall(SB) - TEXT ·reflectcall(SB), NOSPLIT|NOFRAME, $0-32 MOVWU argsize+24(FP), R16 DISPATCH(runtime·call32, 32) -- cgit v1.3