Index: src/arm/lithium-arm.cc |
diff --git a/src/arm/lithium-arm.cc b/src/arm/lithium-arm.cc |
index 5e2180a1b9cf94139508590b173cf16169e59b52..152976ea2d453247a9434c30a4add47be405af61 100644 |
--- a/src/arm/lithium-arm.cc |
+++ b/src/arm/lithium-arm.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); |
LInstruction* result = |
@@ -1507,6 +1511,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()); |