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

Side by Side Diff: src/ast-numbering.cc

Issue 1146863007: [es6] Super call in arrows and eval (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: git rebase Created 5 years, 6 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 unified diff | Download patch
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/v8.h" 5 #include "src/v8.h"
6 6
7 #include "src/ast.h" 7 #include "src/ast.h"
8 #include "src/ast-numbering.h" 8 #include "src/ast-numbering.h"
9 #include "src/scopes.h" 9 #include "src/scopes.h"
10 10
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 node->set_base_id(ReserveIdRange(VariableProxy::num_ids())); 161 node->set_base_id(ReserveIdRange(VariableProxy::num_ids()));
162 } 162 }
163 163
164 164
165 void AstNumberingVisitor::VisitThisFunction(ThisFunction* node) { 165 void AstNumberingVisitor::VisitThisFunction(ThisFunction* node) {
166 IncrementNodeCount(); 166 IncrementNodeCount();
167 node->set_base_id(ReserveIdRange(ThisFunction::num_ids())); 167 node->set_base_id(ReserveIdRange(ThisFunction::num_ids()));
168 } 168 }
169 169
170 170
171 void AstNumberingVisitor::VisitSuperReference(SuperReference* node) { 171 void AstNumberingVisitor::VisitSuperPropertyReference(
172 SuperPropertyReference* node) {
172 IncrementNodeCount(); 173 IncrementNodeCount();
173 DisableOptimization(kSuperReference); 174 DisableOptimization(kSuperReference);
174 ReserveFeedbackSlots(node); 175 node->set_base_id(ReserveIdRange(SuperPropertyReference::num_ids()));
175 node->set_base_id(ReserveIdRange(SuperReference::num_ids()));
176 Visit(node->this_var()); 176 Visit(node->this_var());
177 Visit(node->home_object_var()); 177 Visit(node->home_object_var());
178 } 178 }
179 179
180 180
181 void AstNumberingVisitor::VisitSuperCallReference(SuperCallReference* node) {
182 IncrementNodeCount();
183 DisableOptimization(kSuperReference);
184 node->set_base_id(ReserveIdRange(SuperCallReference::num_ids()));
185 Visit(node->this_var());
186 Visit(node->new_target_var());
187 Visit(node->this_function_var());
188 }
189
190
181 void AstNumberingVisitor::VisitImportDeclaration(ImportDeclaration* node) { 191 void AstNumberingVisitor::VisitImportDeclaration(ImportDeclaration* node) {
182 IncrementNodeCount(); 192 IncrementNodeCount();
183 DisableOptimization(kImportDeclaration); 193 DisableOptimization(kImportDeclaration);
184 VisitVariableProxy(node->proxy()); 194 VisitVariableProxy(node->proxy());
185 } 195 }
186 196
187 197
188 void AstNumberingVisitor::VisitExpressionStatement(ExpressionStatement* node) { 198 void AstNumberingVisitor::VisitExpressionStatement(ExpressionStatement* node) {
189 IncrementNodeCount(); 199 IncrementNodeCount();
190 Visit(node->expression()); 200 Visit(node->expression());
(...skipping 351 matching lines...) Expand 10 before | Expand all | Expand 10 after
542 } 552 }
543 553
544 554
545 bool AstNumbering::Renumber(Isolate* isolate, Zone* zone, 555 bool AstNumbering::Renumber(Isolate* isolate, Zone* zone,
546 FunctionLiteral* function) { 556 FunctionLiteral* function) {
547 AstNumberingVisitor visitor(isolate, zone); 557 AstNumberingVisitor visitor(isolate, zone);
548 return visitor.Renumber(function); 558 return visitor.Renumber(function);
549 } 559 }
550 } 560 }
551 } // namespace v8::internal 561 } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/ast.cc ('k') | src/ast-value-factory.h » ('j') | src/ia32/full-codegen-ia32.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698