| Index: src/ast/scopes.h
 | 
| diff --git a/src/ast/scopes.h b/src/ast/scopes.h
 | 
| index 3ea09fb38bc090021730a12e083cf966552551a6..41ccb92ffec17d1d67041daedaaedc9a29251209 100644
 | 
| --- a/src/ast/scopes.h
 | 
| +++ b/src/ast/scopes.h
 | 
| @@ -233,9 +233,6 @@ class Scope: public ZoneObject {
 | 
|      set_language_mode(language_mode);
 | 
|    }
 | 
|  
 | 
| -  // Set the ASM module flag.
 | 
| -  void SetAsmModule() { asm_module_ = true; }
 | 
| -
 | 
|    // Inform the scope that the scope may execute declarations nonlinearly.
 | 
|    // Currently, the only nonlinear scope is a switch statement. The name is
 | 
|    // more general in case something else comes up with similar control flow,
 | 
| @@ -316,9 +313,8 @@ class Scope: public ZoneObject {
 | 
|    bool outer_scope_calls_sloppy_eval() const {
 | 
|      return outer_scope_calls_sloppy_eval_;
 | 
|    }
 | 
| -  bool asm_module() const { return asm_module_; }
 | 
| -  bool asm_function() const { return asm_function_; }
 | 
| -
 | 
| +  bool IsAsmModule() const;
 | 
| +  bool IsAsmFunction() const;
 | 
|    // Does this scope access "super" property (super.foo).
 | 
|    bool uses_super_property() const { return scope_uses_super_property_; }
 | 
|    // Does this scope have the potential to execute declarations non-linearly?
 | 
| @@ -514,10 +510,6 @@ class Scope: public ZoneObject {
 | 
|    bool scope_uses_super_property_ : 1;
 | 
|    // This scope has a parameter called "arguments".
 | 
|    bool has_arguments_parameter_ : 1;
 | 
| -  // This scope contains an "use asm" annotation.
 | 
| -  bool asm_module_ : 1;
 | 
| -  // This scope's outer context is an asm module.
 | 
| -  bool asm_function_ : 1;
 | 
|    // This scope's declarations might not be executed in order (e.g., switch).
 | 
|    bool scope_nonlinear_ : 1;
 | 
|    bool is_hidden_ : 1;
 | 
| @@ -684,6 +676,11 @@ class DeclarationScope : public Scope {
 | 
|               IsClassConstructor(function_kind())));
 | 
|    }
 | 
|  
 | 
| +  bool asm_module() const { return asm_module_; }
 | 
| +  void set_asm_module() { asm_module_ = true; }
 | 
| +  bool asm_function() const { return asm_function_; }
 | 
| +  void set_asm_function() { asm_module_ = true; }
 | 
| +
 | 
|    void DeclareThis(AstValueFactory* ast_value_factory);
 | 
|    void DeclareDefaultFunctionVariables(AstValueFactory* ast_value_factory);
 | 
|  
 | 
| @@ -860,6 +857,10 @@ class DeclarationScope : public Scope {
 | 
|    const FunctionKind function_kind_;
 | 
|  
 | 
|    bool has_simple_parameters_ : 1;
 | 
| +  // This scope contains an "use asm" annotation.
 | 
| +  bool asm_module_ : 1;
 | 
| +  // This scope's outer context is an asm module.
 | 
| +  bool asm_function_ : 1;
 | 
|  
 | 
|    // Info about the parameter list of a function.
 | 
|    int arity_;
 | 
| 
 |