Index: src/ast/modules.cc |
diff --git a/src/ast/modules.cc b/src/ast/modules.cc |
index 6d8f35f39048057944beb600d472ec64e296053f..f0cb18bc627be13d3fd251231f98dbf6b136431c 100644 |
--- a/src/ast/modules.cc |
+++ b/src/ast/modules.cc |
@@ -87,28 +87,27 @@ |
} // namespace |
-Handle<ModuleInfoEntry> ModuleDescriptor::Entry::Serialize( |
- Isolate* isolate) const { |
- return ModuleInfoEntry::New(isolate, |
- ToStringOrUndefined(isolate, export_name), |
- ToStringOrUndefined(isolate, local_name), |
- ToStringOrUndefined(isolate, import_name), |
- ToStringOrUndefined(isolate, module_request)); |
+Handle<FixedArray> ModuleDescriptor::Entry::Serialize(Isolate* isolate) const { |
+ Handle<FixedArray> result = isolate->factory()->NewFixedArray(4); |
+ result->set(0, *ToStringOrUndefined(isolate, export_name)); |
+ result->set(1, *ToStringOrUndefined(isolate, local_name)); |
+ result->set(2, *ToStringOrUndefined(isolate, import_name)); |
+ result->set(3, *ToStringOrUndefined(isolate, module_request)); |
+ return result; |
} |
ModuleDescriptor::Entry* ModuleDescriptor::Entry::Deserialize( |
- Isolate* isolate, AstValueFactory* avfactory, |
- Handle<ModuleInfoEntry> entry) { |
- Entry* result = new (avfactory->zone()) Entry(Scanner::Location::invalid()); |
- result->export_name = FromStringOrUndefined( |
- isolate, avfactory, handle(entry->export_name(), isolate)); |
- result->local_name = FromStringOrUndefined( |
- isolate, avfactory, handle(entry->local_name(), isolate)); |
- result->import_name = FromStringOrUndefined( |
- isolate, avfactory, handle(entry->import_name(), isolate)); |
- result->module_request = FromStringOrUndefined( |
- isolate, avfactory, handle(entry->module_request(), isolate)); |
- return result; |
+ Isolate* isolate, AstValueFactory* avfactory, Handle<FixedArray> data) { |
+ Entry* entry = new (avfactory->zone()) Entry(Scanner::Location::invalid()); |
+ entry->export_name = |
+ FromStringOrUndefined(isolate, avfactory, handle(data->get(0), isolate)); |
+ entry->local_name = |
+ FromStringOrUndefined(isolate, avfactory, handle(data->get(1), isolate)); |
+ entry->import_name = |
+ FromStringOrUndefined(isolate, avfactory, handle(data->get(2), isolate)); |
+ entry->module_request = |
+ FromStringOrUndefined(isolate, avfactory, handle(data->get(3), isolate)); |
+ return entry; |
} |
void ModuleDescriptor::MakeIndirectExportsExplicit(Zone* zone) { |