| 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 9dbe3304c3bcfa2d271e017ce924fbc257126cc7..d48a462c1f3b38a95d4b353eaed548cfa5f10636 100644
|
| --- a/test/cctest/compiler/test-js-typed-lowering.cc
|
| +++ b/test/cctest/compiler/test-js-typed-lowering.cc
|
| @@ -308,7 +308,7 @@ TEST(Int32BitwiseShifts) {
|
| Type::Unsigned32(), Type::Signed32(), Type::MinusZero(),
|
| Type::NaN(), Type::OtherNumber(), Type::Undefined(),
|
| Type::Null(), Type::Boolean(), Type::Number(),
|
| - Type::String(), Type::Object()};
|
| + Type::String()};
|
|
|
| for (size_t i = 0; i < arraysize(types); ++i) {
|
| Node* p0 = R.Parameter(types[i], 0);
|
| @@ -367,8 +367,7 @@ TEST(Int32BitwiseBinops) {
|
| Type::SignedSmall(), Type::UnsignedSmall(), Type::Unsigned32(),
|
| Type::Signed32(), Type::MinusZero(), Type::NaN(),
|
| Type::OtherNumber(), Type::Undefined(), Type::Null(),
|
| - Type::Boolean(), Type::Number(), Type::String(),
|
| - Type::Object()};
|
| + Type::Boolean(), Type::Number(), Type::String()};
|
|
|
| for (size_t i = 0; i < arraysize(types); ++i) {
|
| Node* p0 = R.Parameter(types[i], 0);
|
| @@ -691,33 +690,22 @@ TEST(NumberComparison) {
|
| R.javascript.GreaterThan(), R.simplified.NumberLessThan(),
|
| R.javascript.GreaterThanOrEqual(), R.simplified.NumberLessThanOrEqual()};
|
|
|
| - for (size_t i = 0; i < arraysize(kJSTypes); i++) {
|
| - Type* t0 = kJSTypes[i];
|
| - // 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);
|
| + Node* const p0 = R.Parameter(Type::Number(), 0);
|
| + Node* const p1 = R.Parameter(Type::Number(), 1);
|
|
|
| - for (size_t j = 0; j < arraysize(kJSTypes); j++) {
|
| - Type* t1 = kJSTypes[j];
|
| - // 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) {
|
| + Node* cmp = R.Binop(ops[k], p0, p1);
|
| + Node* r = R.reduce(cmp);
|
|
|
| - for (size_t k = 0; k < arraysize(ops); k += 2) {
|
| - Node* cmp = R.Binop(ops[k], p0, p1);
|
| - Node* r = R.reduce(cmp);
|
| -
|
| - R.CheckPureBinop(ops[k + 1], r);
|
| - if (k >= 4) {
|
| - // GreaterThan and GreaterThanOrEqual commute the inputs
|
| - // and use the LessThan and LessThanOrEqual operators.
|
| - CheckIsConvertedToNumber(p1, r->InputAt(0));
|
| - CheckIsConvertedToNumber(p0, r->InputAt(1));
|
| - } else {
|
| - CheckIsConvertedToNumber(p0, r->InputAt(0));
|
| - CheckIsConvertedToNumber(p1, r->InputAt(1));
|
| - }
|
| - }
|
| + R.CheckPureBinop(ops[k + 1], r);
|
| + if (k >= 4) {
|
| + // GreaterThan and GreaterThanOrEqual commute the inputs
|
| + // and use the LessThan and LessThanOrEqual operators.
|
| + CheckIsConvertedToNumber(p1, r->InputAt(0));
|
| + CheckIsConvertedToNumber(p0, r->InputAt(1));
|
| + } else {
|
| + CheckIsConvertedToNumber(p0, r->InputAt(0));
|
| + CheckIsConvertedToNumber(p1, r->InputAt(1));
|
| }
|
| }
|
| }
|
| @@ -754,36 +742,6 @@ TEST(MixedComparison1) {
|
| }
|
|
|
|
|
| -TEST(ObjectComparison) {
|
| - JSTypedLoweringTester R;
|
| -
|
| - Node* p0 = R.Parameter(Type::Number(), 0);
|
| - Node* p1 = R.Parameter(Type::Object(), 1);
|
| -
|
| - Node* cmp = R.Binop(R.javascript.LessThan(), p0, p1);
|
| - Node* effect_use = R.UseForEffect(cmp);
|
| -
|
| - R.CheckEffectInput(R.start(), cmp);
|
| - R.CheckEffectInput(cmp, effect_use);
|
| -
|
| - Node* r = R.reduce(cmp);
|
| -
|
| - R.CheckPureBinop(R.simplified.NumberLessThan(), r);
|
| -
|
| - Node* i0 = r->InputAt(0);
|
| - Node* i1 = r->InputAt(1);
|
| -
|
| - CHECK_EQ(p0, i0);
|
| - CHECK_NE(p1, i1);
|
| - CHECK_EQ(IrOpcode::kParameter, i0->opcode());
|
| - CHECK_EQ(IrOpcode::kJSToNumber, i1->opcode());
|
| -
|
| - // Check effect chain is correct.
|
| - R.CheckEffectInput(R.start(), i1);
|
| - R.CheckEffectInput(i1, effect_use);
|
| -}
|
| -
|
| -
|
| TEST(UnaryNot) {
|
| JSTypedLoweringTester R;
|
| const Operator* opnot = R.javascript.UnaryNot();
|
| @@ -1031,7 +989,7 @@ TEST(OrderNumberBinopEffects1) {
|
| };
|
|
|
| for (size_t j = 0; j < arraysize(ops); j += 2) {
|
| - BinopEffectsTester B(ops[j], Type::Object(), Type::String());
|
| + BinopEffectsTester B(ops[j], Type::String(), Type::String());
|
| CHECK_EQ(ops[j + 1]->opcode(), B.result->op()->opcode());
|
|
|
| Node* i0 = B.CheckConvertedInput(IrOpcode::kJSToNumber, 0, true);
|
| @@ -1167,7 +1125,7 @@ TEST(Int32BinopEffects) {
|
|
|
| for (int j = 0; j < R.kNumberOps; j += 2) {
|
| bool signed_left = R.signedness[j], signed_right = R.signedness[j + 1];
|
| - BinopEffectsTester B(R.ops[j], Type::Number(), Type::Object());
|
| + BinopEffectsTester B(R.ops[j], Type::Number(), Type::Primitive());
|
|
|
| B.R.CheckPureBinop(B.result->opcode(), B.result);
|
|
|
| @@ -1184,7 +1142,7 @@ TEST(Int32BinopEffects) {
|
|
|
| for (int j = 0; j < R.kNumberOps; j += 2) {
|
| bool signed_left = R.signedness[j], signed_right = R.signedness[j + 1];
|
| - BinopEffectsTester B(R.ops[j], Type::Object(), Type::Number());
|
| + BinopEffectsTester B(R.ops[j], Type::Primitive(), Type::Number());
|
|
|
| B.R.CheckPureBinop(B.result->opcode(), B.result);
|
|
|
| @@ -1201,7 +1159,7 @@ TEST(Int32BinopEffects) {
|
|
|
| for (int j = 0; j < R.kNumberOps; j += 2) {
|
| bool signed_left = R.signedness[j], signed_right = R.signedness[j + 1];
|
| - BinopEffectsTester B(R.ops[j], Type::Object(), Type::Object());
|
| + BinopEffectsTester B(R.ops[j], Type::Primitive(), Type::Primitive());
|
|
|
| B.R.CheckPureBinop(B.result->opcode(), B.result);
|
|
|
|
|