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
diff --git a/src/pkg/runtime/race.go b/src/pkg/runtime/race.go
index 2a9124d..2fe5240 100644
--- a/src/pkg/runtime/race.go
+++ b/src/pkg/runtime/race.go
@@ -29,3 +29,6 @@
func RaceSemacquire(s *uint32)
func RaceSemrelease(s *uint32)
+
+// private interface for the runtime
+const raceenabled = true