aboutsummaryrefslogtreecommitdiff
path: root/src/encoding/gob
diff options
context:
space:
mode:
authorDaniel Martí <mvdan@mvdan.cc>2023-03-25 11:59:17 +0000
committerDaniel Martí <mvdan@mvdan.cc>2023-03-29 23:47:35 +0000
commit72013c47009d99c5ded7407bf80d90bd8ba95d3e (patch)
tree2c80d902a33c4c1efad3243d9bed32f1e48b4245 /src/encoding/gob
parent4d296bcbc25acb14ef603c6824113758d74b4a31 (diff)
downloadgo-72013c47009d99c5ded7407bf80d90bd8ba95d3e.tar.xz
encoding/gob: reuse calls to TypeOf for wireType
After the previous commit, both calls use the non-pointer type, so we can deduplicate. No noticeable difference in init cost. Change-Id: I0f0fb91d42655787cb58b4442ad3da4194560af4 Reviewed-on: https://go-review.googlesource.com/c/go/+/479399 Reviewed-by: Matthew Dempsky <mdempsky@google.com> Run-TryBot: Daniel Martí <mvdan@mvdan.cc> Reviewed-by: Ian Lance Taylor <iant@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Rob Pike <r@golang.org>
Diffstat (limited to 'src/encoding/gob')
-rw-r--r--src/encoding/gob/type.go6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/encoding/gob/type.go b/src/encoding/gob/type.go
index f8b7b24db7..efaed68749 100644
--- a/src/encoding/gob/type.go
+++ b/src/encoding/gob/type.go
@@ -109,6 +109,8 @@ var (
binaryUnmarshalerInterfaceType = reflect.TypeOf((*encoding.BinaryUnmarshaler)(nil)).Elem()
textMarshalerInterfaceType = reflect.TypeOf((*encoding.TextMarshaler)(nil)).Elem()
textUnmarshalerInterfaceType = reflect.TypeOf((*encoding.TextUnmarshaler)(nil)).Elem()
+
+ wireTypeType = reflect.TypeOf((*wireType)(nil)).Elem()
)
// implementsInterface reports whether the type implements the
@@ -262,7 +264,7 @@ var (
)
// Predefined because it's needed by the Decoder
-var tWireType = mustGetTypeInfo(reflect.TypeOf((*wireType)(nil)).Elem()).id
+var tWireType = mustGetTypeInfo(wireTypeType).id
var wireTypeUserInfo *userTypeInfo // userTypeInfo of wireType
func init() {
@@ -284,7 +286,7 @@ func init() {
}
idToType = idToType[:firstUserId]
registerBasics()
- wireTypeUserInfo = userType(reflect.TypeOf((*wireType)(nil)).Elem())
+ wireTypeUserInfo = userType(wireTypeType)
}
// Array type