| Index: test/unittests/compiler/js-operator-unittest.cc
|
| diff --git a/test/unittests/compiler/js-operator-unittest.cc b/test/unittests/compiler/js-operator-unittest.cc
|
| index 8f4622ae6773abdd5e01280b9a86e31983c0d2ac..ef0a4df740f02f9f6acb2e1a9186f053184edaf3 100644
|
| --- a/test/unittests/compiler/js-operator-unittest.cc
|
| +++ b/test/unittests/compiler/js-operator-unittest.cc
|
| @@ -28,6 +28,7 @@ struct SharedOperator {
|
| int control_input_count;
|
| int value_output_count;
|
| int effect_output_count;
|
| + int control_output_count;
|
| };
|
|
|
|
|
| @@ -39,48 +40,49 @@ std::ostream& operator<<(std::ostream& os, const SharedOperator& sop) {
|
| const SharedOperator kSharedOperators[] = {
|
| #define SHARED(Name, properties, value_input_count, frame_state_input_count, \
|
| effect_input_count, control_input_count, value_output_count, \
|
| - effect_output_count) \
|
| + effect_output_count, control_output_count) \
|
| { \
|
| &JSOperatorBuilder::Name, IrOpcode::kJS##Name, properties, \
|
| value_input_count, frame_state_input_count, effect_input_count, \
|
| - control_input_count, value_output_count, effect_output_count \
|
| + control_input_count, value_output_count, effect_output_count, \
|
| + control_output_count \
|
| }
|
| - SHARED(Equal, Operator::kNoProperties, 2, 1, 1, 1, 1, 1),
|
| - SHARED(NotEqual, Operator::kNoProperties, 2, 1, 1, 1, 1, 1),
|
| - SHARED(StrictEqual, Operator::kPure, 2, 0, 0, 0, 1, 0),
|
| - SHARED(StrictNotEqual, Operator::kPure, 2, 0, 0, 0, 1, 0),
|
| - SHARED(LessThan, Operator::kNoProperties, 2, 1, 1, 1, 1, 1),
|
| - SHARED(GreaterThan, Operator::kNoProperties, 2, 1, 1, 1, 1, 1),
|
| - SHARED(LessThanOrEqual, Operator::kNoProperties, 2, 1, 1, 1, 1, 1),
|
| - SHARED(GreaterThanOrEqual, Operator::kNoProperties, 2, 1, 1, 1, 1, 1),
|
| - SHARED(BitwiseOr, Operator::kNoProperties, 2, 1, 1, 1, 1, 1),
|
| - SHARED(BitwiseXor, Operator::kNoProperties, 2, 1, 1, 1, 1, 1),
|
| - SHARED(BitwiseAnd, Operator::kNoProperties, 2, 1, 1, 1, 1, 1),
|
| - SHARED(ShiftLeft, Operator::kNoProperties, 2, 1, 1, 1, 1, 1),
|
| - SHARED(ShiftRight, Operator::kNoProperties, 2, 1, 1, 1, 1, 1),
|
| - SHARED(ShiftRightLogical, Operator::kNoProperties, 2, 1, 1, 1, 1, 1),
|
| - SHARED(Add, Operator::kNoProperties, 2, 1, 1, 1, 1, 1),
|
| - SHARED(Subtract, Operator::kNoProperties, 2, 1, 1, 1, 1, 1),
|
| - SHARED(Multiply, Operator::kNoProperties, 2, 1, 1, 1, 1, 1),
|
| - SHARED(Divide, Operator::kNoProperties, 2, 1, 1, 1, 1, 1),
|
| - SHARED(Modulus, Operator::kNoProperties, 2, 1, 1, 1, 1, 1),
|
| - SHARED(UnaryNot, Operator::kPure, 1, 0, 0, 0, 1, 0),
|
| - SHARED(ToBoolean, Operator::kPure, 1, 0, 0, 0, 1, 0),
|
| - SHARED(ToNumber, Operator::kNoProperties, 1, 1, 1, 1, 1, 1),
|
| - SHARED(ToString, Operator::kNoProperties, 1, 0, 1, 1, 1, 1),
|
| - SHARED(ToName, Operator::kNoProperties, 1, 1, 1, 1, 1, 1),
|
| - SHARED(ToObject, Operator::kNoProperties, 1, 1, 1, 1, 1, 1),
|
| - SHARED(Yield, Operator::kNoProperties, 1, 0, 1, 1, 1, 1),
|
| - SHARED(Create, Operator::kEliminatable, 0, 0, 1, 1, 1, 1),
|
| - SHARED(HasProperty, Operator::kNoProperties, 2, 1, 1, 1, 1, 1),
|
| - SHARED(TypeOf, Operator::kPure, 1, 0, 0, 0, 1, 0),
|
| - SHARED(InstanceOf, Operator::kNoProperties, 2, 1, 1, 1, 1, 1),
|
| - SHARED(Debugger, Operator::kNoProperties, 0, 0, 1, 1, 0, 1),
|
| - SHARED(CreateFunctionContext, Operator::kNoProperties, 1, 0, 1, 1, 1, 1),
|
| - SHARED(CreateWithContext, Operator::kNoProperties, 2, 1, 1, 1, 1, 1),
|
| - SHARED(CreateBlockContext, Operator::kNoProperties, 2, 0, 1, 1, 1, 1),
|
| - SHARED(CreateModuleContext, Operator::kNoProperties, 2, 0, 1, 1, 1, 1),
|
| - SHARED(CreateScriptContext, Operator::kNoProperties, 2, 0, 1, 1, 1, 1)
|
| + SHARED(Equal, Operator::kNoProperties, 2, 1, 1, 1, 1, 1, 2),
|
| + SHARED(NotEqual, Operator::kNoProperties, 2, 1, 1, 1, 1, 1, 2),
|
| + SHARED(StrictEqual, Operator::kPure, 2, 0, 0, 0, 1, 0, 0),
|
| + SHARED(StrictNotEqual, Operator::kPure, 2, 0, 0, 0, 1, 0, 0),
|
| + SHARED(LessThan, Operator::kNoProperties, 2, 1, 1, 1, 1, 1, 2),
|
| + SHARED(GreaterThan, Operator::kNoProperties, 2, 1, 1, 1, 1, 1, 2),
|
| + SHARED(LessThanOrEqual, Operator::kNoProperties, 2, 1, 1, 1, 1, 1, 2),
|
| + SHARED(GreaterThanOrEqual, Operator::kNoProperties, 2, 1, 1, 1, 1, 1, 2),
|
| + SHARED(BitwiseOr, Operator::kNoProperties, 2, 1, 1, 1, 1, 1, 2),
|
| + SHARED(BitwiseXor, Operator::kNoProperties, 2, 1, 1, 1, 1, 1, 2),
|
| + SHARED(BitwiseAnd, Operator::kNoProperties, 2, 1, 1, 1, 1, 1, 2),
|
| + SHARED(ShiftLeft, Operator::kNoProperties, 2, 1, 1, 1, 1, 1, 2),
|
| + SHARED(ShiftRight, Operator::kNoProperties, 2, 1, 1, 1, 1, 1, 2),
|
| + SHARED(ShiftRightLogical, Operator::kNoProperties, 2, 1, 1, 1, 1, 1, 2),
|
| + SHARED(Add, Operator::kNoProperties, 2, 1, 1, 1, 1, 1, 2),
|
| + SHARED(Subtract, Operator::kNoProperties, 2, 1, 1, 1, 1, 1, 2),
|
| + SHARED(Multiply, Operator::kNoProperties, 2, 1, 1, 1, 1, 1, 2),
|
| + SHARED(Divide, Operator::kNoProperties, 2, 1, 1, 1, 1, 1, 2),
|
| + SHARED(Modulus, Operator::kNoProperties, 2, 1, 1, 1, 1, 1, 2),
|
| + SHARED(UnaryNot, Operator::kPure, 1, 0, 0, 0, 1, 0, 0),
|
| + SHARED(ToBoolean, Operator::kPure, 1, 0, 0, 0, 1, 0, 0),
|
| + SHARED(ToNumber, Operator::kNoProperties, 1, 1, 1, 1, 1, 1, 2),
|
| + SHARED(ToString, Operator::kNoProperties, 1, 0, 1, 1, 1, 1, 2),
|
| + SHARED(ToName, Operator::kNoProperties, 1, 1, 1, 1, 1, 1, 2),
|
| + SHARED(ToObject, Operator::kNoProperties, 1, 1, 1, 1, 1, 1, 2),
|
| + SHARED(Yield, Operator::kNoProperties, 1, 0, 1, 1, 1, 1, 2),
|
| + SHARED(Create, Operator::kEliminatable, 0, 0, 1, 1, 1, 1, 0),
|
| + SHARED(HasProperty, Operator::kNoProperties, 2, 1, 1, 1, 1, 1, 2),
|
| + SHARED(TypeOf, Operator::kPure, 1, 0, 0, 0, 1, 0, 0),
|
| + SHARED(InstanceOf, Operator::kNoProperties, 2, 1, 1, 1, 1, 1, 2),
|
| + SHARED(Debugger, Operator::kNoProperties, 0, 0, 1, 1, 0, 1, 2),
|
| + SHARED(CreateFunctionContext, Operator::kNoProperties, 1, 0, 1, 1, 1, 1, 2),
|
| + SHARED(CreateWithContext, Operator::kNoProperties, 2, 1, 1, 1, 1, 1, 2),
|
| + SHARED(CreateBlockContext, Operator::kNoProperties, 2, 0, 1, 1, 1, 1, 2),
|
| + SHARED(CreateModuleContext, Operator::kNoProperties, 2, 0, 1, 1, 1, 1, 2),
|
| + SHARED(CreateScriptContext, Operator::kNoProperties, 2, 0, 1, 1, 1, 1, 2)
|
| #undef SHARED
|
| };
|
|
|
| @@ -122,7 +124,7 @@ TEST_P(JSSharedOperatorTest, NumberOfInputsAndOutputs) {
|
|
|
| EXPECT_EQ(sop.value_output_count, op->ValueOutputCount());
|
| EXPECT_EQ(sop.effect_output_count, op->EffectOutputCount());
|
| - EXPECT_EQ(0, op->ControlOutputCount());
|
| + EXPECT_EQ(sop.control_output_count, op->ControlOutputCount());
|
| }
|
|
|
|
|
| @@ -181,7 +183,7 @@ TEST_P(JSStorePropertyOperatorTest, NumberOfInputsAndOutputs) {
|
|
|
| EXPECT_EQ(0, op->ValueOutputCount());
|
| EXPECT_EQ(1, op->EffectOutputCount());
|
| - EXPECT_EQ(0, op->ControlOutputCount());
|
| + EXPECT_EQ(2, op->ControlOutputCount());
|
| }
|
|
|
|
|
|
|