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 #ifndef V8_COMPILER_SIMPLIFIED_OPERATOR_H_ | 5 #ifndef V8_COMPILER_SIMPLIFIED_OPERATOR_H_ |
6 #define V8_COMPILER_SIMPLIFIED_OPERATOR_H_ | 6 #define V8_COMPILER_SIMPLIFIED_OPERATOR_H_ |
7 | 7 |
8 #include "src/compiler/machine-type.h" | 8 #include "src/compiler/machine-type.h" |
9 #include "src/handles.h" | 9 #include "src/handles.h" |
10 | 10 |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
84 | 84 |
85 // Boolean values can be: | 85 // Boolean values can be: |
86 // - Bool: a tagged pointer to either the canonical JS #false or | 86 // - Bool: a tagged pointer to either the canonical JS #false or |
87 // the canonical JS #true object | 87 // the canonical JS #true object |
88 // - Bit: an untagged integer 0 or 1, but word-sized | 88 // - Bit: an untagged integer 0 or 1, but word-sized |
89 class SimplifiedOperatorBuilder FINAL { | 89 class SimplifiedOperatorBuilder FINAL { |
90 public: | 90 public: |
91 explicit SimplifiedOperatorBuilder(Zone* zone); | 91 explicit SimplifiedOperatorBuilder(Zone* zone); |
92 | 92 |
93 const Operator* BooleanNot(); | 93 const Operator* BooleanNot(); |
| 94 const Operator* BooleanToNumber(); |
94 | 95 |
95 const Operator* NumberEqual(); | 96 const Operator* NumberEqual(); |
96 const Operator* NumberLessThan(); | 97 const Operator* NumberLessThan(); |
97 const Operator* NumberLessThanOrEqual(); | 98 const Operator* NumberLessThanOrEqual(); |
98 const Operator* NumberAdd(); | 99 const Operator* NumberAdd(); |
99 const Operator* NumberSubtract(); | 100 const Operator* NumberSubtract(); |
100 const Operator* NumberMultiply(); | 101 const Operator* NumberMultiply(); |
101 const Operator* NumberDivide(); | 102 const Operator* NumberDivide(); |
102 const Operator* NumberModulus(); | 103 const Operator* NumberModulus(); |
103 const Operator* NumberToInt32(); | 104 const Operator* NumberToInt32(); |
(...skipping 27 matching lines...) Expand all Loading... |
131 Zone* const zone_; | 132 Zone* const zone_; |
132 | 133 |
133 DISALLOW_COPY_AND_ASSIGN(SimplifiedOperatorBuilder); | 134 DISALLOW_COPY_AND_ASSIGN(SimplifiedOperatorBuilder); |
134 }; | 135 }; |
135 | 136 |
136 } // namespace compiler | 137 } // namespace compiler |
137 } // namespace internal | 138 } // namespace internal |
138 } // namespace v8 | 139 } // namespace v8 |
139 | 140 |
140 #endif // V8_COMPILER_SIMPLIFIED_OPERATOR_H_ | 141 #endif // V8_COMPILER_SIMPLIFIED_OPERATOR_H_ |
OLD | NEW |