| 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 f3380dd271603f5cff3e3ad761358a86a4d854c8..17886673c6c66548c88369fa2d5bec64fadbe481 100644
|
| --- a/test/cctest/compiler/test-js-typed-lowering.cc
|
| +++ b/test/cctest/compiler/test-js-typed-lowering.cc
|
| @@ -19,7 +19,9 @@ namespace compiler {
|
|
|
| class JSTypedLoweringTester : public HandleAndZoneScope {
|
| public:
|
| - explicit JSTypedLoweringTester(int num_parameters = 0)
|
| + JSTypedLoweringTester(
|
| + int num_parameters = 0,
|
| + JSTypedLowering::Flags flags = JSTypedLowering::kDeoptimizationEnabled)
|
| : isolate(main_isolate()),
|
| binop(NULL),
|
| unop(NULL),
|
| @@ -30,7 +32,8 @@ class JSTypedLoweringTester : public HandleAndZoneScope {
|
| deps(main_isolate(), main_zone()),
|
| graph(main_zone()),
|
| typer(main_isolate(), &graph),
|
| - context_node(NULL) {
|
| + context_node(NULL),
|
| + flags(flags) {
|
| graph.SetStart(graph.NewNode(common.Start(num_parameters)));
|
| graph.SetEnd(graph.NewNode(common.End(1), graph.start()));
|
| typer.Run();
|
| @@ -47,6 +50,7 @@ class JSTypedLoweringTester : public HandleAndZoneScope {
|
| Graph graph;
|
| Typer typer;
|
| Node* context_node;
|
| + JSTypedLowering::Flags flags;
|
| BinaryOperationHints const binop_hints = BinaryOperationHints::Any();
|
| CompareOperationHints const compare_hints = CompareOperationHints::Any();
|
|
|
| @@ -83,8 +87,7 @@ class JSTypedLoweringTester : public HandleAndZoneScope {
|
| &machine);
|
| // TODO(titzer): mock the GraphReducer here for better unit testing.
|
| GraphReducer graph_reducer(main_zone(), &graph);
|
| - JSTypedLowering reducer(&graph_reducer, &deps,
|
| - JSTypedLowering::kDeoptimizationEnabled, &jsgraph,
|
| + JSTypedLowering reducer(&graph_reducer, &deps, flags, &jsgraph,
|
| main_zone());
|
| Reduction reduction = reducer.Reduce(node);
|
| if (reduction.Changed()) return reduction.replacement();
|
| @@ -749,8 +752,10 @@ TEST(RemoveToNumberEffects) {
|
| // Helper class for testing the reduction of a single binop.
|
| class BinopEffectsTester {
|
| public:
|
| - explicit BinopEffectsTester(const Operator* op, Type* t0, Type* t1)
|
| - : R(),
|
| + BinopEffectsTester(
|
| + const Operator* op, Type* t0, Type* t1,
|
| + JSTypedLowering::Flags flags = JSTypedLowering::kDeoptimizationEnabled)
|
| + : R(0, flags),
|
| p0(R.Parameter(t0, 0)),
|
| p1(R.Parameter(t1, 1)),
|
| binop(R.Binop(op, p0, p1)),
|
| @@ -930,7 +935,8 @@ TEST(OrderNumberBinopEffects1) {
|
| };
|
|
|
| for (size_t j = 0; j < arraysize(ops); j += 2) {
|
| - BinopEffectsTester B(ops[j], Type::Symbol(), Type::Symbol());
|
| + BinopEffectsTester B(ops[j], Type::Symbol(), Type::Symbol(),
|
| + JSTypedLowering::kNoFlags);
|
| CHECK_EQ(ops[j + 1]->opcode(), B.result->op()->opcode());
|
|
|
| Node* i0 = B.CheckConvertedInput(IrOpcode::kJSToNumber, 0, true);
|
| @@ -956,7 +962,8 @@ TEST(OrderNumberBinopEffects2) {
|
| };
|
|
|
| for (size_t j = 0; j < arraysize(ops); j += 2) {
|
| - BinopEffectsTester B(ops[j], Type::Number(), Type::Symbol());
|
| + BinopEffectsTester B(ops[j], Type::Number(), Type::Symbol(),
|
| + JSTypedLowering::kNoFlags);
|
|
|
| Node* i0 = B.CheckNoOp(0);
|
| Node* i1 = B.CheckConvertedInput(IrOpcode::kJSToNumber, 1, true);
|
| @@ -969,7 +976,8 @@ TEST(OrderNumberBinopEffects2) {
|
| }
|
|
|
| for (size_t j = 0; j < arraysize(ops); j += 2) {
|
| - BinopEffectsTester B(ops[j], Type::Symbol(), Type::Number());
|
| + BinopEffectsTester B(ops[j], Type::Symbol(), Type::Number(),
|
| + JSTypedLowering::kNoFlags);
|
|
|
| Node* i0 = B.CheckConvertedInput(IrOpcode::kJSToNumber, 0, true);
|
| Node* i1 = B.CheckNoOp(1);
|
|
|