Index: src/objects.h |
diff --git a/src/objects.h b/src/objects.h |
index 168dc0744e00ec8d2601cfa3ecfe657163f66773..d45fbf686b13c951dfc894a46d99bd7ab25e97fa 100644 |
--- a/src/objects.h |
+++ b/src/objects.h |
@@ -7894,6 +7894,13 @@ 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) |
+ |
static void CreateExport(Handle<Module> module, Handle<String> name); |
static void StoreExport(Handle<Module> module, Handle<String> name, |
Handle<Object> value); |
@@ -7902,9 +7909,12 @@ 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 kSize = kRequestedModulesOffset + kPointerSize; |
+ static const int kFlagsOffset = kRequestedModulesOffset + kPointerSize; |
+ static const int kSize = kFlagsOffset + kPointerSize; |
private: |
+ enum { kEvaluatedBit }; |
+ |
DISALLOW_IMPLICIT_CONSTRUCTORS(Module); |
}; |