From 35a8bbc9eaf876ee625d33401081f74a7c4e08f8 Mon Sep 17 00:00:00 2001 From: David Chase Date: Fri, 2 Apr 2021 15:51:45 -0400 Subject: [PATCH] runtime: make concatstring{2,3,4,5} consistent w/ compiler's use 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 Run-TryBot: David Chase TryBot-Result: Go Bot Reviewed-by: Than McIntosh --- src/runtime/string.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/runtime/string.go b/src/runtime/string.go index 9a601f00946ca4..d6030a1dca433b 100644 --- a/src/runtime/string.go +++ b/src/runtime/string.go @@ -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.