| 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());
|
|
|