From: Carl Shapiro Date: Fri, 6 Dec 2013 23:49:47 +0000 (-0800) Subject: cmd/gc: do not generate dead value maps yet X-Git-Tag: go1.3beta1~1306 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=6965a752a799792997fc0cbf971b1893bcaf3d5b;p=gostls13.git cmd/gc: do not generate dead value maps yet 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 --- diff --git a/src/cmd/gc/pgen.c b/src/cmd/gc/pgen.c index c9ba893977..aec785bcd0 100644 --- a/src/cmd/gc/pgen.c +++ b/src/cmd/gc/pgen.c @@ -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));