| 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/operator.h" | 10 #include "src/compiler/operator.h" |
| (...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 112 kNeverReturnHole, // Never return the hole (deoptimize instead). | 112 kNeverReturnHole, // Never return the hole (deoptimize instead). |
| 113 kAllowReturnHole // Allow to return the hole (signaling NaN). | 113 kAllowReturnHole // Allow to return the hole (signaling NaN). |
| 114 }; | 114 }; |
| 115 | 115 |
| 116 size_t hash_value(CheckFloat64HoleMode); | 116 size_t hash_value(CheckFloat64HoleMode); |
| 117 | 117 |
| 118 std::ostream& operator<<(std::ostream&, CheckFloat64HoleMode); | 118 std::ostream& operator<<(std::ostream&, CheckFloat64HoleMode); |
| 119 | 119 |
| 120 CheckFloat64HoleMode CheckFloat64HoleModeOf(const Operator*) WARN_UNUSED_RESULT; | 120 CheckFloat64HoleMode CheckFloat64HoleModeOf(const Operator*) WARN_UNUSED_RESULT; |
| 121 | 121 |
| 122 enum class CheckTaggedHoleMode : uint8_t { | |
| 123 kNeverReturnHole, // Never return the hole (deoptimize instead). | |
| 124 kConvertHoleToUndefined // Convert the hole to undefined. | |
| 125 }; | |
| 126 | |
| 127 size_t hash_value(CheckTaggedHoleMode); | |
| 128 | |
| 129 std::ostream& operator<<(std::ostream&, CheckTaggedHoleMode); | |
| 130 | |
| 131 CheckTaggedHoleMode CheckTaggedHoleModeOf(const Operator*) WARN_UNUSED_RESULT; | |
| 132 | |
| 133 enum class CheckTaggedInputMode : uint8_t { | 122 enum class CheckTaggedInputMode : uint8_t { |
| 134 kNumber, | 123 kNumber, |
| 135 kNumberOrOddball, | 124 kNumberOrOddball, |
| 136 }; | 125 }; |
| 137 | 126 |
| 138 size_t hash_value(CheckTaggedInputMode); | 127 size_t hash_value(CheckTaggedInputMode); |
| 139 | 128 |
| 140 std::ostream& operator<<(std::ostream&, CheckTaggedInputMode); | 129 std::ostream& operator<<(std::ostream&, CheckTaggedInputMode); |
| 141 | 130 |
| 142 CheckTaggedInputMode CheckTaggedInputModeOf(const Operator*) WARN_UNUSED_RESULT; | 131 CheckTaggedInputMode CheckTaggedInputModeOf(const Operator*) WARN_UNUSED_RESULT; |
| (...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 332 const Operator* CheckedUint32Mod(); | 321 const Operator* CheckedUint32Mod(); |
| 333 const Operator* CheckedInt32Mul(CheckForMinusZeroMode); | 322 const Operator* CheckedInt32Mul(CheckForMinusZeroMode); |
| 334 const Operator* CheckedUint32ToInt32(); | 323 const Operator* CheckedUint32ToInt32(); |
| 335 const Operator* CheckedFloat64ToInt32(CheckForMinusZeroMode); | 324 const Operator* CheckedFloat64ToInt32(CheckForMinusZeroMode); |
| 336 const Operator* CheckedTaggedSignedToInt32(); | 325 const Operator* CheckedTaggedSignedToInt32(); |
| 337 const Operator* CheckedTaggedToInt32(CheckForMinusZeroMode); | 326 const Operator* CheckedTaggedToInt32(CheckForMinusZeroMode); |
| 338 const Operator* CheckedTaggedToFloat64(CheckTaggedInputMode); | 327 const Operator* CheckedTaggedToFloat64(CheckTaggedInputMode); |
| 339 const Operator* CheckedTruncateTaggedToWord32(); | 328 const Operator* CheckedTruncateTaggedToWord32(); |
| 340 | 329 |
| 341 const Operator* CheckFloat64Hole(CheckFloat64HoleMode); | 330 const Operator* CheckFloat64Hole(CheckFloat64HoleMode); |
| 342 const Operator* CheckTaggedHole(CheckTaggedHoleMode); | 331 const Operator* CheckTaggedHole(); |
| 332 const Operator* ConvertTaggedHoleToUndefined(); |
| 343 | 333 |
| 344 const Operator* ObjectIsCallable(); | 334 const Operator* ObjectIsCallable(); |
| 345 const Operator* ObjectIsNumber(); | 335 const Operator* ObjectIsNumber(); |
| 346 const Operator* ObjectIsReceiver(); | 336 const Operator* ObjectIsReceiver(); |
| 347 const Operator* ObjectIsSmi(); | 337 const Operator* ObjectIsSmi(); |
| 348 const Operator* ObjectIsString(); | 338 const Operator* ObjectIsString(); |
| 349 const Operator* ObjectIsUndetectable(); | 339 const Operator* ObjectIsUndetectable(); |
| 350 | 340 |
| 351 // ensure-writable-fast-elements object, elements | 341 // ensure-writable-fast-elements object, elements |
| 352 const Operator* EnsureWritableFastElements(); | 342 const Operator* EnsureWritableFastElements(); |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 387 Zone* const zone_; | 377 Zone* const zone_; |
| 388 | 378 |
| 389 DISALLOW_COPY_AND_ASSIGN(SimplifiedOperatorBuilder); | 379 DISALLOW_COPY_AND_ASSIGN(SimplifiedOperatorBuilder); |
| 390 }; | 380 }; |
| 391 | 381 |
| 392 } // namespace compiler | 382 } // namespace compiler |
| 393 } // namespace internal | 383 } // namespace internal |
| 394 } // namespace v8 | 384 } // namespace v8 |
| 395 | 385 |
| 396 #endif // V8_COMPILER_SIMPLIFIED_OPERATOR_H_ | 386 #endif // V8_COMPILER_SIMPLIFIED_OPERATOR_H_ |
| OLD | NEW |