]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/gc: do not generate dead value maps yet
authorCarl Shapiro <cshapiro@google.com>
Fri, 6 Dec 2013 23:49:47 +0000 (15:49 -0800)
committerCarl Shapiro <cshapiro@google.com>
Fri, 6 Dec 2013 23:49:47 +0000 (15:49 -0800)
We are not clearing dead values in the garbage collector so it
is not worth the RSS cost to materialize the data and write it
out to the binary.

R=golang-dev, iant, cshapiro
CC=golang-dev
https://golang.org/cl/38650043

src/cmd/gc/pgen.c

index c9ba893977e8a6d19e6e5e6f27913af1e7ee9348..aec785bcd0e549dde45476e0d2ac35905e664a1f 100644 (file)
@@ -153,7 +153,15 @@ compile(Node *fn)
 
        gcargs = makefuncdatasym("gcargs·%d", FUNCDATA_ArgsPointerMaps);
        gclocals = makefuncdatasym("gclocals·%d", FUNCDATA_LocalsPointerMaps);
-       gcdead = makefuncdatasym("gcdead·%d", FUNCDATA_DeadPointerMaps);
+       // TODO(cshapiro): emit the dead value map when the garbage collector
+       // pre-verification pass is checked in.  It is otherwise harmless to
+       // emit this information if it is not used but it does cost RSS at
+       // compile time.  At present, the amount of additional RSS is
+       // substantial enough to affect our smallest build machines.
+       if(0)
+               gcdead = makefuncdatasym("gcdead·%d", FUNCDATA_DeadPointerMaps);
+       else
+               gcdead = nil;
 
        for(t=curfn->paramfld; t; t=t->down)
                gtrack(tracksym(t->type));