From: Josh Bleecher Snyder Date: Tue, 1 May 2018 06:05:41 +0000 (-0700) Subject: runtime: use staticbytes in intstring for small v X-Git-Tag: go1.11beta1~580 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=2f2e8f9c81d899d8eefb1f2f98ce5c90976c4f61;p=gostls13.git runtime: use staticbytes in intstring for small v Triggers 21 times during make.bash. Change-Id: I7efb34200439256151304bb66cd309913f7c9c9e Reviewed-on: https://go-review.googlesource.com/110557 Run-TryBot: Josh Bleecher Snyder TryBot-Result: Gobot Gobot Reviewed-by: Martin Möhrmann Reviewed-by: Brad Fitzpatrick --- diff --git a/src/runtime/string.go b/src/runtime/string.go index 31518aed70..6e42483b13 100644 --- a/src/runtime/string.go +++ b/src/runtime/string.go @@ -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[:]