summaryrefslogtreecommitdiff
path: root/src/cmd/gc/bits.c
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2011-10-03 17:46:36 -0400
committerRuss Cox <rsc@golang.org>2011-10-03 17:46:36 -0400
commitd2bac7dd534aa4b2ffe75ef88f5804b703d88d11 (patch)
treec2cb4ba43e66a16a02d0bd4904e297b5aa59ab08 /src/cmd/gc/bits.c
parente65ba656977ab00356368d9a0286c1036e770117 (diff)
downloadgo-d2bac7dd534aa4b2ffe75ef88f5804b703d88d11.tar.gz
5g, 6g, 8g: registerize variables again
My previous CL: changeset: 9645:ce2e5f44b310 user: Russ Cox <rsc@golang.org> date: Tue Sep 06 10:24:21 2011 -0400 summary: gc: unify stack frame layout introduced a bug wherein no variables were being registerized, making Go programs 2-3x slower than they had been before. This CL fixes that bug (along with some others it was hiding) and adds a test that optimization makes at least one test case faster. R=ken2 CC=golang-dev http://codereview.appspot.com/5174045
Diffstat (limited to 'src/cmd/gc/bits.c')
-rw-r--r--src/cmd/gc/bits.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/cmd/gc/bits.c b/src/cmd/gc/bits.c
index f3b031cc3..591288db6 100644
--- a/src/cmd/gc/bits.c
+++ b/src/cmd/gc/bits.c
@@ -151,9 +151,9 @@ Qconv(Fmt *fp)
else
fmtprint(fp, " ");
if(var[i].node == N || var[i].node->sym == S)
- fmtprint(fp, "$%lld", var[i].offset);
+ fmtprint(fp, "$%lld", i);
else {
- fmtprint(fp, var[i].node->sym->name);
+ fmtprint(fp, "%s", var[i].node->sym->name);
if(var[i].offset != 0)
fmtprint(fp, "%+lld", (vlong)var[i].offset);
}