| Index: runtime/vm/kernel_to_il.cc
|
| diff --git a/runtime/vm/kernel_to_il.cc b/runtime/vm/kernel_to_il.cc
|
| index 1b23d09f13fdfe00fcb9bec92bc76524668fd3e9..0fc5196ca90ca2f30cd5e5e512aedfbd20607d1c 100644
|
| --- a/runtime/vm/kernel_to_il.cc
|
| +++ b/runtime/vm/kernel_to_il.cc
|
| @@ -31,32 +31,6 @@ namespace kernel {
|
| #define I Isolate::Current()
|
|
|
|
|
| -class NeedsExprTempVisitor : public RecursiveVisitor {
|
| - public:
|
| - NeedsExprTempVisitor() : needs_expr_temp_(false) {}
|
| -
|
| - virtual void VisitConditionalExpression(ConditionalExpression* node) {
|
| - needs_expr_temp_ = true;
|
| - }
|
| -
|
| - virtual void VisitLogicalExpression(LogicalExpression* node) {
|
| - needs_expr_temp_ = true;
|
| - }
|
| -
|
| - bool needs_expr_temp() const { return needs_expr_temp_; }
|
| -
|
| - private:
|
| - bool needs_expr_temp_;
|
| -};
|
| -
|
| -
|
| -static bool NeedsExprTemp(TreeNode* node) {
|
| - NeedsExprTempVisitor visitor;
|
| - node->AcceptVisitor(&visitor);
|
| - return visitor.needs_expr_temp();
|
| -}
|
| -
|
| -
|
| static void DiscoverEnclosingElements(Zone* zone,
|
| const Function& function,
|
| Function* outermost_function,
|
| @@ -125,9 +99,6 @@ void ScopeBuilder::AddParameter(VariableDeclaration* declaration,
|
| if (declaration->IsFinal()) {
|
| variable->set_is_final();
|
| }
|
| - if (variable->name().raw() == Symbols::IteratorParameter().raw()) {
|
| - variable->set_is_forced_stack();
|
| - }
|
| scope_->InsertParameterAt(pos, variable);
|
| result_->locals.Insert(declaration, variable);
|
|
|
| @@ -329,11 +300,7 @@ ScopeBuildingResult* ScopeBuilder::BuildScopes() {
|
| LocalVariable* context_var = parsed_function->current_context_var();
|
| context_var->set_is_forced_stack();
|
| scope_->AddVariable(context_var);
|
| - bool has_expr_temp = false;
|
| - if (node_ != NULL && NeedsExprTemp(node_)) {
|
| - scope_->AddVariable(parsed_function->EnsureExpressionTemp());
|
| - has_expr_temp = true;
|
| - }
|
| + scope_->AddVariable(parsed_function->EnsureExpressionTemp());
|
|
|
| parsed_function->SetNodeSequence(
|
| new SequenceNode(TokenPosition::kNoSource, scope_));
|
| @@ -381,10 +348,6 @@ ScopeBuildingResult* ScopeBuilder::BuildScopes() {
|
| Field* field = klass->fields()[i];
|
| if (!field->IsStatic() && (field->initializer() != NULL)) {
|
| EnterScope(field, field->position());
|
| - if (!has_expr_temp && NeedsExprTemp(field->initializer())) {
|
| - scope_->AddVariable(parsed_function->EnsureExpressionTemp());
|
| - has_expr_temp = true;
|
| - }
|
| field->initializer()->AcceptExpressionVisitor(this);
|
| ExitScope(field->end_position());
|
| }
|
|
|