aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMatthew Dempsky <mdempsky@google.com>2016-10-13 02:20:51 -0700
committerMatthew Dempsky <mdempsky@google.com>2016-10-13 09:37:17 +0000
commitdc46b882d583a32c7de37a7cfa8b423eb58d0296 (patch)
tree5762f42ce85e21f055de99aeb9db68a65acfdd4d /src
parent01bf5cc21912ff8642171d8255a7fff87f1da00b (diff)
downloadgo-dc46b882d583a32c7de37a7cfa8b423eb58d0296.tar.xz
cmd/compile: stop allocating Name and Param for ODCLFIELD
name old time/op new time/op delta Template 349ms ± 5% 339ms ± 7% -2.89% (p=0.000 n=27+29) Unicode 187ms ±11% 182ms ±11% -2.77% (p=0.039 n=29+29) GoTypes 1.05s ± 3% 1.04s ± 4% ~ (p=0.103 n=29+29) Compiler 4.57s ± 3% 4.55s ± 3% ~ (p=0.202 n=30+29) name old user-ns/op new user-ns/op delta Template 510M ±21% 521M ±18% ~ (p=0.281 n=30+29) Unicode 303M ±34% 300M ±28% ~ (p=0.592 n=30+30) GoTypes 1.52G ± 9% 1.50G ± 9% ~ (p=0.314 n=30+30) Compiler 6.50G ± 5% 6.44G ± 5% ~ (p=0.362 n=29+30) name old alloc/op new alloc/op delta Template 44.7MB ± 0% 44.0MB ± 0% -1.63% (p=0.000 n=28+28) Unicode 34.6MB ± 0% 34.5MB ± 0% -0.18% (p=0.000 n=30+29) GoTypes 125MB ± 0% 123MB ± 0% -1.14% (p=0.000 n=30+30) Compiler 515MB ± 0% 513MB ± 0% -0.52% (p=0.000 n=30+30) name old allocs/op new allocs/op delta Template 427k ± 0% 416k ± 0% -2.66% (p=0.000 n=30+30) Unicode 323k ± 0% 322k ± 0% -0.28% (p=0.000 n=30+30) GoTypes 1.21M ± 0% 1.18M ± 0% -1.84% (p=0.000 n=29+30) Compiler 4.40M ± 0% 4.36M ± 0% -0.95% (p=0.000 n=30+30) Passes toolstash -cmp. Change-Id: Ifee7d012b1cddadda01450e027eef8d4ecf5581f Reviewed-on: https://go-review.googlesource.com/30980 Run-TryBot: Matthew Dempsky <mdempsky@google.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
Diffstat (limited to 'src')
-rw-r--r--src/cmd/compile/internal/gc/subr.go7
-rw-r--r--src/cmd/compile/internal/gc/syntax.go4
2 files changed, 2 insertions, 9 deletions
diff --git a/src/cmd/compile/internal/gc/subr.go b/src/cmd/compile/internal/gc/subr.go
index 8fb5be41f7..acd2b299c9 100644
--- a/src/cmd/compile/internal/gc/subr.go
+++ b/src/cmd/compile/internal/gc/subr.go
@@ -367,13 +367,6 @@ func nod(op Op, nleft *Node, nright *Node) *Node {
n.Name.Param = new(Param)
case OLABEL, OPACK:
n.Name = new(Name)
- case ODCLFIELD:
- if nleft != nil {
- n.Name = nleft.Name
- } else {
- n.Name = new(Name)
- n.Name.Param = new(Param)
- }
}
if n.Name != nil {
n.Name.Curfn = Curfn
diff --git a/src/cmd/compile/internal/gc/syntax.go b/src/cmd/compile/internal/gc/syntax.go
index 0f05f8c2d8..b0c5204ee3 100644
--- a/src/cmd/compile/internal/gc/syntax.go
+++ b/src/cmd/compile/internal/gc/syntax.go
@@ -165,7 +165,7 @@ func (n *Node) SetOpt(x interface{}) {
n.E = x
}
-// Name holds Node fields used only by named nodes (ONAME, OPACK, OLABEL, ODCLFIELD, some OLITERAL).
+// Name holds Node fields used only by named nodes (ONAME, OPACK, OLABEL, some OLITERAL).
type Name struct {
Pack *Node // real package for import . names
Pkg *Pkg // pkg for OPACK nodes
@@ -173,7 +173,7 @@ type Name struct {
Inlvar *Node // ONAME substitute while inlining (could move to Param?)
Defn *Node // initializing assignment
Curfn *Node // function for local variables
- Param *Param // additional fields for ONAME, ODCLFIELD
+ Param *Param // additional fields for ONAME
Decldepth int32 // declaration loop depth, increased for every loop or label
Vargen int32 // unique name for ONAME within a function. Function outputs are numbered starting at one.
Iota int32 // value if this name is iota