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

Issue 71703002: Introduce a nesting stack to the flow graph builder. (Closed)

Created:
7 years, 1 month ago by Kevin Millikin (Google)
Modified:
7 years, 1 month ago
CC:
reviews_dartlang.org, vm-dev_dartlang.org, hausner
Visibility:
Public.

Description

Introduce a nesting stack to the flow graph builder. Statically track nested blocks, loops, and switches while constructing the flow graph. Use the nesting stack as a mapping from source labels (class SourceLabel) to their flow-graph targets (class JoinEntryInstr). This removes the indirect dependence of the AST on the intermediate language and the mutable compiler state from the AST. R=fschneider@google.com, srdjan@google.com Committed: https://code.google.com/p/dart/source/detail?r=30336

Patch Set 1 #

Total comments: 6
Unified diffs Side-by-side diffs Delta from patch set Stats (+183 lines, -139 lines) Patch
M runtime/vm/ast.h View 3 chunks +2 lines, -5 lines 0 comments Download
M runtime/vm/flow_graph_builder.h View 4 chunks +45 lines, -0 lines 4 comments Download
M runtime/vm/flow_graph_builder.cc View 17 chunks +135 lines, -47 lines 2 comments Download
M runtime/vm/flow_graph_inliner.cc View 2 chunks +0 lines, -54 lines 0 comments Download
M runtime/vm/scopes.h View 3 chunks +1 line, -33 lines 0 comments Download

Messages

Total messages: 7 (0 generated)
Kevin Millikin (Google)
This removes a longstanding TODO. There is some unnecessary wartiness with switch/case nodes but I'm ...
7 years, 1 month ago (2013-11-13 16:54:20 UTC) #1
Kevin Millikin (Google)
7 years, 1 month ago (2013-11-13 16:54:36 UTC) #2
srdjan
https://codereview.chromium.org/71703002/diff/1/runtime/vm/flow_graph_builder.h File runtime/vm/flow_graph_builder.h (right): https://codereview.chromium.org/71703002/diff/1/runtime/vm/flow_graph_builder.h#newcode109 runtime/vm/flow_graph_builder.h:109: class NestedStatement; Typically all forward class declarations are done ...
7 years, 1 month ago (2013-11-13 17:17:08 UTC) #3
Florian Schneider
LGTM. https://codereview.chromium.org/71703002/diff/1/runtime/vm/flow_graph_builder.cc File runtime/vm/flow_graph_builder.cc (right): https://codereview.chromium.org/71703002/diff/1/runtime/vm/flow_graph_builder.cc#newcode1967 runtime/vm/flow_graph_builder.cc:1967: if (node->kind() == Token::kBREAK) { For less duplicated ...
7 years, 1 month ago (2013-11-13 17:42:58 UTC) #4
Kevin Millikin (Google)
https://codereview.chromium.org/71703002/diff/1/runtime/vm/flow_graph_builder.cc File runtime/vm/flow_graph_builder.cc (right): https://codereview.chromium.org/71703002/diff/1/runtime/vm/flow_graph_builder.cc#newcode1967 runtime/vm/flow_graph_builder.cc:1967: if (node->kind() == Token::kBREAK) { On 2013/11/13 17:42:58, Florian ...
7 years, 1 month ago (2013-11-13 17:47:21 UTC) #5
srdjan
lgtm
7 years, 1 month ago (2013-11-13 17:51:41 UTC) #6
Kevin Millikin (Google)
7 years, 1 month ago (2013-11-18 11:39:22 UTC) #7
Message was sent while issue was closed.
Committed patchset #1 manually as r30336 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698