Index: src/x64/lithium-x64.cc |
diff --git a/src/x64/lithium-x64.cc b/src/x64/lithium-x64.cc |
index a850ecf5fcb0e785351b5166eb638160c629e5a9..a4858abba583bbb317cd85467d0823f8508a7e29 100644 |
--- a/src/x64/lithium-x64.cc |
+++ b/src/x64/lithium-x64.cc |
@@ -1107,6 +1107,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); |
LInstanceOfAndBranch* result = |
@@ -1514,6 +1518,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()); |