| Index: test/cctest/compiler/test-js-typed-lowering.cc | 
| diff --git a/test/cctest/compiler/test-js-typed-lowering.cc b/test/cctest/compiler/test-js-typed-lowering.cc | 
| index fb63583f88a6d60ac45d977a68919d5127f38fe0..861cf3932b67e395f3c9001133e2d84fe4bb1c43 100644 | 
| --- a/test/cctest/compiler/test-js-typed-lowering.cc | 
| +++ b/test/cctest/compiler/test-js-typed-lowering.cc | 
| @@ -684,12 +684,14 @@ TEST(NumberComparison) { | 
|  | 
| for (size_t i = 0; i < arraysize(kJSTypes); i++) { | 
| Type* t0 = kJSTypes[i]; | 
| -    if (t0->Is(Type::String())) continue;  // skip Type::String | 
| +    // Skip Type::String and Type::Receiver which might coerce into a string. | 
| +    if (t0->Is(Type::String()) || t0->Is(Type::Receiver())) continue; | 
| Node* p0 = R.Parameter(t0, 0); | 
|  | 
| for (size_t j = 0; j < arraysize(kJSTypes); j++) { | 
| Type* t1 = kJSTypes[j]; | 
| -      if (t1->Is(Type::String())) continue;  // skip Type::String | 
| +      // Skip Type::String and Type::Receiver which might coerce into a string. | 
| +      if (t1->Is(Type::String()) || t0->Is(Type::Receiver())) continue; | 
| Node* p1 = R.Parameter(t1, 1); | 
|  | 
| for (size_t k = 0; k < arraysize(ops); k += 2) { | 
| @@ -746,7 +748,7 @@ TEST(MixedComparison1) { | 
| TEST(ObjectComparison) { | 
| JSTypedLoweringTester R; | 
|  | 
| -  Node* p0 = R.Parameter(Type::Object(), 0); | 
| +  Node* p0 = R.Parameter(Type::Number(), 0); | 
| Node* p1 = R.Parameter(Type::Object(), 1); | 
|  | 
| Node* cmp = R.Binop(R.javascript.LessThan(), p0, p1); | 
| @@ -762,14 +764,13 @@ TEST(ObjectComparison) { | 
| Node* i0 = r->InputAt(0); | 
| Node* i1 = r->InputAt(1); | 
|  | 
| -  CHECK_NE(p0, i0); | 
| +  CHECK_EQ(p0, i0); | 
| CHECK_NE(p1, i1); | 
| -  CHECK_EQ(IrOpcode::kJSToNumber, i0->opcode()); | 
| +  CHECK_EQ(IrOpcode::kParameter, i0->opcode()); | 
| CHECK_EQ(IrOpcode::kJSToNumber, i1->opcode()); | 
|  | 
| // Check effect chain is correct. | 
| -  R.CheckEffectInput(R.start(), i0); | 
| -  R.CheckEffectInput(i0, i1); | 
| +  R.CheckEffectInput(R.start(), i1); | 
| R.CheckEffectInput(i1, effect_use); | 
| } | 
|  | 
| @@ -1084,7 +1085,7 @@ TEST(OrderCompareEffects) { | 
| }; | 
|  | 
| for (size_t j = 0; j < arraysize(ops); j += 2) { | 
| -    BinopEffectsTester B(ops[j], Type::Object(), Type::String()); | 
| +    BinopEffectsTester B(ops[j], Type::Boolean(), Type::String()); | 
| CHECK_EQ(ops[j + 1]->opcode(), B.result->op()->opcode()); | 
|  | 
| Node* i0 = B.CheckConvertedInput(IrOpcode::kJSToNumber, 0, true); | 
| @@ -1099,7 +1100,7 @@ TEST(OrderCompareEffects) { | 
| } | 
|  | 
| for (size_t j = 0; j < arraysize(ops); j += 2) { | 
| -    BinopEffectsTester B(ops[j], Type::Number(), Type::Object()); | 
| +    BinopEffectsTester B(ops[j], Type::Number(), Type::Boolean()); | 
|  | 
| Node* i0 = B.CheckConvertedInput(IrOpcode::kJSToNumber, 0, true); | 
| Node* i1 = B.result->InputAt(1); | 
| @@ -1112,7 +1113,7 @@ TEST(OrderCompareEffects) { | 
| } | 
|  | 
| for (size_t j = 0; j < arraysize(ops); j += 2) { | 
| -    BinopEffectsTester B(ops[j], Type::Object(), Type::Number()); | 
| +    BinopEffectsTester B(ops[j], Type::Boolean(), Type::Number()); | 
|  | 
| Node* i0 = B.result->InputAt(0); | 
| Node* i1 = B.CheckConvertedInput(IrOpcode::kJSToNumber, 1, true); | 
|  |