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

Unified Diff: runtime/vm/kernel_to_il.h

Issue 2803853004: Reland: VM [KERNEL] Avoid emitting :expr_temp and capturing :iterator (Closed)
Patch Set: VM [KERNEL] Avoid emitting :expr_temp and capturing :iterator Created 3 years, 8 months 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
« no previous file with comments | « runtime/observatory/tests/service/service.status ('k') | runtime/vm/kernel_to_il.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/kernel_to_il.h
diff --git a/runtime/vm/kernel_to_il.h b/runtime/vm/kernel_to_il.h
index 564298c7af4a8b28a6679ecc08758be3cacbbb10..2e0c660d9b716aa4904dd8fcf0b9beb101a3ecec 100644
--- a/runtime/vm/kernel_to_il.h
+++ b/runtime/vm/kernel_to_il.h
@@ -640,7 +640,8 @@ class ScopeBuilder : public RecursiveVisitor {
current_function_scope_(NULL),
scope_(NULL),
depth_(0),
- name_index_(0) {}
+ name_index_(0),
+ needs_expr_temp_(false) {}
virtual ~ScopeBuilder() {}
@@ -653,6 +654,8 @@ class ScopeBuilder : public RecursiveVisitor {
virtual void VisitTypeParameterType(TypeParameterType* node);
virtual void VisitVariableGet(VariableGet* node);
virtual void VisitVariableSet(VariableSet* node);
+ virtual void VisitConditionalExpression(ConditionalExpression* node);
+ virtual void VisitLogicalExpression(LogicalExpression* node);
virtual void VisitFunctionExpression(FunctionExpression* node);
virtual void VisitLet(Let* node);
virtual void VisitBlock(Block* node);
@@ -739,6 +742,8 @@ class ScopeBuilder : public RecursiveVisitor {
DepthState depth_;
intptr_t name_index_;
+
+ bool needs_expr_temp_;
};
class FlowGraphBuilder : public ExpressionVisitor, public StatementVisitor {
« no previous file with comments | « runtime/observatory/tests/service/service.status ('k') | runtime/vm/kernel_to_il.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698