| Index: src/full-codegen/ia32/full-codegen-ia32.cc
 | 
| diff --git a/src/full-codegen/ia32/full-codegen-ia32.cc b/src/full-codegen/ia32/full-codegen-ia32.cc
 | 
| index 9f8ad0f9c8e642ca78183c5338e4679c560a2cd9..69ac0720cdbfac7938df3269d625ce4ae2da94ce 100644
 | 
| --- a/src/full-codegen/ia32/full-codegen-ia32.cc
 | 
| +++ b/src/full-codegen/ia32/full-codegen-ia32.cc
 | 
| @@ -2073,10 +2073,10 @@ void FullCodeGenerator::EmitVariableAssignment(Variable* var, Token::Value op,
 | 
|        __ CallRuntime(Runtime::kThrowReferenceError);
 | 
|        __ bind(&assign);
 | 
|      }
 | 
| -    if (var->mode() == CONST) {
 | 
| -      __ CallRuntime(Runtime::kThrowConstAssignError);
 | 
| -    } else {
 | 
| +    if (var->mode() != CONST) {
 | 
|        EmitStoreToStackLocalOrContextSlot(var, location);
 | 
| +    } else if (var->throw_on_const_assignment(language_mode())) {
 | 
| +      __ CallRuntime(Runtime::kThrowConstAssignError);
 | 
|      }
 | 
|    } else if (var->is_this() && var->mode() == CONST && op == Token::INIT) {
 | 
|      // Initializing assignment to const {this} needs a write barrier.
 | 
| @@ -2091,7 +2091,8 @@ void FullCodeGenerator::EmitVariableAssignment(Variable* var, Token::Value op,
 | 
|      __ bind(&uninitialized_this);
 | 
|      EmitStoreToStackLocalOrContextSlot(var, location);
 | 
|  
 | 
| -  } else if (!var->is_const_mode() || op == Token::INIT) {
 | 
| +  } else {
 | 
| +    DCHECK(var->mode() != CONST || op == Token::INIT);
 | 
|      if (var->IsLookupSlot()) {
 | 
|        // Assignment to var.
 | 
|        __ Push(Immediate(var->name()));
 | 
| @@ -2112,13 +2113,6 @@ void FullCodeGenerator::EmitVariableAssignment(Variable* var, Token::Value op,
 | 
|        }
 | 
|        EmitStoreToStackLocalOrContextSlot(var, location);
 | 
|      }
 | 
| -
 | 
| -  } else {
 | 
| -    DCHECK(var->mode() == CONST_LEGACY && op != Token::INIT);
 | 
| -    if (is_strict(language_mode())) {
 | 
| -      __ CallRuntime(Runtime::kThrowConstAssignError);
 | 
| -    }
 | 
| -    // Silently ignore store in sloppy mode.
 | 
|    }
 | 
|  }
 | 
|  
 | 
| 
 |