Skip to content

Commit

Permalink
runtime: make concatstring{2,3,4,5} consistent w/ compiler's use
Browse files Browse the repository at this point in the history
Internally the compiler uses a0,a1,a3 string, not [3]string,
and this lead to different parameter passing (memory, versus registers)
which of course did not work.

Updates #40724.

Change-Id: I1dbf479b88134559ba54b4b00a042b9a0fd128b8
Reviewed-on: https://go-review.googlesource.com/c/go/+/306910
Trust: David Chase <[email protected]>
Run-TryBot: David Chase <[email protected]>
TryBot-Result: Go Bot <[email protected]>
Reviewed-by: Than McIntosh <[email protected]>
  • Loading branch information
dr2chase committed Apr 2, 2021
1 parent 41cf18e commit 35a8bbc
Showing 1 changed file with 8 additions and 8 deletions.
16 changes: 8 additions & 8 deletions src/runtime/string.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,20 +55,20 @@ func concatstrings(buf *tmpBuf, a []string) string {
return s
}

func concatstring2(buf *tmpBuf, a [2]string) string {
return concatstrings(buf, a[:])
func concatstring2(buf *tmpBuf, a0, a1 string) string {
return concatstrings(buf, []string{a0, a1})
}

func concatstring3(buf *tmpBuf, a [3]string) string {
return concatstrings(buf, a[:])
func concatstring3(buf *tmpBuf, a0, a1, a2 string) string {
return concatstrings(buf, []string{a0, a1, a2})
}

func concatstring4(buf *tmpBuf, a [4]string) string {
return concatstrings(buf, a[:])
func concatstring4(buf *tmpBuf, a0, a1, a2, a3 string) string {
return concatstrings(buf, []string{a0, a1, a2, a3})
}

func concatstring5(buf *tmpBuf, a [5]string) string {
return concatstrings(buf, a[:])
func concatstring5(buf *tmpBuf, a0, a1, a2, a3, a4 string) string {
return concatstrings(buf, []string{a0, a1, a2, a3, a4})
}

// slicebytetostring converts a byte slice to a string.
Expand Down

0 comments on commit 35a8bbc

Please sign in to comment.