| 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 |