mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
cmd/compile: use bufio.Reader directly in lexer
Removes an intermediate layer of functions that was clogging up a corner of the compiler's profile graph. I can't measure a performance improvement running a large build like jujud, but the profile reports less total time spent in gc.(*lexer).getr. Change-Id: I3000585cfcb0f9729d3a3859e9023690a6528591 Reviewed-on: https://go-review.googlesource.com/20565 Reviewed-by: Robert Griesemer <gri@golang.org> Run-TryBot: David Crawshaw <crawshaw@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
parent
cc158403d6
commit
5aa5db7593
6 changed files with 79 additions and 109 deletions
|
|
@ -129,18 +129,6 @@ func Bgetc(b *Biobuf) int {
|
|||
return int(c)
|
||||
}
|
||||
|
||||
func Bgetrune(b *Biobuf) int {
|
||||
r, _, err := b.r.ReadRune()
|
||||
if err != nil {
|
||||
return -1
|
||||
}
|
||||
return int(r)
|
||||
}
|
||||
|
||||
func Bungetrune(b *Biobuf) {
|
||||
b.r.UnreadRune()
|
||||
}
|
||||
|
||||
func (b *Biobuf) Read(p []byte) (int, error) {
|
||||
return b.r.Read(p)
|
||||
}
|
||||
|
|
@ -158,17 +146,6 @@ func Brdline(b *Biobuf, delim int) string {
|
|||
return string(s)
|
||||
}
|
||||
|
||||
func Brdstr(b *Biobuf, delim int, cut int) string {
|
||||
s, err := b.r.ReadString(byte(delim))
|
||||
if err != nil {
|
||||
log.Fatalf("reading input: %v", err)
|
||||
}
|
||||
if len(s) > 0 && cut > 0 {
|
||||
s = s[:len(s)-1]
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
||||
func Blinelen(b *Biobuf) int {
|
||||
return b.linelen
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue