Commit 98a80b95 authored by Rob Pike's avatar Rob Pike

runtime: use correct types for maxstring and concatstring

Updates #6046.
This CL just does maxstring and concatstring. There are other functions
to fix but doing them a few at a time will help isolate any (unlikely)
breakages these changes bring up in architectures I can't test
myself.

R=golang-dev, dave, iant
CC=golang-dev
https://golang.org/cl/12519044
parent ad119b9c
......@@ -350,8 +350,6 @@ runtime·printpointer(void *p)
void
runtime·printstring(String v)
{
extern uint32 runtime·maxstring;
if(v.len > runtime·maxstring) {
gwrite("[string too long]", 17);
return;
......
......@@ -706,7 +706,7 @@ extern int8* runtime·goos;
extern int32 runtime·ncpu;
extern bool runtime·iscgo;
extern void (*runtime·sysargs)(int32, uint8**);
extern uint32 runtime·maxstring;
extern uintptr runtime·maxstring;
extern uint32 runtime·Hchansize;
extern uint32 runtime·cpuid_ecx;
extern uint32 runtime·cpuid_edx;
......
......@@ -35,13 +35,13 @@ runtime·findnullw(uint16 *s)
return l;
}
uint32 runtime·maxstring = 256; // a hint for print
uintptr runtime·maxstring = 256; // a hint for print
static String
gostringsize(intgo l)
{
String s;
uint32 ms;
uintptr ms;
if(l == 0)
return runtime·emptystring;
......@@ -51,7 +51,7 @@ gostringsize(intgo l)
s.str[l] = 0;
for(;;) {
ms = runtime·maxstring;
if((uint32)l <= ms || runtime·cas(&runtime·maxstring, ms, (uint32)l))
if((uintptr)l <= ms || runtime·casp((void**)&runtime·maxstring, (void*)ms, (void*)l))
break;
}
return s;
......@@ -176,7 +176,7 @@ concatstring(intgo n, String *s)
// not have a fixed size argument count.
#pragma textflag 7
void
runtime·concatstring(int32 n, String s1, ...)
runtime·concatstring(intgo n, String s1, ...)
{
(&s1)[n] = concatstring(n, &s1);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment