]> Cypherpunks repositories - gostls13.git/commitdiff
gc: Allow allow data types up to 1GB
authorChristopher Wedgwood <cw@f00f.org>
Thu, 3 Dec 2009 20:46:34 +0000 (12:46 -0800)
committerRuss Cox <rsc@golang.org>
Thu, 3 Dec 2009 20:46:34 +0000 (12:46 -0800)
R=rsc
https://golang.org/cl/164095

src/cmd/gc/gen.c
src/cmd/gc/go.h
src/cmd/gc/subr.c

index 475058fa28e0434e61ee728a084b5986c27df0d0..56dd752fb775af41bb5d612e6b15cba33de822c6 100644 (file)
@@ -52,7 +52,7 @@ allocparams(void)
                        continue;
                dowidth(n->type);
                w = n->type->width;
-               if(w >= 100000000)
+               if(w >= MAXWIDTH)
                        fatal("bad width");
                stksize += w;
                stksize = rnd(stksize, w);
index 87362156d3d2b572174067022928bafb0dc360fd..5df0c5be858fc6334cb851c26905ffe41ea8829e 100644 (file)
@@ -53,7 +53,8 @@ enum
        AINTER,
        ANILINTER,
 
-       BADWIDTH        = -1000000000
+       BADWIDTH        = -1000000000,
+       MAXWIDTH        = 1<<30
 };
 
 /*
index 6b73570e527b19d81a371c3eaff2f76ab84bfb5e..407dea023feb02869c6ce85f8a5497270177c69c 100644 (file)
@@ -2431,7 +2431,7 @@ setmaxarg(Type *t)
 
        dowidth(t);
        w = t->argwid;
-       if(t->argwid >= 100000000)
+       if(t->argwid >= MAXWIDTH)
                fatal("bad argwid %T", t);
        if(w > maxarg)
                maxarg = w;