Index: src/full-codegen.h |
diff --git a/src/full-codegen.h b/src/full-codegen.h |
index 89b51f9582b2a3520af96155f3817ca12831ac91..cfa7da3c741663f63a66f5b4ce21f4e16d2279e1 100644 |
--- a/src/full-codegen.h |
+++ b/src/full-codegen.h |
@@ -396,9 +396,15 @@ class FullCodeGenerator: public AstVisitor { |
void VisitInDuplicateContext(Expression* expr); |
void VisitDeclarations(ZoneList<Declaration*>* declarations); |
+ void DeclareModules(Handle<FixedArray> descriptions); |
void DeclareGlobals(Handle<FixedArray> pairs); |
int DeclareGlobalsFlags(); |
+ // Generate code to allocate all (including nested) modules and contexts. |
+ // Because of recursive linking and the presence of module alias declarations, |
+ // this has to be a separate pass _before_ populating or executing any module. |
+ void AllocateModules(ZoneList<Declaration*>* declarations); |
+ |
// Try to perform a comparison as a fast inlined literal compare if |
// the operands allow it. Returns true if the compare operations |
// has been matched and all code generated; false otherwise. |
@@ -804,6 +810,8 @@ class FullCodeGenerator: public AstVisitor { |
NestedStatement* nesting_stack_; |
int loop_depth_; |
ZoneList<Handle<Object> >* globals_; |
+ Handle<FixedArray> modules_; |
+ int module_index_; |
const ExpressionContext* context_; |
ZoneList<BailoutEntry> bailout_entries_; |
ZoneList<BailoutEntry> stack_checks_; |