OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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 #ifndef V8_OBJECTS_H_ | 5 #ifndef V8_OBJECTS_H_ |
6 #define V8_OBJECTS_H_ | 6 #define V8_OBJECTS_H_ |
7 | 7 |
8 #include <iosfwd> | 8 #include <iosfwd> |
9 #include <memory> | 9 #include <memory> |
10 | 10 |
(...skipping 6676 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6687 | 6687 |
6688 static Handle<Object> LoadVariable(Handle<Module> module, int cell_index); | 6688 static Handle<Object> LoadVariable(Handle<Module> module, int cell_index); |
6689 static void StoreVariable(Handle<Module> module, int cell_index, | 6689 static void StoreVariable(Handle<Module> module, int cell_index, |
6690 Handle<Object> value); | 6690 Handle<Object> value); |
6691 | 6691 |
6692 // Get the namespace object for [module_request] of [module]. If it doesn't | 6692 // Get the namespace object for [module_request] of [module]. If it doesn't |
6693 // exist yet, it is created. | 6693 // exist yet, it is created. |
6694 static Handle<JSModuleNamespace> GetModuleNamespace(Handle<Module> module, | 6694 static Handle<JSModuleNamespace> GetModuleNamespace(Handle<Module> module, |
6695 int module_request); | 6695 int module_request); |
6696 | 6696 |
| 6697 // Get the namespace object for [module]. If it doesn't exist yet, it is |
| 6698 // created. |
| 6699 static Handle<JSModuleNamespace> GetModuleNamespace(Handle<Module> module); |
| 6700 |
6697 static const int kCodeOffset = HeapObject::kHeaderSize; | 6701 static const int kCodeOffset = HeapObject::kHeaderSize; |
6698 static const int kExportsOffset = kCodeOffset + kPointerSize; | 6702 static const int kExportsOffset = kCodeOffset + kPointerSize; |
6699 static const int kRegularExportsOffset = kExportsOffset + kPointerSize; | 6703 static const int kRegularExportsOffset = kExportsOffset + kPointerSize; |
6700 static const int kRegularImportsOffset = kRegularExportsOffset + kPointerSize; | 6704 static const int kRegularImportsOffset = kRegularExportsOffset + kPointerSize; |
6701 static const int kHashOffset = kRegularImportsOffset + kPointerSize; | 6705 static const int kHashOffset = kRegularImportsOffset + kPointerSize; |
6702 static const int kModuleNamespaceOffset = kHashOffset + kPointerSize; | 6706 static const int kModuleNamespaceOffset = kHashOffset + kPointerSize; |
6703 static const int kRequestedModulesOffset = | 6707 static const int kRequestedModulesOffset = |
6704 kModuleNamespaceOffset + kPointerSize; | 6708 kModuleNamespaceOffset + kPointerSize; |
6705 static const int kStatusOffset = kRequestedModulesOffset + kPointerSize; | 6709 static const int kStatusOffset = kRequestedModulesOffset + kPointerSize; |
6706 static const int kSize = kStatusOffset + kPointerSize; | 6710 static const int kSize = kStatusOffset + kPointerSize; |
6707 | 6711 |
6708 private: | 6712 private: |
6709 static void CreateExport(Handle<Module> module, int cell_index, | 6713 static void CreateExport(Handle<Module> module, int cell_index, |
6710 Handle<FixedArray> names); | 6714 Handle<FixedArray> names); |
6711 static void CreateIndirectExport(Handle<Module> module, Handle<String> name, | 6715 static void CreateIndirectExport(Handle<Module> module, Handle<String> name, |
6712 Handle<ModuleInfoEntry> entry); | 6716 Handle<ModuleInfoEntry> entry); |
6713 | 6717 |
6714 // Get the namespace object for [module]. If it doesn't exist yet, it is | |
6715 // created. | |
6716 static Handle<JSModuleNamespace> GetModuleNamespace(Handle<Module> module); | |
6717 | |
6718 // The [must_resolve] argument indicates whether or not an exception should be | 6718 // The [must_resolve] argument indicates whether or not an exception should be |
6719 // thrown in case the module does not provide an export named [name] | 6719 // thrown in case the module does not provide an export named [name] |
6720 // (including when a cycle is detected). An exception is always thrown in the | 6720 // (including when a cycle is detected). An exception is always thrown in the |
6721 // case of conflicting star exports. | 6721 // case of conflicting star exports. |
6722 // | 6722 // |
6723 // If [must_resolve] is true, a null result indicates an exception. If | 6723 // If [must_resolve] is true, a null result indicates an exception. If |
6724 // [must_resolve] is false, a null result may or may not indicate an | 6724 // [must_resolve] is false, a null result may or may not indicate an |
6725 // exception (so check manually!). | 6725 // exception (so check manually!). |
6726 class ResolveSet; | 6726 class ResolveSet; |
6727 static MUST_USE_RESULT MaybeHandle<Cell> ResolveExport( | 6727 static MUST_USE_RESULT MaybeHandle<Cell> ResolveExport( |
(...skipping 3521 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10249 } | 10249 } |
10250 }; | 10250 }; |
10251 | 10251 |
10252 | 10252 |
10253 } // NOLINT, false-positive due to second-order macros. | 10253 } // NOLINT, false-positive due to second-order macros. |
10254 } // NOLINT, false-positive due to second-order macros. | 10254 } // NOLINT, false-positive due to second-order macros. |
10255 | 10255 |
10256 #include "src/objects/object-macros-undef.h" | 10256 #include "src/objects/object-macros-undef.h" |
10257 | 10257 |
10258 #endif // V8_OBJECTS_H_ | 10258 #endif // V8_OBJECTS_H_ |
OLD | NEW |