]> Cypherpunks.ru repositories - gostls13.git/commit
cmd/compile: use cache in front of type assert runtime call
authorKeith Randall <khr@golang.org>
Mon, 18 Sep 2023 20:31:49 +0000 (13:31 -0700)
committerKeith Randall <khr@golang.org>
Fri, 6 Oct 2023 17:02:53 +0000 (17:02 +0000)
commitcbcf8efa5f749b4e5bceda8682070cd9cf84bee5
tree0e8f56257343458b5ee320a146f27ed001d9fbf8
parentb455e239aeeeb1d33eaa34e62c397f3408245a0c
cmd/compile: use cache in front of type assert runtime call

That way we don't need to call into the runtime for every
type assertion (to an interface type).

name           old time/op  new time/op  delta
TypeAssert-24  3.78ns ± 3%  1.00ns ± 1%  -73.53%  (p=0.000 n=10+8)

Change-Id: I0ba308aaf0f24a5495b4e13c814d35af0c58bfde
Reviewed-on: https://go-review.googlesource.com/c/go/+/529316
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Keith Randall <khr@google.com>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com>
src/cmd/compile/internal/ssagen/ssa.go
src/cmd/compile/internal/test/iface_test.go
src/cmd/compile/internal/walk/expr.go
src/internal/abi/switch.go
src/runtime/iface.go
test/codegen/ifaces.go
test/codegen/switch.go