1
0
mirror of https://github.com/golang/go synced 2024-11-24 12:40:12 -07:00

cmd/compile: fix fieldtrack experiment

The ODOTPTRs introduced in CL #19814 don't have field names,
just offsets.  The fieldtrack experiment crashes when
examining them.  Instead, just ignore them.  We'll never track
these fields anyway.

It would be nice to have the runtime type struct build in the
compiler (like we do sudog, for example) so we could use its
fieldnames.  Doesn't seem worth it just for this CL.

Change-Id: I5e75024f5a8333eb7439543b3f466ea40213a1b9
Reviewed-on: https://go-review.googlesource.com/20157
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
Keith Randall 2016-03-02 20:54:41 -08:00
parent 868fb9ff1d
commit 71d13a8c01

View File

@ -3763,6 +3763,11 @@ func usefield(n *Node) {
case ODOT, ODOTPTR:
break
}
if n.Right == nil {
// No field name. This DOTPTR was built by the compiler for access
// to runtime data structures. Ignore.
return
}
t := n.Left.Type
if Isptr[t.Etype] {