]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: use staticbytes in intstring for small v
authorJosh Bleecher Snyder <josharian@gmail.com>
Tue, 1 May 2018 06:05:41 +0000 (23:05 -0700)
committerJosh Bleecher Snyder <josharian@gmail.com>
Tue, 1 May 2018 18:03:57 +0000 (18:03 +0000)
Triggers 21 times during make.bash.

Change-Id: I7efb34200439256151304bb66cd309913f7c9c9e
Reviewed-on: https://go-review.googlesource.com/110557
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Martin Möhrmann <moehrmann@google.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
src/runtime/string.go

index 31518aed70789ca4286c972b975c82f8b9abe2d6..6e42483b13d67aeb05569dd223e72a99d14d3402 100644 (file)
@@ -229,8 +229,13 @@ func stringStructOf(sp *string) *stringStruct {
        return (*stringStruct)(unsafe.Pointer(sp))
 }
 
-func intstring(buf *[4]byte, v int64) string {
-       var s string
+func intstring(buf *[4]byte, v int64) (s string) {
+       if v >= 0 && v < runeSelf {
+               stringStructOf(&s).str = unsafe.Pointer(&staticbytes[v])
+               stringStructOf(&s).len = 1
+               return
+       }
+
        var b []byte
        if buf != nil {
                b = buf[:]