| Index: src/ia32/lithium-ia32.cc | 
| diff --git a/src/ia32/lithium-ia32.cc b/src/ia32/lithium-ia32.cc | 
| index cb15e0d82f4872f7b3bbc1608cf5d49c90126f22..f61fd9aae22293f46ccc5c70986531b3bc24a34e 100644 | 
| --- a/src/ia32/lithium-ia32.cc | 
| +++ b/src/ia32/lithium-ia32.cc | 
| @@ -1865,9 +1865,16 @@ LInstruction* LChunkBuilder::DoSeqStringSetChar(HSeqStringSetChar* instr) { | 
|  | 
|  | 
| LInstruction* LChunkBuilder::DoBoundsCheck(HBoundsCheck* instr) { | 
| -  return AssignEnvironment(new(zone()) LBoundsCheck( | 
| -      UseRegisterOrConstantAtStart(instr->index()), | 
| -      UseAtStart(instr->length()))); | 
| +  if (!FLAG_debug_code && instr->skip_check()) return NULL; | 
| +  LOperand* index = UseRegisterOrConstantAtStart(instr->index()); | 
| +  LOperand* length = !index->IsConstantOperand() | 
| +      ? UseOrConstantAtStart(instr->length()) | 
| +      : UseAtStart(instr->length()); | 
| +  LInstruction* result = new(zone()) LBoundsCheck(index, length); | 
| +  if (!FLAG_debug_code || !instr->skip_check()) { | 
| +    result = AssignEnvironment(result); | 
| +  } | 
| +  return result; | 
| } | 
|  | 
|  | 
|  |