From: Keith Randall Date: Wed, 3 Jun 2020 17:07:09 +0000 (+0000) Subject: Revert "cmd/compile: improve equality algs for arrays of interfaces" X-Git-Tag: go1.15beta1~56 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=f98b9ae07c512f824fc0327eb8b0aca0847ecdb8;p=gostls13.git 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 TryBot-Result: Gobot Gobot Reviewed-by: Matthew Dempsky --- diff --git a/src/cmd/compile/internal/gc/alg.go b/src/cmd/compile/internal/gc/alg.go index b55109bbbc..ecbed1a3c9 100644 --- a/src/cmd/compile/internal/gc/alg.go +++ b/src/cmd/compile/internal/gc/alg.go @@ -591,24 +591,6 @@ func geneq(t *types.Type) *obj.LSym { } 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).