]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: intrinsify slicebytetostringtmp when not instrumenting
authorMartin Möhrmann <martisch@uos.de>
Sat, 10 Sep 2016 20:44:00 +0000 (22:44 +0200)
committerMartin Möhrmann <martisch@uos.de>
Wed, 14 Sep 2016 21:58:14 +0000 (21:58 +0000)
commit150de948eeceac0ace02a0f93a9a7a1f7421d744
tree8888a2484e6817a6db428f27a3cac9ffb130d16c
parent1c5ac0827d2d0d2f5fb3b7f2b34b37e170beff1d
cmd/compile: intrinsify slicebytetostringtmp when not instrumenting

when not instrumenting:
- Intrinsify uses of slicebytetostringtmp within the runtime package
  in the ssa backend.
- Pass OARRAYBYTESTRTMP nodes to the compiler backends for lowering
  instead of generating calls to slicebytetostringtmp.

name                    old time/op  new time/op  delta
ConcatStringAndBytes-4  27.9ns ± 2%  24.7ns ± 2%  -11.52%  (p=0.000 n=43+43)

Fixes #17044

Change-Id: I51ce9c3b93284ce526edd0234f094e98580faf2d
Reviewed-on: https://go-review.googlesource.com/29017
Run-TryBot: Martin Möhrmann <martisch@uos.de>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
src/cmd/compile/internal/gc/cgen.go
src/cmd/compile/internal/gc/ssa.go
src/cmd/compile/internal/gc/walk.go
src/runtime/string.go
src/runtime/string_test.go