Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(198)

Issue 1530003: Rework flow graph construction. (Closed)

Created:
10 years, 9 months ago by Kevin Millikin (Chromium)
Modified:
9 years, 7 months ago
Reviewers:
fschneider
CC:
v8-dev
Visibility:
Public.

Description

Rework flow graph construction. The flow graph has been simplified to remove the special branch, join, and exit nodes. All nodes are now basic blocks (possibly empty to preserve edge-split form) with a distinguished entry and exit block. Most trivial expressions are not added to the flow graph as instructions. The assigned variable analyzer has been changed to sometimes work right-to-left so that right subexpressions can be marked as trivial. The reaching definitions analysis has been temporarily removed, and the analyses that depended on it (primitivity analysis, dead code marking) as well. Committed: http://code.google.com/p/v8/source/detail?r=4307

Patch Set 1 #

Total comments: 6
Unified diffs Side-by-side diffs Delta from patch set Stats (+585 lines, -1662 lines) Patch
M src/ast.h View 11 chunks +0 lines, -50 lines 0 comments Download
M src/ast.cc View 1 chunk +0 lines, -111 lines 0 comments Download
M src/compiler.h View 1 chunk +1 line, -4 lines 0 comments Download
M src/compiler.cc View 2 chunks +8 lines, -48 lines 0 comments Download
M src/data-flow.h View 1 chunk +0 lines, -59 lines 0 comments Download
M src/data-flow.cc View 5 chunks +36 lines, -828 lines 2 comments Download
M src/flow-graph.h View 1 chunk +85 lines, -284 lines 3 comments Download
M src/flow-graph.cc View 11 chunks +455 lines, -278 lines 1 comment Download

Messages

Total messages: 3 (0 generated)
Kevin Millikin (Chromium)
10 years, 9 months ago (2010-03-29 12:42:24 UTC) #1
fschneider
LGTM with comments addressed. http://codereview.chromium.org/1530003/diff/1/6 File src/data-flow.cc (right): http://codereview.chromium.org/1530003/diff/1/6#newcode668 src/data-flow.cc:668: ProcessExpression(expr->key()); That should be ProcessExpression(expr->obj()); ...
10 years, 9 months ago (2010-03-29 13:49:59 UTC) #2
Kevin Millikin (Chromium)
10 years, 9 months ago (2010-03-29 14:22:53 UTC) #3
http://codereview.chromium.org/1530003/diff/1/6
File src/data-flow.cc (right):

http://codereview.chromium.org/1530003/diff/1/6#newcode668
src/data-flow.cc:668: ProcessExpression(expr->key());
On 2010/03/29 13:49:59, fschneider wrote:
> That should be 
> 
> ProcessExpression(expr->obj());
> 

Thank you.

http://codereview.chromium.org/1530003/diff/1/9
File src/flow-graph.h (right):

http://codereview.chromium.org/1530003/diff/1/9#newcode53
src/flow-graph.h:53: BasicBlock(BasicBlock* predecessor)
On 2010/03/29 13:49:59, fschneider wrote:
> explicit for 1-argument constructors?

Done.

Powered by Google App Engine
This is Rietveld 408576698