| OLD | NEW |
| 1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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/factory.h" | 5 #include "src/factory.h" |
| 6 | 6 |
| 7 #include "src/accessors.h" | 7 #include "src/accessors.h" |
| 8 #include "src/allocation-site-scopes.h" | 8 #include "src/allocation-site-scopes.h" |
| 9 #include "src/base/bits.h" | 9 #include "src/base/bits.h" |
| 10 #include "src/bootstrapper.h" | 10 #include "src/bootstrapper.h" |
| (...skipping 1741 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1752 Handle<Module> Factory::NewModule(Handle<SharedFunctionInfo> code) { | 1752 Handle<Module> Factory::NewModule(Handle<SharedFunctionInfo> code) { |
| 1753 Handle<ModuleInfo> module_info(code->scope_info()->ModuleDescriptorInfo(), | 1753 Handle<ModuleInfo> module_info(code->scope_info()->ModuleDescriptorInfo(), |
| 1754 isolate()); | 1754 isolate()); |
| 1755 Handle<ObjectHashTable> exports = | 1755 Handle<ObjectHashTable> exports = |
| 1756 ObjectHashTable::New(isolate(), module_info->regular_exports()->length()); | 1756 ObjectHashTable::New(isolate(), module_info->regular_exports()->length()); |
| 1757 int requested_modules_length = module_info->module_requests()->length(); | 1757 int requested_modules_length = module_info->module_requests()->length(); |
| 1758 Handle<FixedArray> requested_modules = | 1758 Handle<FixedArray> requested_modules = |
| 1759 requested_modules_length > 0 ? NewFixedArray(requested_modules_length) | 1759 requested_modules_length > 0 ? NewFixedArray(requested_modules_length) |
| 1760 : empty_fixed_array(); | 1760 : empty_fixed_array(); |
| 1761 | 1761 |
| 1762 // To make it easy to hash Modules, we set a new symbol as the name of |
| 1763 // SharedFunctionInfo representing this Module. |
| 1764 Handle<Symbol> name_symbol = NewSymbol(); |
| 1765 code->set_name(*name_symbol); |
| 1766 |
| 1762 Handle<Module> module = Handle<Module>::cast(NewStruct(MODULE_TYPE)); | 1767 Handle<Module> module = Handle<Module>::cast(NewStruct(MODULE_TYPE)); |
| 1763 module->set_code(*code); | 1768 module->set_code(*code); |
| 1764 module->set_exports(*exports); | 1769 module->set_exports(*exports); |
| 1765 module->set_requested_modules(*requested_modules); | 1770 module->set_requested_modules(*requested_modules); |
| 1766 module->set_flags(0); | 1771 module->set_flags(0); |
| 1767 module->set_embedder_data(isolate()->heap()->undefined_value()); | 1772 module->set_embedder_data(isolate()->heap()->undefined_value()); |
| 1768 return module; | 1773 return module; |
| 1769 } | 1774 } |
| 1770 | 1775 |
| 1771 Handle<JSArrayBuffer> Factory::NewJSArrayBuffer(SharedFlag shared, | 1776 Handle<JSArrayBuffer> Factory::NewJSArrayBuffer(SharedFlag shared, |
| (...skipping 827 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2599 Handle<AccessorInfo> prototype = | 2604 Handle<AccessorInfo> prototype = |
| 2600 Accessors::FunctionPrototypeInfo(isolate(), attribs); | 2605 Accessors::FunctionPrototypeInfo(isolate(), attribs); |
| 2601 AccessorConstantDescriptor d(Handle<Name>(Name::cast(prototype->name())), | 2606 AccessorConstantDescriptor d(Handle<Name>(Name::cast(prototype->name())), |
| 2602 prototype, attribs); | 2607 prototype, attribs); |
| 2603 map->AppendDescriptor(&d); | 2608 map->AppendDescriptor(&d); |
| 2604 } | 2609 } |
| 2605 } | 2610 } |
| 2606 | 2611 |
| 2607 } // namespace internal | 2612 } // namespace internal |
| 2608 } // namespace v8 | 2613 } // namespace v8 |
| OLD | NEW |