From dd4aebb84ab8ee8dd11b12a7802a02373fabac6c Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Sun, 23 Nov 2008 17:08:55 -0800 Subject: delete stack mark strings in favor of using in-memory copy of symbol table. $ ls -l pretty pretty.big -rwxr-xr-x 1 rsc eng 439516 Nov 21 16:43 pretty -rwxr-xr-x 1 rsc eng 580984 Nov 21 16:20 pretty.big $ R=r DELTA=446 (238 added, 178 deleted, 30 changed) OCL=19851 CL=19884 --- src/runtime/string.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'src/runtime/string.c') diff --git a/src/runtime/string.c b/src/runtime/string.c index fec66f8a8..4dba5ad7e 100644 --- a/src/runtime/string.c +++ b/src/runtime/string.c @@ -8,7 +8,7 @@ static int32 empty = 0; string emptystring = (string)∅ int32 -findnull(int8 *s) +findnull(byte *s) { int32 l; @@ -17,6 +17,19 @@ findnull(int8 *s) return l; } +string +gostring(byte *str) +{ + int32 l; + string s; + + l = findnull(str); + s = mal(sizeof(s->len)+l+1); + s->len = l; + mcpy(s->str, str, l+1); + return s; +} + void sys·catstring(string s1, string s2, string s3) { -- cgit v1.2.3