OLD | NEW |
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/compiler.h" | 9 #include "src/compiler.h" |
10 #include "src/scopes.h" | 10 #include "src/scopes.h" |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
77 NativeFunctionLiteral* node) { | 77 NativeFunctionLiteral* node) { |
78 node->set_base_id(ReserveIdRange(NativeFunctionLiteral::num_ids())); | 78 node->set_base_id(ReserveIdRange(NativeFunctionLiteral::num_ids())); |
79 } | 79 } |
80 | 80 |
81 | 81 |
82 void AstNumberingVisitor::VisitLiteral(Literal* node) { | 82 void AstNumberingVisitor::VisitLiteral(Literal* node) { |
83 node->set_base_id(ReserveIdRange(Literal::num_ids())); | 83 node->set_base_id(ReserveIdRange(Literal::num_ids())); |
84 } | 84 } |
85 | 85 |
86 | 86 |
| 87 void AstNumberingVisitor::VisitTemplateLiteral(TemplateLiteral* node) { |
| 88 node->set_base_id(ReserveIdRange(TemplateLiteral::num_ids())); |
| 89 for (int i = 0; i < node->expressions()->length(); ++i) { |
| 90 Visit(node->expressions()->at(i)); |
| 91 } |
| 92 } |
| 93 |
| 94 |
87 void AstNumberingVisitor::VisitRegExpLiteral(RegExpLiteral* node) { | 95 void AstNumberingVisitor::VisitRegExpLiteral(RegExpLiteral* node) { |
88 node->set_base_id(ReserveIdRange(RegExpLiteral::num_ids())); | 96 node->set_base_id(ReserveIdRange(RegExpLiteral::num_ids())); |
89 } | 97 } |
90 | 98 |
91 | 99 |
92 void AstNumberingVisitor::VisitVariableProxy(VariableProxy* node) { | 100 void AstNumberingVisitor::VisitVariableProxy(VariableProxy* node) { |
93 node->set_base_id(ReserveIdRange(VariableProxy::num_ids())); | 101 node->set_base_id(ReserveIdRange(VariableProxy::num_ids())); |
94 } | 102 } |
95 | 103 |
96 | 104 |
(...skipping 310 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
407 } | 415 } |
408 | 416 |
409 | 417 |
410 bool AstNumbering::Renumber(FunctionLiteral* function, Zone* zone) { | 418 bool AstNumbering::Renumber(FunctionLiteral* function, Zone* zone) { |
411 AstNumberingVisitor visitor(zone); | 419 AstNumberingVisitor visitor(zone); |
412 visitor.Renumber(function); | 420 visitor.Renumber(function); |
413 return !visitor.HasStackOverflow(); | 421 return !visitor.HasStackOverflow(); |
414 } | 422 } |
415 } | 423 } |
416 } // namespace v8::internal | 424 } // namespace v8::internal |
OLD | NEW |