]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: faster parameter parsing with no OKEY nodes
authorRobert Griesemer <gri@golang.org>
Wed, 16 Mar 2016 02:06:00 +0000 (19:06 -0700)
committerRobert Griesemer <gri@golang.org>
Wed, 16 Mar 2016 18:54:31 +0000 (18:54 +0000)
commitbb3b10214d2d3a4403144d2edd420c27ca1a09e4
tree3bb0b23fe1a7e33a4f7ccea2c4352e9ad76a0d16
parented73efbb746c9ca361071bdd0cd825b2b9724ec9
cmd/compile: faster parameter parsing with no OKEY nodes

Step 2 of stream-lining parameter parsing

- do parameter validity checks in parser
- two passes instead of multiple (and theoretically quadratic) passes
  when checking parameters
- removes the need for OKEY and some ONONAME nodes in those passes

This removes allocation of ~123K OKEY (incl. some ONONAME) nodes
out of a total of ~10M allocated nodes when running make.bash, or
a reduction of the number of alloacted nodes by ~1.2%.

Change-Id: I4a8ec578d0ee2a7b99892ac6b92e56f8e0415f03
Reviewed-on: https://go-review.googlesource.com/20748
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Run-TryBot: Robert Griesemer <gri@golang.org>
src/cmd/compile/internal/gc/dcl.go
src/cmd/compile/internal/gc/fmt.go
src/cmd/compile/internal/gc/parser.go
test/fixedbugs/bug388.go