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

Issue 4634073: code review 4634073: gc: Escape analysis. (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
13 years, 9 months ago by lvd
Modified:
13 years, 7 months ago
Reviewers:
kevlar
CC:
rsc, golang-dev
Visibility:
Public.

Description

gc: Escape analysis. For now it's switch-on-and-offable with -s, and the effects can be inspected with -m. Defaults are the old codepaths.

Patch Set 1 #

Patch Set 2 : diff -r 1cad1e8470ba https://go.googlecode.com/hg/ #

Patch Set 3 : diff -r 1cad1e8470ba https://go.googlecode.com/hg/ #

Patch Set 4 : diff -r 1cad1e8470ba https://go.googlecode.com/hg/ #

Total comments: 3

Patch Set 5 : diff -r 1cad1e8470ba https://go.googlecode.com/hg/ #

Patch Set 6 : diff -r 1cad1e8470ba https://go.googlecode.com/hg/ #

Patch Set 7 : diff -r 6e3e06fb2dc3 https://go.googlecode.com/hg/ #

Patch Set 8 : diff -r 6e3e06fb2dc3 https://go.googlecode.com/hg/ #

Patch Set 9 : diff -r 6e3e06fb2dc3 https://go.googlecode.com/hg/ #

Patch Set 10 : diff -r 6e3e06fb2dc3 https://go.googlecode.com/hg/ #

Patch Set 11 : diff -r 6e3e06fb2dc3 https://go.googlecode.com/hg/ #

Patch Set 12 : diff -r 6e3e06fb2dc3 https://go.googlecode.com/hg/ #

Patch Set 13 : diff -r 6e3e06fb2dc3 https://go.googlecode.com/hg/ #

Patch Set 14 : diff -r 6e3e06fb2dc3 https://go.googlecode.com/hg/ #

Patch Set 15 : diff -r 6e3e06fb2dc3 https://go.googlecode.com/hg/ #

Patch Set 16 : diff -r 6e3e06fb2dc3 https://go.googlecode.com/hg/ #

Patch Set 17 : diff -r 6e3e06fb2dc3 https://go.googlecode.com/hg/ #

Patch Set 18 : diff -r 6e3e06fb2dc3 https://go.googlecode.com/hg/ #

Patch Set 19 : diff -r 6e3e06fb2dc3 https://go.googlecode.com/hg/ #

Patch Set 20 : diff -r 6e3e06fb2dc3 https://go.googlecode.com/hg/ #

Patch Set 21 : diff -r 6e3e06fb2dc3 https://go.googlecode.com/hg/ #

Patch Set 22 : diff -r 6e3e06fb2dc3 https://go.googlecode.com/hg/ #

Patch Set 23 : diff -r 6e3e06fb2dc3 https://go.googlecode.com/hg/ #

Patch Set 24 : diff -r 6e3e06fb2dc3 https://go.googlecode.com/hg/ #

Patch Set 25 : diff -r 6e3e06fb2dc3 https://go.googlecode.com/hg/ #

Patch Set 26 : diff -r 6e3e06fb2dc3 https://go.googlecode.com/hg/ #

Patch Set 27 : diff -r 6e3e06fb2dc3 https://go.googlecode.com/hg/ #

Patch Set 28 : diff -r 6e3e06fb2dc3 https://go.googlecode.com/hg/ #

Patch Set 29 : diff -r 6e3e06fb2dc3 https://go.googlecode.com/hg/ #

Patch Set 30 : diff -r 6e3e06fb2dc3 https://go.googlecode.com/hg/ #

Patch Set 31 : diff -r 6e3e06fb2dc3 https://go.googlecode.com/hg/ #

Patch Set 32 : diff -r 6e3e06fb2dc3 https://go.googlecode.com/hg/ #

Patch Set 33 : diff -r 6e3e06fb2dc3 https://go.googlecode.com/hg/ #

Patch Set 34 : diff -r 6e3e06fb2dc3 https://go.googlecode.com/hg/ #

Patch Set 35 : diff -r 6e3e06fb2dc3 https://go.googlecode.com/hg/ #

Patch Set 36 : diff -r 6e3e06fb2dc3 https://go.googlecode.com/hg/ #

Total comments: 10

Patch Set 37 : diff -r 67b160cd5fa4 https://go.googlecode.com/hg/ #

Patch Set 38 : diff -r 67b160cd5fa4 https://go.googlecode.com/hg/ #

Patch Set 39 : diff -r 67b160cd5fa4 https://go.googlecode.com/hg/ #

Patch Set 40 : diff -r 67b160cd5fa4 https://go.googlecode.com/hg/ #

Patch Set 41 : diff -r 2afebca6d967 https://go.googlecode.com/hg/ #

Patch Set 42 : diff -r 2afebca6d967 https://go.googlecode.com/hg/ #

Patch Set 43 : diff -r 2afebca6d967 https://go.googlecode.com/hg/ #

Patch Set 44 : diff -r 2afebca6d967 https://go.googlecode.com/hg/ #

Patch Set 45 : diff -r 2afebca6d967 https://go.googlecode.com/hg/ #

Patch Set 46 : diff -r 2afebca6d967 https://go.googlecode.com/hg/ #

Patch Set 47 : diff -r 2afebca6d967 https://go.googlecode.com/hg/ #

Total comments: 15

Patch Set 48 : diff -r 8d9d4ba84d99 https://go.googlecode.com/hg/ #

Patch Set 49 : diff -r 8d9d4ba84d99 https://go.googlecode.com/hg/ #

Patch Set 50 : diff -r 8d9d4ba84d99 https://go.googlecode.com/hg/ #

Patch Set 51 : diff -r 8d9d4ba84d99 https://go.googlecode.com/hg/ #

Total comments: 79

Patch Set 52 : diff -r 2ffd085d488a https://go.googlecode.com/hg/ #

Patch Set 53 : diff -r 2ffd085d488a https://go.googlecode.com/hg/ #

Patch Set 54 : diff -r 2ffd085d488a https://go.googlecode.com/hg/ #

Patch Set 55 : diff -r 2ffd085d488a https://go.googlecode.com/hg/ #

Patch Set 56 : diff -r 2ffd085d488a https://go.googlecode.com/hg/ #

Patch Set 57 : diff -r 2ffd085d488a https://go.googlecode.com/hg/ #

Patch Set 58 : diff -r 095d46c5b963 https://go.googlecode.com/hg/ #

Patch Set 59 : diff -r 095d46c5b963 https://go.googlecode.com/hg/ #

Patch Set 60 : diff -r 095d46c5b963 https://go.googlecode.com/hg/ #

Patch Set 61 : diff -r 095d46c5b963 https://go.googlecode.com/hg/ #

Patch Set 62 : diff -r 86d88823d334 https://go.googlecode.com/hg/ #

Patch Set 63 : diff -r 86d88823d334 https://go.googlecode.com/hg/ #

Patch Set 64 : diff -r 86d88823d334 https://go.googlecode.com/hg/ #

Patch Set 65 : diff -r 86d88823d334 https://go.googlecode.com/hg/ #

Patch Set 66 : diff -r 43a8f5250576 https://go.googlecode.com/hg/ #

Patch Set 67 : diff -r 43a8f5250576 https://go.googlecode.com/hg/ #

Patch Set 68 : diff -r 43a8f5250576 https://go.googlecode.com/hg/ #

Patch Set 69 : diff -r 43a8f5250576 https://go.googlecode.com/hg/ #

Total comments: 25

Patch Set 70 : diff -r 43a8f5250576 https://go.googlecode.com/hg/ #

Patch Set 71 : diff -r adfa9f5cca40 https://go.googlecode.com/hg/ #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1560 lines, -107 lines) Patch
M src/cmd/gc/Makefile View 1 1 chunk +1 line, -0 lines 0 comments Download
M src/cmd/gc/dcl.c View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 1 chunk +4 lines, -0 lines 0 comments Download
A src/cmd/gc/esc.c View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 1 chunk +762 lines, -0 lines 0 comments Download
M src/cmd/gc/gen.c View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 5 chunks +94 lines, -4 lines 0 comments Download
M src/cmd/gc/go.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 10 chunks +24 lines, -3 lines 0 comments Download
M src/cmd/gc/lex.c View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 5 chunks +12 lines, -6 lines 0 comments Download
M src/cmd/gc/print.c View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 1 chunk +4 lines, -0 lines 0 comments Download
M src/cmd/gc/reflect.c View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 1 chunk +1 line, -1 line 0 comments Download
M src/cmd/gc/select.c View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 2 chunks +2 lines, -1 line 0 comments Download
M src/cmd/gc/subr.c View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 7 chunks +31 lines, -10 lines 0 comments Download
M src/cmd/gc/typecheck.c View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 9 chunks +10 lines, -82 lines 0 comments Download
A test/escape2.go View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 1 chunk +615 lines, -0 lines 0 comments Download

Messages

Total messages: 28
rsc
I think I get it mostly, and it does seem a lot simpler than I ...
13 years, 9 months ago (2011-07-01 17:43:35 UTC) #1
lvd
On Fri, Jul 1, 2011 at 19:43, <rsc@golang.org> wrote: > I think I get it ...
13 years, 9 months ago (2011-07-01 17:47:55 UTC) #2
rsc
>> it's == it is >> you mean its > > yes. non-native speakers make ...
13 years, 9 months ago (2011-07-01 17:49:47 UTC) #3
lvd
On Fri, Jul 1, 2011 at 19:49, Russ Cox <rsc@golang.org> wrote: >>> it's == it ...
13 years, 9 months ago (2011-07-01 17:53:00 UTC) #4
lvd
still in progress but addressed what you commented so far http://codereview.appspot.com/4634073/diff/9022/src/cmd/gc/esc.c File src/cmd/gc/esc.c (right): http://codereview.appspot.com/4634073/diff/9022/src/cmd/gc/esc.c#newcode18 ...
13 years, 8 months ago (2011-07-04 11:33:49 UTC) #5
lvd
Hello rsc@golang.org (cc: golang-dev@googlegroups.com), I'd like you to review this change to https://go.googlecode.com/hg/
13 years, 8 months ago (2011-07-13 13:25:53 UTC) #6
rsc
http://codereview.appspot.com/4634073/diff/39009/src/cmd/gc/gen.c File src/cmd/gc/gen.c (right): http://codereview.appspot.com/4634073/diff/39009/src/cmd/gc/gen.c#newcode91 src/cmd/gc/gen.c:91: if (n == nodfp) please ,s/if (/if(/g in all ...
13 years, 8 months ago (2011-07-14 00:39:57 UTC) #7
lvd
addressed your comments. trying the More Simple version in a separate client, pls hold off ...
13 years, 8 months ago (2011-07-15 14:16:26 UTC) #8
rsc
> no it makes sense, see line 1197: this is the way to say that ...
13 years, 8 months ago (2011-07-15 15:47:30 UTC) #9
rog
http://codereview.appspot.com/4634073/diff/39009/src/cmd/gc/esc.c File src/cmd/gc/esc.c (right): http://codereview.appspot.com/4634073/diff/39009/src/cmd/gc/esc.c#newcode20 src/cmd/gc/esc.c:20: // reference implicitly taken. I'm sure this is on ...
13 years, 8 months ago (2011-07-16 11:25:39 UTC) #10
lvd
I uploaded a new version of the 'complex' CL, which i think is actually correct, ...
13 years, 8 months ago (2011-07-18 14:32:10 UTC) #11
rsc
i will wait for the simple version. it would be much better to write the ...
13 years, 8 months ago (2011-07-19 14:15:12 UTC) #12
lvd
On Tue, Jul 19, 2011 at 16:15, Russ Cox <rsc@golang.org> wrote: > i will wait ...
13 years, 8 months ago (2011-07-19 14:33:28 UTC) #13
rsc
notes from lvd: so the basic simplification is: anything on the lhs of an assignment ...
13 years, 8 months ago (2011-07-26 15:53:51 UTC) #14
rsc
Still haven't read case OCALLFUNC and eawalk closely. http://codereview.appspot.com/4634073/diff/63001/src/cmd/gc/esc.c File src/cmd/gc/esc.c (right): http://codereview.appspot.com/4634073/diff/63001/src/cmd/gc/esc.c#newcode5 src/cmd/gc/esc.c:5: // ...
13 years, 7 months ago (2011-08-02 20:24:18 UTC) #15
rsc
http://codereview.appspot.com/4634073/diff/63001/src/cmd/gc/esc.c File src/cmd/gc/esc.c (right): http://codereview.appspot.com/4634073/diff/63001/src/cmd/gc/esc.c#newcode669 src/cmd/gc/esc.c:669: fn = fn->sym->def; // resolve to definition if we ...
13 years, 7 months ago (2011-08-02 21:15:45 UTC) #16
lvd
mostly done (except the case->1line). added the tests in 1 file, test/escape2. to investigate an ...
13 years, 7 months ago (2011-08-05 13:53:32 UTC) #17
lvd
Hello rsc@golang.org, rogpeppe@gmail.com (cc: golang-dev@googlegroups.com), Please take another look.
13 years, 7 months ago (2011-08-05 20:55:23 UTC) #18
lvd
Hello rsc@golang.org (cc: golang-dev@googlegroups.com), Please take another look.
13 years, 7 months ago (2011-08-22 14:06:01 UTC) #19
lvd
PTAL. at last a version again that builds the tree and passes all tests, including ...
13 years, 7 months ago (2011-08-22 14:10:56 UTC) #20
lvd
On Mon, Aug 22, 2011 at 16:10, Luuk van Dijk <lvd@google.com> wrote: > PTAL. > ...
13 years, 7 months ago (2011-08-22 14:16:52 UTC) #21
lvd
Hello rsc@golang.org (cc: golang-dev@googlegroups.com), Please take another look.
13 years, 7 months ago (2011-08-24 11:16:08 UTC) #22
lvd
> > > > Please take another look. > > > http://codereview.appspot.com/**4634073/<http://codereview.appspot.com/4634073/> > The closure ...
13 years, 7 months ago (2011-08-24 11:27:00 UTC) #23
rsc
LGTM after fixes below. Let's submit this disabled for now. I will send a CL ...
13 years, 7 months ago (2011-08-24 14:27:46 UTC) #24
rsc
s/Escape/escape/ in the CL description
13 years, 7 months ago (2011-08-24 15:39:43 UTC) #25
lvd
mostly done except the hotly disputed one :-) testing one more time before submitting http://codereview.appspot.com/4634073/diff/100013/src/cmd/gc/dcl.c ...
13 years, 7 months ago (2011-08-24 16:51:40 UTC) #26
lvd
*** Submitted as http://code.google.com/p/go/source/detail?r=6ad8c55fbb30 *** gc: Escape analysis. For now it's switch-on-and-offable with -s, and ...
13 years, 7 months ago (2011-08-24 17:07:17 UTC) #27
kevlar
13 years, 7 months ago (2011-08-24 17:56:10 UTC) #28
I've been following this with barely-contained excitement.  Thanks for all
of the hard work, Luuk (and reviewers)!

On Wed, Aug 24, 2011 at 10:07 AM, <lvd@google.com> wrote:

> *** Submitted as
>
http://code.google.com/p/go/**source/detail?r=6ad8c55fbb30<http://code.google...
>
> gc: Escape analysis.
>
> For now it's switch-on-and-offable with -s, and the effects can be
> inspected
> with -m.  Defaults are the old codepaths.
>
> R=rsc
> CC=golang-dev
>
> http://codereview.appspot.com/**4634073<http://codereview.appspot.com/4634073>
>
>
>
http://codereview.appspot.com/**4634073/<http://codereview.appspot.com/4634073/>
>
Sign in to reply to this message.

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