Chromium Code Reviews| Index: src/objects.h |
| diff --git a/src/objects.h b/src/objects.h |
| index f77ac4bc8ea3664643a20395b970e03ab8a6ece3..56ef30b0bd178ad0bcce23a875233c3cd9c509f0 100644 |
| --- a/src/objects.h |
| +++ b/src/objects.h |
| @@ -7907,9 +7907,11 @@ class Module : public Struct { |
| DECLARE_PRINTER(Module) |
| // The code representing this Module, either a SharedFunctionInfo or a |
| - // JSFunction depending on whether it's been instantiated. |
| + // JSFunction or a ModuleInfo depending on whether it's been instantiated and |
| + // evaluated. See Module::ModuleVerify() for the precise invariant. |
| DECL_ACCESSORS(code, Object) |
|
adamk
2016/10/11 15:54:05
Some name ideas:
impl
internal
module
|
| + // The export table. |
| DECL_ACCESSORS(exports, ObjectHashTable) |
| // The namespace object (or undefined). |
| @@ -7920,13 +7922,6 @@ class Module : public Struct { |
| // ModuleInfo::module_requests. |
| DECL_ACCESSORS(requested_modules, FixedArray) |
| - // [[Evaluated]]: Whether this module has been evaluated. Modules |
| - // are only evaluated a single time. |
| - DECL_BOOLEAN_ACCESSORS(evaluated) |
| - |
| - // Storage for [[Evaluated]]. |
| - DECL_INT_ACCESSORS(flags) |
| - |
| // Embedder-specified data |
| DECL_ACCESSORS(embedder_data, Object) |
| @@ -7939,6 +7934,10 @@ class Module : public Struct { |
| // Get the ModuleInfo associated with the code. |
| inline ModuleInfo* info() const; |
| + inline bool instantiated() const; |
| + inline bool evaluated() const; |
| + inline void set_evaluated(); |
| + |
| // Implementation of spec operation ModuleDeclarationInstantiation. |
| // Returns false if an exception occurred during instantiation, true |
| // otherwise. |
| @@ -7965,8 +7964,7 @@ class Module : public Struct { |
| static const int kCodeOffset = HeapObject::kHeaderSize; |
| static const int kExportsOffset = kCodeOffset + kPointerSize; |
| static const int kRequestedModulesOffset = kExportsOffset + kPointerSize; |
| - static const int kFlagsOffset = kRequestedModulesOffset + kPointerSize; |
| - static const int kEmbedderDataOffset = kFlagsOffset + kPointerSize; |
| + static const int kEmbedderDataOffset = kRequestedModulesOffset + kPointerSize; |
| static const int kModuleNamespaceOffset = kEmbedderDataOffset + kPointerSize; |
| static const int kHashOffset = kModuleNamespaceOffset + kPointerSize; |
| static const int kSize = kHashOffset + kPointerSize; |