| 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 633 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 644 int entry = ModuleVariablesIndex(); | 644 int entry = ModuleVariablesIndex(); |
| 645 for (int i = 0; i < module_vars_count; ++i) { | 645 for (int i = 0; i < module_vars_count; ++i) { |
| 646 if (*name == get(entry + kModuleVariableNameOffset)) { | 646 if (*name == get(entry + kModuleVariableNameOffset)) { |
| 647 int index; | 647 int index; |
| 648 ModuleVariable(i, nullptr, &index, mode, init_flag, maybe_assigned_flag); | 648 ModuleVariable(i, nullptr, &index, mode, init_flag, maybe_assigned_flag); |
| 649 return index; | 649 return index; |
| 650 } | 650 } |
| 651 entry += kModuleVariableEntryLength; | 651 entry += kModuleVariableEntryLength; |
| 652 } | 652 } |
| 653 | 653 |
| 654 return -1; | 654 return 0; |
| 655 } | 655 } |
| 656 | 656 |
| 657 int ScopeInfo::ContextSlotIndex(Handle<ScopeInfo> scope_info, | 657 int ScopeInfo::ContextSlotIndex(Handle<ScopeInfo> scope_info, |
| 658 Handle<String> name, VariableMode* mode, | 658 Handle<String> name, VariableMode* mode, |
| 659 InitializationFlag* init_flag, | 659 InitializationFlag* init_flag, |
| 660 MaybeAssignedFlag* maybe_assigned_flag) { | 660 MaybeAssignedFlag* maybe_assigned_flag) { |
| 661 DCHECK(name->IsInternalizedString()); | 661 DCHECK(name->IsInternalizedString()); |
| 662 DCHECK_NOT_NULL(mode); | 662 DCHECK_NOT_NULL(mode); |
| 663 DCHECK_NOT_NULL(init_flag); | 663 DCHECK_NOT_NULL(init_flag); |
| 664 DCHECK_NOT_NULL(maybe_assigned_flag); | 664 DCHECK_NOT_NULL(maybe_assigned_flag); |
| (...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 796 | 796 |
| 797 int entry = ModuleVariablesIndex() + i * kModuleVariableEntryLength; | 797 int entry = ModuleVariablesIndex() + i * kModuleVariableEntryLength; |
| 798 int properties = | 798 int properties = |
| 799 Smi::cast(get(entry + kModuleVariablePropertiesOffset))->value(); | 799 Smi::cast(get(entry + kModuleVariablePropertiesOffset))->value(); |
| 800 | 800 |
| 801 if (name != nullptr) { | 801 if (name != nullptr) { |
| 802 *name = String::cast(get(entry + kModuleVariableNameOffset)); | 802 *name = String::cast(get(entry + kModuleVariableNameOffset)); |
| 803 } | 803 } |
| 804 if (index != nullptr) { | 804 if (index != nullptr) { |
| 805 *index = Smi::cast(get(entry + kModuleVariableIndexOffset))->value(); | 805 *index = Smi::cast(get(entry + kModuleVariableIndexOffset))->value(); |
| 806 DCHECK_NE(*index, 0); |
| 806 } | 807 } |
| 807 if (mode != nullptr) { | 808 if (mode != nullptr) { |
| 808 *mode = VariableModeField::decode(properties); | 809 *mode = VariableModeField::decode(properties); |
| 809 } | 810 } |
| 810 if (init_flag != nullptr) { | 811 if (init_flag != nullptr) { |
| 811 *init_flag = InitFlagField::decode(properties); | 812 *init_flag = InitFlagField::decode(properties); |
| 812 } | 813 } |
| 813 if (maybe_assigned_flag != nullptr) { | 814 if (maybe_assigned_flag != nullptr) { |
| 814 *maybe_assigned_flag = MaybeAssignedFlagField::decode(properties); | 815 *maybe_assigned_flag = MaybeAssignedFlagField::decode(properties); |
| 815 } | 816 } |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 857 } | 858 } |
| 858 | 859 |
| 859 PrintF("}\n"); | 860 PrintF("}\n"); |
| 860 } | 861 } |
| 861 #endif // DEBUG | 862 #endif // DEBUG |
| 862 | 863 |
| 863 Handle<ModuleInfoEntry> ModuleInfoEntry::New(Isolate* isolate, | 864 Handle<ModuleInfoEntry> ModuleInfoEntry::New(Isolate* isolate, |
| 864 Handle<Object> export_name, | 865 Handle<Object> export_name, |
| 865 Handle<Object> local_name, | 866 Handle<Object> local_name, |
| 866 Handle<Object> import_name, | 867 Handle<Object> import_name, |
| 867 Handle<Object> module_request, | 868 int module_request, int cell_index, |
| 868 int beg_pos, int end_pos) { | 869 int beg_pos, int end_pos) { |
| 869 Handle<ModuleInfoEntry> result = isolate->factory()->NewModuleInfoEntry(); | 870 Handle<ModuleInfoEntry> result = isolate->factory()->NewModuleInfoEntry(); |
| 870 result->set(kExportNameIndex, *export_name); | 871 result->set(kExportNameIndex, *export_name); |
| 871 result->set(kLocalNameIndex, *local_name); | 872 result->set(kLocalNameIndex, *local_name); |
| 872 result->set(kImportNameIndex, *import_name); | 873 result->set(kImportNameIndex, *import_name); |
| 873 result->set(kModuleRequestIndex, *module_request); | 874 result->set(kModuleRequestIndex, Smi::FromInt(module_request)); |
| 875 result->set(kCellIndexIndex, Smi::FromInt(cell_index)); |
| 874 result->set(kBegPosIndex, Smi::FromInt(beg_pos)); | 876 result->set(kBegPosIndex, Smi::FromInt(beg_pos)); |
| 875 result->set(kEndPosIndex, Smi::FromInt(end_pos)); | 877 result->set(kEndPosIndex, Smi::FromInt(end_pos)); |
| 876 return result; | 878 return result; |
| 877 } | 879 } |
| 878 | 880 |
| 879 Handle<ModuleInfo> ModuleInfo::New(Isolate* isolate, Zone* zone, | 881 Handle<ModuleInfo> ModuleInfo::New(Isolate* isolate, Zone* zone, |
| 880 ModuleDescriptor* descr) { | 882 ModuleDescriptor* descr) { |
| 881 // Serialize module requests. | 883 // Serialize module requests. |
| 882 Handle<FixedArray> module_requests = isolate->factory()->NewFixedArray( | 884 Handle<FixedArray> module_requests = isolate->factory()->NewFixedArray( |
| 883 static_cast<int>(descr->module_requests().size())); | 885 static_cast<int>(descr->module_requests().size())); |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 942 if (String::cast(entry->local_name())->Equals(*local_name)) { | 944 if (String::cast(entry->local_name())->Equals(*local_name)) { |
| 943 return entry; | 945 return entry; |
| 944 } | 946 } |
| 945 } | 947 } |
| 946 UNREACHABLE(); | 948 UNREACHABLE(); |
| 947 return Handle<ModuleInfoEntry>(); | 949 return Handle<ModuleInfoEntry>(); |
| 948 } | 950 } |
| 949 | 951 |
| 950 } // namespace internal | 952 } // namespace internal |
| 951 } // namespace v8 | 953 } // namespace v8 |
| OLD | NEW |