Revert "cmd/compile: improve equality algs for arrays of interfaces"
This reverts commit 7eab9506c92562fe49861597e7bf1fcb28f2fd40.
Reason for revert: Undoing to get back to semantics discussed in #8606.
Change-Id: If0cd7518c10c37a81fdbb4ae112239e04c0b1448
Reviewed-on: https://go-review.googlesource.com/c/go/+/236278
Run-TryBot: Keith Randall <khr@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
diff --git a/src/cmd/compile/internal/gc/alg.go b/src/cmd/compile/internal/gc/alg.go
index b55109b..ecbed1a 100644
--- a/src/cmd/compile/internal/gc/alg.go
+++ b/src/cmd/compile/internal/gc/alg.go
@@ -591,24 +591,6 @@
}
switch t.Elem().Etype {
- case TINTER:
- // Do two loops. First, check that all the types match (cheap).
- // Second, check that all the data match (expensive).
- // TODO: when the array size is small, unroll the tab match checks.
- checkAll(3, func(pi, qi *Node) *Node {
- // Compare types.
- pi = typecheck(pi, ctxExpr)
- qi = typecheck(qi, ctxExpr)
- eqtab, _ := eqinterface(pi, qi)
- return eqtab
- })
- checkAll(1, func(pi, qi *Node) *Node {
- // Compare data.
- pi = typecheck(pi, ctxExpr)
- qi = typecheck(qi, ctxExpr)
- _, eqdata := eqinterface(pi, qi)
- return eqdata
- })
case TSTRING:
// Do two loops. First, check that all the lengths match (cheap).
// Second, check that all the contents match (expensive).