OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "src/compiler/js-operator.h" | 5 #include "src/compiler/js-operator.h" |
6 #include "src/compiler/opcodes.h" | 6 #include "src/compiler/opcodes.h" |
7 #include "src/compiler/operator.h" | 7 #include "src/compiler/operator.h" |
8 #include "src/compiler/operator-properties.h" | 8 #include "src/compiler/operator-properties.h" |
9 #include "test/unittests/test-utils.h" | 9 #include "test/unittests/test-utils.h" |
10 | 10 |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
62 effect_input_count, control_input_count, value_output_count, \ | 62 effect_input_count, control_input_count, value_output_count, \ |
63 effect_output_count, control_output_count) \ | 63 effect_output_count, control_output_count) \ |
64 { \ | 64 { \ |
65 &JSOperatorBuilder::Name, IrOpcode::kJS##Name, properties, \ | 65 &JSOperatorBuilder::Name, IrOpcode::kJS##Name, properties, \ |
66 value_input_count, frame_state_input_count, effect_input_count, \ | 66 value_input_count, frame_state_input_count, effect_input_count, \ |
67 control_input_count, value_output_count, effect_output_count, \ | 67 control_input_count, value_output_count, effect_output_count, \ |
68 control_output_count \ | 68 control_output_count \ |
69 } | 69 } |
70 SHARED(Equal, Operator::kNoProperties, 2, 1, 1, 1, 1, 1, 2), | 70 SHARED(Equal, Operator::kNoProperties, 2, 1, 1, 1, 1, 1, 2), |
71 SHARED(NotEqual, Operator::kNoProperties, 2, 1, 1, 1, 1, 1, 2), | 71 SHARED(NotEqual, Operator::kNoProperties, 2, 1, 1, 1, 1, 1, 2), |
72 SHARED(StrictEqual, Operator::kPure, 2, 0, 0, 0, 1, 0, 0), | 72 SHARED(StrictEqual, Operator::kEliminatable, 2, 0, 1, 0, 1, 1, 0), |
73 SHARED(StrictNotEqual, Operator::kPure, 2, 0, 0, 0, 1, 0, 0), | 73 SHARED(StrictNotEqual, Operator::kEliminatable, 2, 0, 1, 0, 1, 1, 0), |
74 SHARED(UnaryNot, Operator::kPure, 1, 0, 0, 0, 1, 0, 0), | 74 SHARED(UnaryNot, Operator::kEliminatable, 1, 0, 1, 0, 1, 1, 0), |
75 SHARED(ToBoolean, Operator::kPure, 1, 0, 0, 0, 1, 0, 0), | 75 SHARED(ToBoolean, Operator::kEliminatable, 1, 0, 1, 0, 1, 1, 0), |
76 SHARED(ToNumber, Operator::kNoProperties, 1, 1, 1, 1, 1, 1, 2), | 76 SHARED(ToNumber, Operator::kNoProperties, 1, 1, 1, 1, 1, 1, 2), |
77 SHARED(ToString, Operator::kNoProperties, 1, 0, 1, 1, 1, 1, 2), | 77 SHARED(ToString, Operator::kNoProperties, 1, 0, 1, 1, 1, 1, 2), |
78 SHARED(ToName, Operator::kNoProperties, 1, 1, 1, 1, 1, 1, 2), | 78 SHARED(ToName, Operator::kNoProperties, 1, 1, 1, 1, 1, 1, 2), |
79 SHARED(ToObject, Operator::kNoProperties, 1, 1, 1, 1, 1, 1, 2), | 79 SHARED(ToObject, Operator::kNoProperties, 1, 1, 1, 1, 1, 1, 2), |
80 SHARED(Yield, Operator::kNoProperties, 1, 0, 1, 1, 1, 1, 2), | 80 SHARED(Yield, Operator::kNoProperties, 1, 0, 1, 1, 1, 1, 2), |
81 SHARED(Create, Operator::kEliminatable, 0, 0, 1, 0, 1, 1, 0), | 81 SHARED(Create, Operator::kEliminatable, 0, 0, 1, 0, 1, 1, 0), |
82 SHARED(HasProperty, Operator::kNoProperties, 2, 1, 1, 1, 1, 1, 2), | 82 SHARED(HasProperty, Operator::kNoProperties, 2, 1, 1, 1, 1, 1, 2), |
83 SHARED(TypeOf, Operator::kPure, 1, 0, 0, 0, 1, 0, 0), | 83 SHARED(TypeOf, Operator::kEliminatable, 1, 0, 1, 0, 1, 1, 0), |
84 SHARED(InstanceOf, Operator::kNoProperties, 2, 1, 1, 1, 1, 1, 2), | 84 SHARED(InstanceOf, Operator::kNoProperties, 2, 1, 1, 1, 1, 1, 2), |
85 SHARED(CreateFunctionContext, Operator::kNoProperties, 1, 0, 1, 1, 1, 1, 2), | 85 SHARED(CreateFunctionContext, Operator::kNoProperties, 1, 0, 1, 1, 1, 1, 2), |
86 SHARED(CreateWithContext, Operator::kNoProperties, 2, 1, 1, 1, 1, 1, 2), | 86 SHARED(CreateWithContext, Operator::kNoProperties, 2, 1, 1, 1, 1, 1, 2), |
87 SHARED(CreateBlockContext, Operator::kNoProperties, 2, 0, 1, 1, 1, 1, 2), | 87 SHARED(CreateBlockContext, Operator::kNoProperties, 2, 0, 1, 1, 1, 1, 2), |
88 SHARED(CreateModuleContext, Operator::kNoProperties, 2, 0, 1, 1, 1, 1, 2), | 88 SHARED(CreateModuleContext, Operator::kNoProperties, 2, 0, 1, 1, 1, 1, 2), |
89 SHARED(CreateScriptContext, Operator::kNoProperties, 2, 1, 1, 1, 1, 1, 2) | 89 SHARED(CreateScriptContext, Operator::kNoProperties, 2, 1, 1, 1, 1, 1, 2) |
90 #undef SHARED | 90 #undef SHARED |
91 }; | 91 }; |
92 | 92 |
93 | 93 |
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
277 INSTANTIATE_TEST_CASE_P( | 277 INSTANTIATE_TEST_CASE_P( |
278 JSOperatorTest, JSSharedOperatorWithLanguageModeTest, | 278 JSOperatorTest, JSSharedOperatorWithLanguageModeTest, |
279 ::testing::Combine(::testing::ValuesIn(kLanguageModes), | 279 ::testing::Combine(::testing::ValuesIn(kLanguageModes), |
280 ::testing::ValuesIn(kSharedOperatorsWithLanguageMode))); | 280 ::testing::ValuesIn(kSharedOperatorsWithLanguageMode))); |
281 | 281 |
282 #endif // GTEST_HAS_COMBINE | 282 #endif // GTEST_HAS_COMBINE |
283 | 283 |
284 } // namespace compiler | 284 } // namespace compiler |
285 } // namespace internal | 285 } // namespace internal |
286 } // namespace v8 | 286 } // namespace v8 |
OLD | NEW |