OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 <stdlib.h> | 5 #include <stdlib.h> |
6 | 6 |
7 #include "src/ast/context-slot-cache.h" | 7 #include "src/ast/context-slot-cache.h" |
8 #include "src/ast/scopes.h" | 8 #include "src/ast/scopes.h" |
9 #include "src/ast/variables.h" | 9 #include "src/ast/variables.h" |
10 #include "src/bootstrapper.h" | 10 #include "src/bootstrapper.h" |
(...skipping 355 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
366 scope_info->SetContextLocalCount(context_local_count); | 366 scope_info->SetContextLocalCount(context_local_count); |
367 | 367 |
368 int index = kVariablePartIndex; | 368 int index = kVariablePartIndex; |
369 const int first_slot_index = 0; | 369 const int first_slot_index = 0; |
370 DCHECK_EQ(index, scope_info->StackLocalFirstSlotIndex()); | 370 DCHECK_EQ(index, scope_info->StackLocalFirstSlotIndex()); |
371 scope_info->set(index++, Smi::FromInt(first_slot_index)); | 371 scope_info->set(index++, Smi::FromInt(first_slot_index)); |
372 DCHECK_EQ(index, scope_info->StackLocalNamesIndex()); | 372 DCHECK_EQ(index, scope_info->StackLocalNamesIndex()); |
373 | 373 |
374 // Here we add info for context-allocated "this". | 374 // Here we add info for context-allocated "this". |
375 DCHECK_EQ(index, scope_info->ContextLocalNamesIndex()); | 375 DCHECK_EQ(index, scope_info->ContextLocalNamesIndex()); |
376 scope_info->set(index++, *isolate->factory()->this_string()); | 376 scope_info->set(index++, isolate->heap()->this_string()); |
377 DCHECK_EQ(index, scope_info->ContextLocalInfosIndex()); | 377 DCHECK_EQ(index, scope_info->ContextLocalInfosIndex()); |
378 const uint32_t value = VariableModeField::encode(CONST) | | 378 const uint32_t value = VariableModeField::encode(CONST) | |
379 InitFlagField::encode(kCreatedInitialized) | | 379 InitFlagField::encode(kCreatedInitialized) | |
380 MaybeAssignedFlagField::encode(kNotAssigned); | 380 MaybeAssignedFlagField::encode(kNotAssigned); |
381 scope_info->set(index++, Smi::FromInt(value)); | 381 scope_info->set(index++, Smi::FromInt(value)); |
382 | 382 |
383 // And here we record that this scopeinfo binds a receiver. | 383 // And here we record that this scopeinfo binds a receiver. |
384 DCHECK_EQ(index, scope_info->ReceiverInfoIndex()); | 384 DCHECK_EQ(index, scope_info->ReceiverInfoIndex()); |
385 const int receiver_index = Context::MIN_CONTEXT_SLOTS + 0; | 385 const int receiver_index = Context::MIN_CONTEXT_SLOTS + 0; |
386 scope_info->set(index++, Smi::FromInt(receiver_index)); | 386 scope_info->set(index++, Smi::FromInt(receiver_index)); |
(...skipping 512 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
899 result->set(kModuleRequestsIndex, *module_requests); | 899 result->set(kModuleRequestsIndex, *module_requests); |
900 result->set(kSpecialExportsIndex, *special_exports); | 900 result->set(kSpecialExportsIndex, *special_exports); |
901 result->set(kRegularExportsIndex, *regular_exports); | 901 result->set(kRegularExportsIndex, *regular_exports); |
902 result->set(kNamespaceImportsIndex, *namespace_imports); | 902 result->set(kNamespaceImportsIndex, *namespace_imports); |
903 result->set(kRegularImportsIndex, *regular_imports); | 903 result->set(kRegularImportsIndex, *regular_imports); |
904 return result; | 904 return result; |
905 } | 905 } |
906 | 906 |
907 } // namespace internal | 907 } // namespace internal |
908 } // namespace v8 | 908 } // namespace v8 |
OLD | NEW |