OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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/compiler/ast-loop-assignment-analyzer.h" | 5 #include "src/compiler/ast-loop-assignment-analyzer.h" |
6 #include "src/compiler.h" | 6 #include "src/compiler.h" |
7 #include "src/parser.h" | 7 #include "src/parser.h" |
8 | 8 |
9 namespace v8 { | 9 namespace v8 { |
10 namespace internal { | 10 namespace internal { |
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
267 Enter(loop); | 267 Enter(loop); |
268 Visit(loop->assign_each()); | 268 Visit(loop->assign_each()); |
269 Visit(loop->each()); | 269 Visit(loop->each()); |
270 Visit(loop->subject()); | 270 Visit(loop->subject()); |
271 Visit(loop->body()); | 271 Visit(loop->body()); |
272 Exit(loop); | 272 Exit(loop); |
273 } | 273 } |
274 | 274 |
275 | 275 |
276 void ALAA::VisitAssignment(Assignment* stmt) { | 276 void ALAA::VisitAssignment(Assignment* stmt) { |
| 277 RETURN_IF_VISIT_NODE(stmt->destructuring_assignment()); |
| 278 |
277 Expression* l = stmt->target(); | 279 Expression* l = stmt->target(); |
278 Visit(l); | 280 Visit(l); |
279 Visit(stmt->value()); | 281 Visit(stmt->value()); |
280 if (l->IsVariableProxy()) AnalyzeAssignment(l->AsVariableProxy()->var()); | 282 if (l->IsVariableProxy()) AnalyzeAssignment(l->AsVariableProxy()->var()); |
281 } | 283 } |
282 | 284 |
283 | 285 |
284 void ALAA::VisitCountOperation(CountOperation* e) { | 286 void ALAA::VisitCountOperation(CountOperation* e) { |
285 Expression* l = e->expression(); | 287 Expression* l = e->expression(); |
286 Visit(l); | 288 Visit(l); |
(...skipping 21 matching lines...) Expand all Loading... |
308 int count = 0; | 310 int count = 0; |
309 int var_index = AstLoopAssignmentAnalyzer::GetVariableIndex(scope, var); | 311 int var_index = AstLoopAssignmentAnalyzer::GetVariableIndex(scope, var); |
310 for (size_t i = 0; i < list_.size(); i++) { | 312 for (size_t i = 0; i < list_.size(); i++) { |
311 if (list_[i].second->Contains(var_index)) count++; | 313 if (list_[i].second->Contains(var_index)) count++; |
312 } | 314 } |
313 return count; | 315 return count; |
314 } | 316 } |
315 } // namespace compiler | 317 } // namespace compiler |
316 } // namespace internal | 318 } // namespace internal |
317 } // namespace v8 | 319 } // namespace v8 |
OLD | NEW |