| Index: src/compiler.cc
 | 
| diff --git a/src/compiler.cc b/src/compiler.cc
 | 
| index 9aab688c6a0492ecabd546c95969e7168437ce67..75d23eac87c496f38f5d7baa5bbf52fae7c06d35 100644
 | 
| --- a/src/compiler.cc
 | 
| +++ b/src/compiler.cc
 | 
| @@ -1135,7 +1135,7 @@ static Handle<SharedFunctionInfo> CompileToplevel(CompilationInfo* info) {
 | 
|  
 | 
|    isolate->debug()->OnBeforeCompile(script);
 | 
|  
 | 
| -  DCHECK(info->is_eval() || info->is_global());
 | 
| +  DCHECK(info->is_eval() || info->is_global() || info->is_module());
 | 
|  
 | 
|    info->MarkAsToplevel();
 | 
|  
 | 
| @@ -1280,7 +1280,8 @@ Handle<SharedFunctionInfo> Compiler::CompileScript(
 | 
|      int column_offset, bool is_embedder_debug_script,
 | 
|      bool is_shared_cross_origin, Handle<Context> context,
 | 
|      v8::Extension* extension, ScriptData** cached_data,
 | 
| -    ScriptCompiler::CompileOptions compile_options, NativesFlag natives) {
 | 
| +    ScriptCompiler::CompileOptions compile_options, NativesFlag natives,
 | 
| +    bool is_module) {
 | 
|    Isolate* isolate = source->GetIsolate();
 | 
|    if (compile_options == ScriptCompiler::kNoCompileOptions) {
 | 
|      cached_data = NULL;
 | 
| @@ -1345,7 +1346,11 @@ Handle<SharedFunctionInfo> Compiler::CompileScript(
 | 
|  
 | 
|      // Compile the function and add it to the cache.
 | 
|      CompilationInfoWithZone info(script);
 | 
| -    info.MarkAsGlobal();
 | 
| +    if (FLAG_harmony_modules && is_module) {
 | 
| +      info.MarkAsModule();
 | 
| +    } else {
 | 
| +      info.MarkAsGlobal();
 | 
| +    }
 | 
|      info.SetCachedData(cached_data, compile_options);
 | 
|      info.SetExtension(extension);
 | 
|      info.SetContext(context);
 | 
| 
 |