Index: src/ia32/lithium-ia32.cc |
diff --git a/src/ia32/lithium-ia32.cc b/src/ia32/lithium-ia32.cc |
index 12a951bffeadbfb4f95a40365a5445b5e049080e..05d43714a439041133b0b5b84483e4de1b1e4435 100644 |
--- a/src/ia32/lithium-ia32.cc |
+++ b/src/ia32/lithium-ia32.cc |
@@ -1113,6 +1113,10 @@ LInstruction* LChunkBuilder::DoTest(HTest* instr) { |
HCompareJSObjectEq* compare = HCompareJSObjectEq::cast(v); |
return new LCmpJSObjectEqAndBranch(UseRegisterAtStart(compare->left()), |
UseRegisterAtStart(compare->right())); |
+ } else if (v->IsCompareSymbolEq()) { |
+ HCompareSymbolEq* compare = HCompareSymbolEq::cast(v); |
+ return new LCmpSymbolEqAndBranch(UseRegisterAtStart(compare->left()), |
+ UseRegisterAtStart(compare->right())); |
} else if (v->IsInstanceOf()) { |
HInstanceOf* instance_of = HInstanceOf::cast(v); |
LOperand* left = UseFixed(instance_of->left(), InstanceofStub::left()); |
@@ -1540,6 +1544,15 @@ LInstruction* LChunkBuilder::DoCompareJSObjectEq( |
} |
+LInstruction* LChunkBuilder::DoCompareSymbolEq( |
+ HCompareSymbolEq* instr) { |
+ LOperand* left = UseRegisterAtStart(instr->left()); |
+ LOperand* right = UseRegisterAtStart(instr->right()); |
+ LCmpSymbolEq* result = new LCmpSymbolEq(left, right); |
+ return DefineAsRegister(result); |
+} |
+ |
+ |
LInstruction* LChunkBuilder::DoIsNull(HIsNull* instr) { |
ASSERT(instr->value()->representation().IsTagged()); |
LOperand* value = UseRegisterAtStart(instr->value()); |