Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(1544)

Issue 126160043: cmd/5g, cmd/6g, cmd/8g: clear Addr node when registerizing (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
9 years, 9 months ago by josharian
Modified:
9 years, 8 months ago
Reviewers:
rsc
CC:
rsc, dave_cheney.net, dvyukov, golang-codereviews, minux
Visibility:
Public.

Description

cmd/5g, cmd/6g, cmd/8g: clear Addr node when registerizing Update issue 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

Patch Set 1 #

Patch Set 2 : diff -r 39128f4b116e2364be8b055f1273b09248b97404 https://code.google.com/p/go #

Patch Set 3 : diff -r 68b84694821cc0b6a22405bc0c73e73c80e17ca8 https://code.google.com/p/go #

Patch Set 4 : diff -r 68b84694821cc0b6a22405bc0c73e73c80e17ca8 https://code.google.com/p/go #

Patch Set 5 : diff -r 68b84694821cc0b6a22405bc0c73e73c80e17ca8 https://code.google.com/p/go #

Patch Set 6 : diff -r 68b84694821cc0b6a22405bc0c73e73c80e17ca8 https://code.google.com/p/go #

Patch Set 7 : diff -r bdaf0d8b37b6743f462e4a63563025146f2c595f https://code.google.com/p/go #

Patch Set 8 : diff -r bdaf0d8b37b6743f462e4a63563025146f2c595f https://code.google.com/p/go #

Patch Set 9 : diff -r bdaf0d8b37b6743f462e4a63563025146f2c595f https://code.google.com/p/go #

Unified diffs Side-by-side diffs Delta from patch set Stats (+3 lines, -0 lines) Patch
M src/cmd/5g/reg.c View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M src/cmd/6g/reg.c View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M src/cmd/8g/reg.c View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 8
josharian
Hello rsc@golang.org (cc: dave@cheney.net, dvyukov@google.com, golang-codereviews@googlegroups.com, minux@golang.org), I'd like you to review this change to ...
9 years, 8 months ago (2014-08-24 18:51:09 UTC) #1
josharian
cc minux for 9g dfc, will you test on arm for me? I don't have ...
9 years, 8 months ago (2014-08-24 18:52:14 UTC) #2
josharian
Sigh. Scratch 5g for now. The corresponding change causes pkg/runtime/debug.go:69: internal error: (*MemProfileRecord).Stack ~r0 (type ...
9 years, 8 months ago (2014-08-24 19:30:49 UTC) #3
josharian
> Sigh. Scratch 5g for now. The corresponding change causes Looks like 5g (unlike 6g ...
9 years, 8 months ago (2014-08-24 23:37:22 UTC) #4
rsc
Thanks for finding this. The fix is papering over the real problem, namely that there ...
9 years, 8 months ago (2014-08-25 01:05:10 UTC) #5
josharian
PTAL Thanks as always, rsc, for all your help.
9 years, 8 months ago (2014-08-25 01:57:29 UTC) #6
rsc
LGTM
9 years, 8 months ago (2014-08-25 02:04:45 UTC) #7
josharian
9 years, 8 months ago (2014-08-25 02:07:33 UTC) #8
*** Submitted as https://code.google.com/p/go/source/detail?r=2cd1e4d7c117 ***

cmd/5g, cmd/6g, cmd/8g: clear Addr node when registerizing

Update issue 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://codereview.appspot.com/126160043
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b