]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: merge string1.go into string.go
authorNodir Turakulov <nodir@google.com>
Fri, 16 Oct 2015 06:34:56 +0000 (23:34 -0700)
committerBrad Fitzpatrick <bradfitz@golang.org>
Fri, 16 Oct 2015 15:46:02 +0000 (15:46 +0000)
string1.go contents are appended to string.go as is

Updates #12952

Change-Id: I30083ba7fdd362d4421e964a494c76ca865bedc2
Reviewed-on: https://go-review.googlesource.com/15951
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

src/runtime/string.go
src/runtime/string1.go [deleted file]

index a5851b7abcdf2854837eaee67781e8587e86b2cf..0b31173b3089a4e54b5357e4467df7d1c6573adc 100644 (file)
@@ -360,3 +360,63 @@ func atoi(s string) int {
        }
        return n
 }
+
+//go:nosplit
+func findnull(s *byte) int {
+       if s == nil {
+               return 0
+       }
+       p := (*[_MaxMem/2 - 1]byte)(unsafe.Pointer(s))
+       l := 0
+       for p[l] != 0 {
+               l++
+       }
+       return l
+}
+
+func findnullw(s *uint16) int {
+       if s == nil {
+               return 0
+       }
+       p := (*[_MaxMem/2/2 - 1]uint16)(unsafe.Pointer(s))
+       l := 0
+       for p[l] != 0 {
+               l++
+       }
+       return l
+}
+
+var maxstring uintptr = 256 // a hint for print
+
+//go:nosplit
+func gostringnocopy(str *byte) string {
+       ss := stringStruct{str: unsafe.Pointer(str), len: findnull(str)}
+       s := *(*string)(unsafe.Pointer(&ss))
+       for {
+               ms := maxstring
+               if uintptr(len(s)) <= ms || casuintptr(&maxstring, ms, uintptr(len(s))) {
+                       break
+               }
+       }
+       return s
+}
+
+func gostringw(strw *uint16) string {
+       var buf [8]byte
+       str := (*[_MaxMem/2/2 - 1]uint16)(unsafe.Pointer(strw))
+       n1 := 0
+       for i := 0; str[i] != 0; i++ {
+               n1 += runetochar(buf[:], rune(str[i]))
+       }
+       s, b := rawstring(n1 + 4)
+       n2 := 0
+       for i := 0; str[i] != 0; i++ {
+               // check for race
+               if n2 >= n1 {
+                       break
+               }
+               n2 += runetochar(b[n2:], rune(str[i]))
+       }
+       b[n2] = 0 // for luck
+       return s[:n2]
+}
diff --git a/src/runtime/string1.go b/src/runtime/string1.go
deleted file mode 100644 (file)
index 4bfa3d9..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package runtime
-
-import "unsafe"
-
-//go:nosplit
-func findnull(s *byte) int {
-       if s == nil {
-               return 0
-       }
-       p := (*[_MaxMem/2 - 1]byte)(unsafe.Pointer(s))
-       l := 0
-       for p[l] != 0 {
-               l++
-       }
-       return l
-}
-
-func findnullw(s *uint16) int {
-       if s == nil {
-               return 0
-       }
-       p := (*[_MaxMem/2/2 - 1]uint16)(unsafe.Pointer(s))
-       l := 0
-       for p[l] != 0 {
-               l++
-       }
-       return l
-}
-
-var maxstring uintptr = 256 // a hint for print
-
-//go:nosplit
-func gostringnocopy(str *byte) string {
-       ss := stringStruct{str: unsafe.Pointer(str), len: findnull(str)}
-       s := *(*string)(unsafe.Pointer(&ss))
-       for {
-               ms := maxstring
-               if uintptr(len(s)) <= ms || casuintptr(&maxstring, ms, uintptr(len(s))) {
-                       break
-               }
-       }
-       return s
-}
-
-func gostringw(strw *uint16) string {
-       var buf [8]byte
-       str := (*[_MaxMem/2/2 - 1]uint16)(unsafe.Pointer(strw))
-       n1 := 0
-       for i := 0; str[i] != 0; i++ {
-               n1 += runetochar(buf[:], rune(str[i]))
-       }
-       s, b := rawstring(n1 + 4)
-       n2 := 0
-       for i := 0; str[i] != 0; i++ {
-               // check for race
-               if n2 >= n1 {
-                       break
-               }
-               n2 += runetochar(b[n2:], rune(str[i]))
-       }
-       b[n2] = 0 // for luck
-       return s[:n2]
-}