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

Unified Diff: runtime/vm/flow_graph_inliner.cc

Issue 71703002: Introduce a nesting stack to the flow graph builder. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: runtime/vm/flow_graph_inliner.cc
diff --git a/runtime/vm/flow_graph_inliner.cc b/runtime/vm/flow_graph_inliner.cc
index a82e9491b212966de9b813d7d7dd0ddd116738bf..9ccae4b57b9b3191721b6f87085a4acf6bd9921a 100644
--- a/runtime/vm/flow_graph_inliner.cc
+++ b/runtime/vm/flow_graph_inliner.cc
@@ -69,58 +69,6 @@ static bool IsCallRecursive(const Function& function, Definition* call) {
}
-// TODO(zerny): Remove the ChildrenVisitor and SourceLabelResetter once we have
-// moved the label/join map for control flow out of the AST and into the flow
-// graph builder.
-
-// Default visitor to traverse child nodes.
-class ChildrenVisitor : public AstNodeVisitor {
- public:
- ChildrenVisitor() { }
-#define DEFINE_VISIT(BaseName) \
- virtual void Visit##BaseName##Node(BaseName##Node* node) { \
- node->VisitChildren(this); \
- }
-
- FOR_EACH_NODE(DEFINE_VISIT);
-#undef DEFINE_VISIT
-};
-
-
-// Visitor to clear each AST node containing source labels.
-class SourceLabelResetter : public ChildrenVisitor {
- public:
- SourceLabelResetter() { }
- virtual void VisitSequenceNode(SequenceNode* node) {
- Reset(node, node->label());
- }
- virtual void VisitCaseNode(CaseNode* node) {
- Reset(node, node->label());
- }
- virtual void VisitSwitchNode(SwitchNode* node) {
- Reset(node, node->label());
- }
- virtual void VisitWhileNode(WhileNode* node) {
- Reset(node, node->label());
- }
- virtual void VisitDoWhileNode(DoWhileNode* node) {
- Reset(node, node->label());
- }
- virtual void VisitForNode(ForNode* node) {
- Reset(node, node->label());
- }
- virtual void VisitJumpNode(JumpNode* node) {
- Reset(node, node->label());
- }
- void Reset(AstNode* node, SourceLabel* lbl) {
- node->VisitChildren(this);
- if (lbl == NULL) return;
- lbl->join_for_break_ = NULL;
- lbl->join_for_continue_ = NULL;
- }
-};
-
-
// Helper to create a parameter stub from an actual argument.
static Definition* CreateParameterStub(intptr_t i,
Value* argument,
@@ -787,8 +735,6 @@ class CallSiteInliner : public ValueObject {
ParsedFunction* parsed_function = function_cache_[i];
if (parsed_function->function().raw() == function.raw()) {
*in_cache = true;
- SourceLabelResetter reset;
- parsed_function->node_sequence()->Visit(&reset);
return parsed_function;
}
}

Powered by Google App Engine
This is Rietveld 408576698