| Index: src/parser.cc
 | 
| diff --git a/src/parser.cc b/src/parser.cc
 | 
| index 5be1a6dc2b98ae4874b9a762c8ca2ac8a98272aa..3615f2298794d12de8b3bc9d3a3ad3078fa8bf1a 100644
 | 
| --- a/src/parser.cc
 | 
| +++ b/src/parser.cc
 | 
| @@ -602,12 +602,16 @@ Parser::Parser(Handle<Script> script,
 | 
|        fni_(NULL),
 | 
|        allow_natives_syntax_((parser_flags & kAllowNativesSyntax) != 0),
 | 
|        allow_lazy_((parser_flags & kAllowLazy) != 0),
 | 
| +      allow_modules_((parser_flags & kAllowModules) != 0),
 | 
|        stack_overflow_(false),
 | 
|        parenthesized_function_(false) {
 | 
|    AstNode::ResetIds();
 | 
|    if ((parser_flags & kLanguageModeMask) == EXTENDED_MODE) {
 | 
|      scanner().SetHarmonyScoping(true);
 | 
|    }
 | 
| +  if ((parser_flags & kAllowModules) != 0) {
 | 
| +    scanner().SetHarmonyModules(true);
 | 
| +  }
 | 
|  }
 | 
|  
 | 
|  
 | 
| @@ -4343,7 +4347,8 @@ preparser::PreParser::PreParseResult Parser::LazyParseFunctionLiteral(
 | 
|                                                     NULL,
 | 
|                                                     stack_limit,
 | 
|                                                     do_allow_lazy,
 | 
| -                                                   allow_natives_syntax_);
 | 
| +                                                   allow_natives_syntax_,
 | 
| +                                                   allow_modules_);
 | 
|    }
 | 
|    preparser::PreParser::PreParseResult result =
 | 
|        reusable_preparser_->PreParseLazyFunction(top_scope_->language_mode(),
 | 
| @@ -5665,6 +5670,9 @@ bool ParserApi::Parse(CompilationInfo* info, int parsing_flags) {
 | 
|      // Harmony scoping is requested.
 | 
|      parsing_flags |= EXTENDED_MODE;
 | 
|    }
 | 
| +  if (!info->is_native() && FLAG_harmony_modules) {
 | 
| +    parsing_flags |= kAllowModules;
 | 
| +  }
 | 
|    if (FLAG_allow_natives_syntax || info->is_native()) {
 | 
|      // We requre %identifier(..) syntax.
 | 
|      parsing_flags |= kAllowNativesSyntax;
 | 
| 
 |