Index: src/x64/lithium-x64.cc |
diff --git a/src/x64/lithium-x64.cc b/src/x64/lithium-x64.cc |
index d7ac279a4cd852d27b4232c5613712169df5f9d3..9a88c5b570774c4aee3fc10ab63270083c1e087b 100644 |
--- a/src/x64/lithium-x64.cc |
+++ b/src/x64/lithium-x64.cc |
@@ -1597,9 +1597,10 @@ LInstruction* LChunkBuilder::DoCompareGeneric(HCompareGeneric* instr) { |
LInstruction* LChunkBuilder::DoCompareIDAndBranch( |
HCompareIDAndBranch* instr) { |
Representation r = instr->representation(); |
- if (r.IsInteger32()) { |
- ASSERT(instr->left()->representation().IsInteger32()); |
- ASSERT(instr->right()->representation().IsInteger32()); |
+ if (r.IsSmiOrInteger32()) { |
+ ASSERT(instr->left()->representation().IsSmiOrInteger32()); |
+ ASSERT(instr->left()->representation().Equals( |
+ instr->right()->representation())); |
LOperand* left = UseRegisterOrConstantAtStart(instr->left()); |
LOperand* right = UseOrConstantAtStart(instr->right()); |
return new(zone()) LCmpIDAndBranch(left, right); |