]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: towards simpler and faster lexing: always use getr
authorRobert Griesemer <gri@golang.org>
Tue, 23 Feb 2016 07:07:30 +0000 (23:07 -0800)
committerRobert Griesemer <gri@golang.org>
Wed, 24 Feb 2016 04:36:25 +0000 (04:36 +0000)
commit539aa05a643e1e53d050ee94b1e6d2e8607ea7ac
treec0d767b13baca01f58182111ae0ebf078b534c98
parent814978a013e0a11512b5f9fc103e522e506db113
cmd/compile: towards simpler and faster lexing: always use getr

Always reading runes (rather than bytes) has negligible overhead
(a simple if at the moment - it can be eliminated eventually) but
simplifies the lexer logic and opens up the door for speedups.
In the process remove many int conversions that are now not needed
anymore.

Also, because identifiers are now more easily recognized, remove
talph label and move identifier lexing "in place".

Also, instead of accepting all chars < 0x80 and then check for
"frogs", only permit valid characters in the first place. Removes
an extra call for common simple tokens and leads to simpler logic.

`time go build -a net/http` (best of 5 runs) seems 1% faster.
Assuming this is in the noise, there is no noticeable performance
degradation with this change.

Change-Id: I3454c9bf8b91808188cf7a5f559341749da9a1eb
Reviewed-on: https://go-review.googlesource.com/19847
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Run-TryBot: Robert Griesemer <gri@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
src/cmd/compile/internal/gc/lex.go
test/fixedbugs/issue11610.go