| Index: src/ast/variables.h | 
| diff --git a/src/ast/variables.h b/src/ast/variables.h | 
| index 950db3c0021263f93209609d24cfd61de8a2d58f..420097484e06b22cf389c889ec0281253df661ea 100644 | 
| --- a/src/ast/variables.h | 
| +++ b/src/ast/variables.h | 
| @@ -17,7 +17,7 @@ namespace internal { | 
| // after binding and variable allocation. | 
| class Variable: public ZoneObject { | 
| public: | 
| -  enum Kind { NORMAL, FUNCTION, THIS, ARGUMENTS }; | 
| +  enum Kind { NORMAL, FUNCTION, THIS, ARGUMENTS, SLOPPY_FUNCTION_NAME }; | 
|  | 
| Variable(Scope* scope, const AstRawString* name, VariableMode mode, Kind kind, | 
| InitializationFlag initialization_flag, | 
| @@ -71,10 +71,12 @@ class Variable: public ZoneObject { | 
| bool IsStaticGlobalObjectProperty() const; | 
|  | 
| bool is_dynamic() const { return IsDynamicVariableMode(mode_); } | 
| -  bool is_const_mode() const { return IsImmutableVariableMode(mode_); } | 
| bool binding_needs_init() const { | 
| return initialization_flag_ == kNeedsInitialization; | 
| } | 
| +  bool throw_on_const_assignment(LanguageMode language_mode) const { | 
| +    return kind_ != SLOPPY_FUNCTION_NAME || is_strict(language_mode); | 
| +  } | 
|  | 
| bool is_function() const { return kind_ == FUNCTION; } | 
| bool is_this() const { return kind_ == THIS; } | 
|  |