| Index: src/ia32/lithium-codegen-ia32.cc
 | 
| diff --git a/src/ia32/lithium-codegen-ia32.cc b/src/ia32/lithium-codegen-ia32.cc
 | 
| index 1dcad043e6067d53ad6a74885ebd28ceec05bb1b..bc6f5cb5d92f59ceba80c4d7788d7c1ca05cd3b9 100644
 | 
| --- a/src/ia32/lithium-codegen-ia32.cc
 | 
| +++ b/src/ia32/lithium-codegen-ia32.cc
 | 
| @@ -2287,11 +2287,15 @@ void LCodeGen::DoCmpIDAndBranch(LCmpIDAndBranch* instr) {
 | 
|  
 | 
|  void LCodeGen::DoCmpObjectEqAndBranch(LCmpObjectEqAndBranch* instr) {
 | 
|    Register left = ToRegister(instr->left());
 | 
| -  Operand right = ToOperand(instr->right());
 | 
|    int false_block = chunk_->LookupDestination(instr->false_block_id());
 | 
|    int true_block = chunk_->LookupDestination(instr->true_block_id());
 | 
|  
 | 
| -  __ cmp(left, Operand(right));
 | 
| +  if (instr->right()->IsConstantOperand()) {
 | 
| +    __ cmp(left, ToHandle(LConstantOperand::cast(instr->right())));
 | 
| +  } else {
 | 
| +    Operand right = ToOperand(instr->right());
 | 
| +    __ cmp(left, Operand(right));
 | 
| +  }
 | 
|    EmitBranch(true_block, false_block, equal);
 | 
|  }
 | 
|  
 | 
| 
 |