From 2f2e8f9c81d899d8eefb1f2f98ce5c90976c4f61 Mon Sep 17 00:00:00 2001 From: Josh Bleecher Snyder Date: Mon, 30 Apr 2018 23:05:41 -0700 Subject: [PATCH] runtime: use staticbytes in intstring for small v MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 --- src/runtime/string.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) 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[:] -- 2.50.0