]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: avoid an assignment of n.Type in walk
authorJosh Bleecher Snyder <josharian@gmail.com>
Fri, 24 Mar 2017 20:30:19 +0000 (13:30 -0700)
committerJosh Bleecher Snyder <josharian@gmail.com>
Fri, 24 Mar 2017 22:19:02 +0000 (22:19 +0000)
commit26be4b9113e9c4f14399388652e961137658b6cb
treeca7747f7e0eabd119210f17798aca85c9667a115
parent5e954047bcb77b219629676db3e5d057bed48360
cmd/compile: avoid an assignment of n.Type in walk

In the future, walk will probably run concurrently
with SSA construction. It is possible for walk
to be walking a function node that is referred
to by another function undergoing SSA construction.
In that case, this particular assignment to n.Type
is race-y.

This assignment is also not necessary;
evconst does not change the type of n.
Both arguments to evconst must have the same type,
and at the end of evconst, n is replaced with n.Left.

Remove the assignment, and add a check to ensure
that its removal remains correct.

Updates #15756

Change-Id: Id95faaff42d5abd76be56445d1d3e285775de8bf
Reviewed-on: https://go-review.googlesource.com/38609
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
src/cmd/compile/internal/gc/walk.go