| 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/ast/scopes.h" | 5 #include "src/ast/scopes.h" |
| 6 | 6 |
| 7 #include <set> | 7 #include <set> |
| 8 | 8 |
| 9 #include "src/accessors.h" | 9 #include "src/accessors.h" |
| 10 #include "src/ast/ast.h" | 10 #include "src/ast/ast.h" |
| (...skipping 1200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1211 migrate_to->set_start_position(start_position_); | 1211 migrate_to->set_start_position(start_position_); |
| 1212 migrate_to->set_end_position(end_position_); | 1212 migrate_to->set_end_position(end_position_); |
| 1213 migrate_to->set_language_mode(language_mode()); | 1213 migrate_to->set_language_mode(language_mode()); |
| 1214 migrate_to->arity_ = arity_; | 1214 migrate_to->arity_ = arity_; |
| 1215 migrate_to->force_context_allocation_ = force_context_allocation_; | 1215 migrate_to->force_context_allocation_ = force_context_allocation_; |
| 1216 outer_scope_->RemoveInnerScope(this); | 1216 outer_scope_->RemoveInnerScope(this); |
| 1217 DCHECK_EQ(outer_scope_, migrate_to->outer_scope_); | 1217 DCHECK_EQ(outer_scope_, migrate_to->outer_scope_); |
| 1218 DCHECK_EQ(outer_scope_->zone(), migrate_to->zone()); | 1218 DCHECK_EQ(outer_scope_->zone(), migrate_to->zone()); |
| 1219 DCHECK_EQ(NeedsHomeObject(), migrate_to->NeedsHomeObject()); | 1219 DCHECK_EQ(NeedsHomeObject(), migrate_to->NeedsHomeObject()); |
| 1220 DCHECK_EQ(asm_function_, migrate_to->asm_function_); | 1220 DCHECK_EQ(asm_function_, migrate_to->asm_function_); |
| 1221 DCHECK_EQ(arguments() != nullptr, migrate_to->arguments() != nullptr); | |
| 1222 } | 1221 } |
| 1223 | 1222 |
| 1224 #ifdef DEBUG | 1223 #ifdef DEBUG |
| 1225 static const char* Header(ScopeType scope_type, FunctionKind function_kind, | 1224 static const char* Header(ScopeType scope_type, FunctionKind function_kind, |
| 1226 bool is_declaration_scope) { | 1225 bool is_declaration_scope) { |
| 1227 switch (scope_type) { | 1226 switch (scope_type) { |
| 1228 case EVAL_SCOPE: return "eval"; | 1227 case EVAL_SCOPE: return "eval"; |
| 1229 // TODO(adamk): Should we print concise method scopes specially? | 1228 // TODO(adamk): Should we print concise method scopes specially? |
| 1230 case FUNCTION_SCOPE: | 1229 case FUNCTION_SCOPE: |
| 1231 if (IsGeneratorFunction(function_kind)) return "function*"; | 1230 if (IsGeneratorFunction(function_kind)) return "function*"; |
| (...skipping 600 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1832 Variable* function = | 1831 Variable* function = |
| 1833 is_function_scope() ? AsDeclarationScope()->function_var() : nullptr; | 1832 is_function_scope() ? AsDeclarationScope()->function_var() : nullptr; |
| 1834 bool is_function_var_in_context = | 1833 bool is_function_var_in_context = |
| 1835 function != nullptr && function->IsContextSlot(); | 1834 function != nullptr && function->IsContextSlot(); |
| 1836 return num_heap_slots() - Context::MIN_CONTEXT_SLOTS - | 1835 return num_heap_slots() - Context::MIN_CONTEXT_SLOTS - |
| 1837 (is_function_var_in_context ? 1 : 0); | 1836 (is_function_var_in_context ? 1 : 0); |
| 1838 } | 1837 } |
| 1839 | 1838 |
| 1840 } // namespace internal | 1839 } // namespace internal |
| 1841 } // namespace v8 | 1840 } // namespace v8 |
| OLD | NEW |