]> Cypherpunks.ru repositories - gostls13.git/commit
go/types, types2: store Named instance information separately
authorRobert Findley <rfindley@google.com>
Sat, 7 May 2022 23:26:35 +0000 (19:26 -0400)
committerRobert Findley <rfindley@google.com>
Mon, 6 Jun 2022 15:21:40 +0000 (15:21 +0000)
commit02e69cfa9695f17902ff1806205c26a0d02a684f
tree80e2f4cfbc99e6a2823e7a7bebe82c4d394bcfb9
parent1323b0e8f0c5afb72afe51d8ee3bd5f66c23e353
go/types, types2: store Named instance information separately

Separate instance information into an instance struct, to reduce memory
footprint for non-instance Named types. This may induce a sense of
deja-vu: we had a similar construct in the past that was removed as
unnecessary. With additional new fields being added that only apply to
instances, having a separate struct makes sense again.

Updates #52728

Change-Id: I0bb5982d71c27e6b574bfb4f7b886a6aeb9c5390
Reviewed-on: https://go-review.googlesource.com/c/go/+/404884
Reviewed-by: Robert Griesemer <gri@google.com>
Run-TryBot: Robert Findley <rfindley@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
22 files changed:
src/cmd/compile/internal/types2/decl.go
src/cmd/compile/internal/types2/infer.go
src/cmd/compile/internal/types2/instantiate.go
src/cmd/compile/internal/types2/named.go
src/cmd/compile/internal/types2/predicates.go
src/cmd/compile/internal/types2/sizeof_test.go
src/cmd/compile/internal/types2/subst.go
src/cmd/compile/internal/types2/typestring.go
src/cmd/compile/internal/types2/typexpr.go
src/cmd/compile/internal/types2/unify.go
src/cmd/compile/internal/types2/validtype.go
src/go/types/decl.go
src/go/types/infer.go
src/go/types/instantiate.go
src/go/types/named.go
src/go/types/predicates.go
src/go/types/sizeof_test.go
src/go/types/subst.go
src/go/types/typestring.go
src/go/types/typexpr.go
src/go/types/unify.go
src/go/types/validtype.go