| Index: src/hydrogen.cc
|
| diff --git a/src/hydrogen.cc b/src/hydrogen.cc
|
| index 7550809ae105f2a6c2e598ef191a93884767ff9c..13e0e162cb5b6bede0950b3bcd6878b409427b66 100644
|
| --- a/src/hydrogen.cc
|
| +++ b/src/hydrogen.cc
|
| @@ -5237,18 +5237,6 @@ void HGraphBuilder::VisitCountOperation(CountOperation* expr) {
|
| }
|
|
|
|
|
| -HCompareSymbolEq* HGraphBuilder::BuildSymbolCompare(HValue* left,
|
| - HValue* right,
|
| - Token::Value op) {
|
| - ASSERT(op == Token::EQ || op == Token::EQ_STRICT);
|
| - AddInstruction(new(zone()) HCheckNonSmi(left));
|
| - AddInstruction(HCheckInstanceType::NewIsSymbol(left));
|
| - AddInstruction(new(zone()) HCheckNonSmi(right));
|
| - AddInstruction(HCheckInstanceType::NewIsSymbol(right));
|
| - return new(zone()) HCompareSymbolEq(left, right, op);
|
| -}
|
| -
|
| -
|
| HStringCharCodeAt* HGraphBuilder::BuildStringCharCodeAt(HValue* string,
|
| HValue* index) {
|
| AddInstruction(new(zone()) HCheckNonSmi(string));
|
| @@ -5594,7 +5582,7 @@ void HGraphBuilder::VisitCompareOperation(CompareOperation* expr) {
|
| AddInstruction(HCheckInstanceType::NewIsSpecObject(left));
|
| AddInstruction(new(zone()) HCheckNonSmi(right));
|
| AddInstruction(HCheckInstanceType::NewIsSpecObject(right));
|
| - instr = new(zone()) HCompareJSObjectEq(left, right);
|
| + instr = new(zone()) HCompareObjectEq(left, right);
|
| break;
|
| }
|
| default:
|
| @@ -5603,7 +5591,11 @@ void HGraphBuilder::VisitCompareOperation(CompareOperation* expr) {
|
| }
|
| } else if (type_info.IsString() && oracle()->IsSymbolCompare(expr) &&
|
| (op == Token::EQ || op == Token::EQ_STRICT)) {
|
| - instr = BuildSymbolCompare(left, right, op);
|
| + AddInstruction(new(zone()) HCheckNonSmi(left));
|
| + AddInstruction(HCheckInstanceType::NewIsSymbol(left));
|
| + AddInstruction(new(zone()) HCheckNonSmi(right));
|
| + AddInstruction(HCheckInstanceType::NewIsSymbol(right));
|
| + instr = new(zone()) HCompareObjectEq(left, right);
|
| } else {
|
| HCompare* compare = new(zone()) HCompare(left, right, op);
|
| Representation r = ToRepresentation(type_info);
|
| @@ -5849,7 +5841,7 @@ void HGraphBuilder::GenerateObjectEquals(CallRuntime* call) {
|
| CHECK_ALIVE(VisitForValue(call->arguments()->at(1)));
|
| HValue* right = Pop();
|
| HValue* left = Pop();
|
| - HCompareJSObjectEq* result = new(zone()) HCompareJSObjectEq(left, right);
|
| + HCompareObjectEq* result = new(zone()) HCompareObjectEq(left, right);
|
| ast_context()->ReturnInstruction(result, call->id());
|
| }
|
|
|
|
|