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 7812 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7823 | 7823 |
7824 static Handle<Object> LoadVariable(Handle<Module> module, int cell_index); | 7824 static Handle<Object> LoadVariable(Handle<Module> module, int cell_index); |
7825 static void StoreVariable(Handle<Module> module, int cell_index, | 7825 static void StoreVariable(Handle<Module> module, int cell_index, |
7826 Handle<Object> value); | 7826 Handle<Object> value); |
7827 | 7827 |
7828 // Get the namespace object for [module_request] of [module]. If it doesn't | 7828 // Get the namespace object for [module_request] of [module]. If it doesn't |
7829 // exist yet, it is created. | 7829 // exist yet, it is created. |
7830 static Handle<JSModuleNamespace> GetModuleNamespace(Handle<Module> module, | 7830 static Handle<JSModuleNamespace> GetModuleNamespace(Handle<Module> module, |
7831 int module_request); | 7831 int module_request); |
7832 | 7832 |
| 7833 // Get the namespace object for [module]. If it doesn't exist yet, it is |
| 7834 // created. |
| 7835 static Handle<JSModuleNamespace> GetModuleNamespace(Handle<Module> module); |
| 7836 |
7833 static const int kCodeOffset = HeapObject::kHeaderSize; | 7837 static const int kCodeOffset = HeapObject::kHeaderSize; |
7834 static const int kExportsOffset = kCodeOffset + kPointerSize; | 7838 static const int kExportsOffset = kCodeOffset + kPointerSize; |
7835 static const int kRegularExportsOffset = kExportsOffset + kPointerSize; | 7839 static const int kRegularExportsOffset = kExportsOffset + kPointerSize; |
7836 static const int kRegularImportsOffset = kRegularExportsOffset + kPointerSize; | 7840 static const int kRegularImportsOffset = kRegularExportsOffset + kPointerSize; |
7837 static const int kHashOffset = kRegularImportsOffset + kPointerSize; | 7841 static const int kHashOffset = kRegularImportsOffset + kPointerSize; |
7838 static const int kModuleNamespaceOffset = kHashOffset + kPointerSize; | 7842 static const int kModuleNamespaceOffset = kHashOffset + kPointerSize; |
7839 static const int kRequestedModulesOffset = | 7843 static const int kRequestedModulesOffset = |
7840 kModuleNamespaceOffset + kPointerSize; | 7844 kModuleNamespaceOffset + kPointerSize; |
7841 static const int kStatusOffset = kRequestedModulesOffset + kPointerSize; | 7845 static const int kStatusOffset = kRequestedModulesOffset + kPointerSize; |
7842 static const int kSize = kStatusOffset + kPointerSize; | 7846 static const int kSize = kStatusOffset + kPointerSize; |
7843 | 7847 |
7844 private: | 7848 private: |
7845 static void CreateExport(Handle<Module> module, int cell_index, | 7849 static void CreateExport(Handle<Module> module, int cell_index, |
7846 Handle<FixedArray> names); | 7850 Handle<FixedArray> names); |
7847 static void CreateIndirectExport(Handle<Module> module, Handle<String> name, | 7851 static void CreateIndirectExport(Handle<Module> module, Handle<String> name, |
7848 Handle<ModuleInfoEntry> entry); | 7852 Handle<ModuleInfoEntry> entry); |
7849 | 7853 |
7850 // Get the namespace object for [module]. If it doesn't exist yet, it is | |
7851 // created. | |
7852 static Handle<JSModuleNamespace> GetModuleNamespace(Handle<Module> module); | |
7853 | |
7854 // The [must_resolve] argument indicates whether or not an exception should be | 7854 // The [must_resolve] argument indicates whether or not an exception should be |
7855 // thrown in case the module does not provide an export named [name] | 7855 // thrown in case the module does not provide an export named [name] |
7856 // (including when a cycle is detected). An exception is always thrown in the | 7856 // (including when a cycle is detected). An exception is always thrown in the |
7857 // case of conflicting star exports. | 7857 // case of conflicting star exports. |
7858 // | 7858 // |
7859 // If [must_resolve] is true, a null result indicates an exception. If | 7859 // If [must_resolve] is true, a null result indicates an exception. If |
7860 // [must_resolve] is false, a null result may or may not indicate an | 7860 // [must_resolve] is false, a null result may or may not indicate an |
7861 // exception (so check manually!). | 7861 // exception (so check manually!). |
7862 class ResolveSet; | 7862 class ResolveSet; |
7863 static MUST_USE_RESULT MaybeHandle<Cell> ResolveExport( | 7863 static MUST_USE_RESULT MaybeHandle<Cell> ResolveExport( |
(...skipping 3711 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11575 } | 11575 } |
11576 }; | 11576 }; |
11577 | 11577 |
11578 | 11578 |
11579 } // NOLINT, false-positive due to second-order macros. | 11579 } // NOLINT, false-positive due to second-order macros. |
11580 } // NOLINT, false-positive due to second-order macros. | 11580 } // NOLINT, false-positive due to second-order macros. |
11581 | 11581 |
11582 #include "src/objects/object-macros-undef.h" | 11582 #include "src/objects/object-macros-undef.h" |
11583 | 11583 |
11584 #endif // V8_OBJECTS_H_ | 11584 #endif // V8_OBJECTS_H_ |
OLD | NEW |