| Index: src/arm/lithium-codegen-arm.cc | 
| diff --git a/src/arm/lithium-codegen-arm.cc b/src/arm/lithium-codegen-arm.cc | 
| index b35dc7c145d884c074bd6582419293f7015fd954..a01e41e067951737a1586aab930da7fcbdc4b1a7 100644 | 
| --- a/src/arm/lithium-codegen-arm.cc | 
| +++ b/src/arm/lithium-codegen-arm.cc | 
| @@ -2310,6 +2310,14 @@ void LCodeGen::DoStoreContextSlot(LStoreContextSlot* instr) { | 
| Register context = ToRegister(instr->context()); | 
| Register value = ToRegister(instr->value()); | 
| MemOperand target = ContextOperand(context, instr->slot_index()); | 
| + | 
| +  Label skip_assignment; | 
| + | 
| +  if (instr->RequiresHoleCheck()) { | 
| +    __ cmp(value, Operand(factory()->the_hole_value())); | 
| +    __ b(ne, &skip_assignment); | 
| +  } | 
| + | 
| __ str(value, target); | 
| if (instr->hydrogen()->NeedsWriteBarrier()) { | 
| HType type = instr->hydrogen()->value()->type(); | 
| @@ -2324,6 +2332,8 @@ void LCodeGen::DoStoreContextSlot(LStoreContextSlot* instr) { | 
| EMIT_REMEMBERED_SET, | 
| check_needed); | 
| } | 
| + | 
| +  __ bind(&skip_assignment); | 
| } | 
|  | 
|  | 
|  |