]> Cypherpunks repositories - gostls13.git/commitdiff
encoding/gob: reuse calls to TypeOf for wireType
authorDaniel Martí <mvdan@mvdan.cc>
Sat, 25 Mar 2023 11:59:17 +0000 (11:59 +0000)
committerDaniel Martí <mvdan@mvdan.cc>
Wed, 29 Mar 2023 23:47:35 +0000 (23:47 +0000)
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>
src/encoding/gob/type.go

index f8b7b24db794fc2d9476e00861e05650aed36c60..efaed6874990be94941783fa187b16a7ca31ce14 100644 (file)
@@ -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