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 <iosfwd> | 8 #include <iosfwd> |
9 | 9 |
10 #include "src/compiler/type-hints.h" | 10 #include "src/compiler/type-hints.h" |
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
151 | 151 |
152 // Boolean values can be: | 152 // Boolean values can be: |
153 // - Bool: a tagged pointer to either the canonical JS #false or | 153 // - Bool: a tagged pointer to either the canonical JS #false or |
154 // the canonical JS #true object | 154 // the canonical JS #true object |
155 // - Bit: an untagged integer 0 or 1, but word-sized | 155 // - Bit: an untagged integer 0 or 1, but word-sized |
156 class SimplifiedOperatorBuilder final : public ZoneObject { | 156 class SimplifiedOperatorBuilder final : public ZoneObject { |
157 public: | 157 public: |
158 explicit SimplifiedOperatorBuilder(Zone* zone); | 158 explicit SimplifiedOperatorBuilder(Zone* zone); |
159 | 159 |
160 const Operator* BooleanNot(); | 160 const Operator* BooleanNot(); |
161 const Operator* BooleanToNumber(); | |
162 | 161 |
163 const Operator* NumberEqual(); | 162 const Operator* NumberEqual(); |
164 const Operator* NumberLessThan(); | 163 const Operator* NumberLessThan(); |
165 const Operator* NumberLessThanOrEqual(); | 164 const Operator* NumberLessThanOrEqual(); |
166 const Operator* NumberAdd(); | 165 const Operator* NumberAdd(); |
167 const Operator* NumberSubtract(); | 166 const Operator* NumberSubtract(); |
168 const Operator* NumberMultiply(); | 167 const Operator* NumberMultiply(); |
169 const Operator* NumberDivide(); | 168 const Operator* NumberDivide(); |
170 const Operator* NumberModulus(); | 169 const Operator* NumberModulus(); |
171 const Operator* NumberBitwiseOr(); | 170 const Operator* NumberBitwiseOr(); |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
220 const Operator* SpeculativeNumberLessThanOrEqual( | 219 const Operator* SpeculativeNumberLessThanOrEqual( |
221 CompareOperationHints::Hint hint); | 220 CompareOperationHints::Hint hint); |
222 const Operator* SpeculativeNumberEqual(CompareOperationHints::Hint hint); | 221 const Operator* SpeculativeNumberEqual(CompareOperationHints::Hint hint); |
223 | 222 |
224 const Operator* ReferenceEqual(Type* type); | 223 const Operator* ReferenceEqual(Type* type); |
225 | 224 |
226 const Operator* StringEqual(); | 225 const Operator* StringEqual(); |
227 const Operator* StringLessThan(); | 226 const Operator* StringLessThan(); |
228 const Operator* StringLessThanOrEqual(); | 227 const Operator* StringLessThanOrEqual(); |
229 const Operator* StringFromCharCode(); | 228 const Operator* StringFromCharCode(); |
230 const Operator* StringToNumber(); | |
231 | 229 |
232 const Operator* PlainPrimitiveToNumber(); | 230 const Operator* PlainPrimitiveToNumber(); |
233 const Operator* PlainPrimitiveToWord32(); | 231 const Operator* PlainPrimitiveToWord32(); |
234 const Operator* PlainPrimitiveToFloat64(); | 232 const Operator* PlainPrimitiveToFloat64(); |
235 | 233 |
236 const Operator* ChangeTaggedSignedToInt32(); | 234 const Operator* ChangeTaggedSignedToInt32(); |
237 const Operator* ChangeTaggedToInt32(); | 235 const Operator* ChangeTaggedToInt32(); |
238 const Operator* ChangeTaggedToUint32(); | 236 const Operator* ChangeTaggedToUint32(); |
239 const Operator* ChangeTaggedToFloat64(); | 237 const Operator* ChangeTaggedToFloat64(); |
240 const Operator* ChangeInt31ToTaggedSigned(); | 238 const Operator* ChangeInt31ToTaggedSigned(); |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
295 Zone* const zone_; | 293 Zone* const zone_; |
296 | 294 |
297 DISALLOW_COPY_AND_ASSIGN(SimplifiedOperatorBuilder); | 295 DISALLOW_COPY_AND_ASSIGN(SimplifiedOperatorBuilder); |
298 }; | 296 }; |
299 | 297 |
300 } // namespace compiler | 298 } // namespace compiler |
301 } // namespace internal | 299 } // namespace internal |
302 } // namespace v8 | 300 } // namespace v8 |
303 | 301 |
304 #endif // V8_COMPILER_SIMPLIFIED_OPERATOR_H_ | 302 #endif // V8_COMPILER_SIMPLIFIED_OPERATOR_H_ |
OLD | NEW |