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

Issue 6741044: code review 6741044: cmd/gc: escape analysis to track flow of in to out para... (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
11 years, 5 months ago by lvd
Modified:
11 years, 5 months ago
Reviewers:
CC:
rsc, bradfitz, dfc, gobot, golang-dev, iant
Visibility:
Public.

Description

cmd/gc: escape analysis to track flow of in to out parameters. includes step 0: synthesize outparams, from 6600044 includes step 1,2: give outparams loopdepth 0 and verify unchanged results generate esc:$mask tags, but still tie to sink if a param has mask != 0 from 6610054 adds final steps: - have esccall generate n->escretval, a list of nodes the function results flow to - use these in esccall and ORETURN/OAS2FUNC/and f(g()) - only tie parameters to sink if tag is absent, otherwise according to mask, tie them to escretval

Patch Set 1 #

Patch Set 2 : diff -r 32c1ce44286f https://go.googlecode.com/hg/ #

Patch Set 3 : diff -r 32c1ce44286f https://go.googlecode.com/hg/ #

Patch Set 4 : diff -r 32c1ce44286f https://go.googlecode.com/hg/ #

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

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

Patch Set 7 : diff -r 8d919bfe75d3 https://go.googlecode.com/hg/ #

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

Patch Set 9 : diff -r 8d919bfe75d3 https://go.googlecode.com/hg/ #

Patch Set 10 : diff -r 8d919bfe75d3 https://go.googlecode.com/hg/ #

Patch Set 11 : diff -r 07761e0a36b6 https://go.googlecode.com/hg/ #

Patch Set 12 : diff -r 07761e0a36b6 https://go.googlecode.com/hg/ #

Patch Set 13 : diff -r 07761e0a36b6 https://go.googlecode.com/hg/ #

Patch Set 14 : diff -r 07761e0a36b6 https://go.googlecode.com/hg/ #

Patch Set 15 : diff -r 07761e0a36b6 https://go.googlecode.com/hg/ #

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

Patch Set 17 : diff -r 507eeea1c3da https://go.googlecode.com/hg/ #

Unified diffs Side-by-side diffs Delta from patch set Stats (+236 lines, -33 lines) Patch
M src/cmd/gc/esc.c View 1 2 3 4 5 6 7 8 9 10 11 12 14 chunks +95 lines, -26 lines 0 comments Download
M src/cmd/gc/go.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +2 lines, -1 line 0 comments Download
M test/escape2.go View 1 2 3 4 5 6 7 5 chunks +20 lines, -6 lines 0 comments Download
A test/escape5.go View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +119 lines, -0 lines 0 comments Download

Messages

Total messages: 10
lvd
Hello rsc@golang.org (cc: golang-dev@googlegroups.com), I'd like you to review this change to https://go.googlecode.com/hg/
11 years, 5 months ago (2012-10-18 15:57:56 UTC) #1
dfc
Hi Luuk, Does this CL address issues like https://code.google.com/p/go/issues/detail?id=3702 ? Cheers Dave On Fri, Oct ...
11 years, 5 months ago (2012-10-21 10:04:33 UTC) #2
rsc
looks good but i'd like to read the diffs again once the other 2 CLs ...
11 years, 5 months ago (2012-10-21 22:02:47 UTC) #3
gobot
R=bradfitz (assigned by bradfitz)
11 years, 5 months ago (2012-10-23 18:54:41 UTC) #4
gobot
R=iant (assigned by bradfitz)
11 years, 5 months ago (2012-10-23 18:54:42 UTC) #5
gobot
R=rsc (assigned by bradfitz)
11 years, 5 months ago (2012-10-23 18:54:49 UTC) #6
bradfitz
Sorry for the R=spam Maybe I'm the only person who navigates web pages with the ...
11 years, 5 months ago (2012-10-23 18:57:19 UTC) #7
lvd
Hello rsc@golang.org, bradfitz@golang.org (cc: dave@cheney.net, gobot@golang.org, golang-dev@googlegroups.com, iant@golang.org, rsc@golang.org), Please take another look.
11 years, 5 months ago (2012-10-24 14:18:59 UTC) #8
rsc
LGTM
11 years, 5 months ago (2012-10-29 12:31:38 UTC) #9
lvd
11 years, 5 months ago (2012-10-29 12:38:27 UTC) #10
*** Submitted as http://code.google.com/p/go/source/detail?r=7df8438a2c41 ***

cmd/gc: escape analysis to track flow of in to out parameters.

includes step 0: synthesize outparams, from 6600044
includes step 1,2: give outparams loopdepth 0 and verify unchanged results
         generate esc:$mask tags, but still tie to sink if a param has mask != 0
from 6610054

adds final steps:
- have esccall generate n->escretval, a list of nodes the function results flow
to
- use these in esccall and ORETURN/OAS2FUNC/and f(g())
- only tie parameters to sink if tag is absent, otherwise according to mask, tie
them to escretval

R=rsc, bradfitz
CC=dave, gobot, golang-dev, iant, rsc
http://codereview.appspot.com/6741044
Sign in to reply to this message.

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