diff options
author | Austin Clements <austin@google.com> | 2018-11-08 10:34:19 -0500 |
---|---|---|
committer | Austin Clements <austin@google.com> | 2018-11-12 20:27:14 +0000 |
commit | 4f3604d3f2b25905907742f48cd0feeec5b458e1 (patch) | |
tree | 393a6f20d5d07b39e23eb547bb767c1b9aceb5ca /src/runtime/asm_wasm.s | |
parent | f58b02a29c395b5ec28bb548b1fd3ca18e2b3a4f (diff) | |
download | go-4f3604d3f2b25905907742f48cd0feeec5b458e1.tar.gz go-4f3604d3f2b25905907742f48cd0feeec5b458e1.zip |
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 <austin@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
Diffstat (limited to 'src/runtime/asm_wasm.s')
-rw-r--r-- | src/runtime/asm_wasm.s | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/src/runtime/asm_wasm.s b/src/runtime/asm_wasm.s index baf840d0cf..374b9f73db 100644 --- a/src/runtime/asm_wasm.s +++ b/src/runtime/asm_wasm.s @@ -293,9 +293,6 @@ TEXT ·cgocallback_gofunc(SB), NOSPLIT, $16-32 JMP NAME(SB); \ End -TEXT reflect·call(SB), NOSPLIT, $0-0 - JMP ·reflectcall(SB) - TEXT ·reflectcall(SB), NOSPLIT, $0-32 I64Load fn+8(FP) I64Eqz |