]> Cypherpunks repositories - gostls13.git/commit
runtime: implement string ops in Go
authorKeith Randall <khr@golang.org>
Tue, 17 Jun 2014 06:03:03 +0000 (23:03 -0700)
committerKeith Randall <khr@golang.org>
Tue, 17 Jun 2014 06:03:03 +0000 (23:03 -0700)
commit61dca94e107170d2ff3beb13bb9fa5ce49d8d6fd
tree83dadbcc4200dbb0e014f366cf07302a25011ed3
parentb36ed9056ff57c04c34240f2dc6b1bb59e84d0c7
runtime: implement string ops in Go

Also implement go:nosplit annotation.  Not really needed
for now, but we'll definitely need it for other conversions.

benchmark                 old ns/op     new ns/op     delta
BenchmarkRuneIterate      534           474           -11.24%
BenchmarkRuneIterate2     535           470           -12.15%

LGTM=bradfitz
R=golang-codereviews, dave, bradfitz, minux
CC=golang-codereviews
https://golang.org/cl/93380044
21 files changed:
src/cmd/gc/fmt.c
src/cmd/gc/go.h
src/cmd/gc/go.y
src/cmd/gc/lex.c
src/cmd/gc/pgen.c
src/cmd/gc/y.tab.c
src/pkg/runtime/asm_386.s
src/pkg/runtime/asm_amd64.s
src/pkg/runtime/asm_amd64p32.s
src/pkg/runtime/asm_arm.s
src/pkg/runtime/error.go
src/pkg/runtime/race.go
src/pkg/runtime/race0.go [new file with mode: 0644]
src/pkg/runtime/rune.c [deleted file]
src/pkg/runtime/rune.go [new file with mode: 0644]
src/pkg/runtime/string.c [new file with mode: 0644]
src/pkg/runtime/string.go [new file with mode: 0644]
src/pkg/runtime/string.goc [deleted file]
src/pkg/runtime/string_test.go
src/pkg/runtime/stubs.go [new file with mode: 0644]
src/pkg/runtime/stubs.goc [new file with mode: 0644]