Skip to content

Commit

Permalink
cmd/5g, cmd/6g, cmd/8g: clear Addr node when registerizing
Browse files Browse the repository at this point in the history
Update golang#8525

Some temporary variables that were fully registerized nevertheless had stack space allocated for them because the Addrs were still marked as having associated nodes.

Distribution of stack space reserved for temporary variables while running make.bash (6g):

BEFORE

40.89%  7026 allocauto: 0 to 0
 7.83%  1346 allocauto: 0 to 24
 7.22%  1241 allocauto: 0 to 8
 6.30%  1082 allocauto: 0 to 16
 4.96%   853 allocauto: 0 to 56
 4.59%   789 allocauto: 0 to 32
 2.97%   510 allocauto: 0 to 40
 2.32%   399 allocauto: 0 to 48
 2.10%   360 allocauto: 0 to 64
 1.91%   328 allocauto: 0 to 72

AFTER

48.49%  8332 allocauto: 0 to 0
 9.52%  1635 allocauto: 0 to 16
 5.28%   908 allocauto: 0 to 48
 4.80%   824 allocauto: 0 to 32
 4.73%   812 allocauto: 0 to 8
 3.38%   581 allocauto: 0 to 24
 2.35%   404 allocauto: 0 to 40
 2.32%   399 allocauto: 0 to 64
 1.65%   284 allocauto: 0 to 56
 1.34%   230 allocauto: 0 to 72

LGTM=rsc
R=rsc
CC=dave, dvyukov, golang-codereviews, minux
https://golang.org/cl/126160043
  • Loading branch information
josharian committed Aug 25, 2014
1 parent 4af79b6 commit be2ad1d
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 0 deletions.
1 change: 1 addition & 0 deletions src/cmd/5g/reg.c
Original file line number Diff line number Diff line change
Expand Up @@ -1315,6 +1315,7 @@ void
addreg(Adr *a, int rn)
{
a->sym = nil;
a->node = nil;
a->name = D_NONE;
a->type = D_REG;
a->reg = rn;
Expand Down
1 change: 1 addition & 0 deletions src/cmd/6g/reg.c
Original file line number Diff line number Diff line change
Expand Up @@ -1191,6 +1191,7 @@ void
addreg(Adr *a, int rn)
{
a->sym = nil;
a->node = nil;
a->offset = 0;
a->type = rn;

Expand Down
1 change: 1 addition & 0 deletions src/cmd/8g/reg.c
Original file line number Diff line number Diff line change
Expand Up @@ -1168,6 +1168,7 @@ void
addreg(Adr *a, int rn)
{
a->sym = nil;
a->node = nil;
a->offset = 0;
a->type = rn;

Expand Down

0 comments on commit be2ad1d

Please sign in to comment.