| 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/base/compiler-specific.h" | 10 #include "src/base/compiler-specific.h" |
| (...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 138 kCheckForMinusZero, | 138 kCheckForMinusZero, |
| 139 kDontCheckForMinusZero, | 139 kDontCheckForMinusZero, |
| 140 }; | 140 }; |
| 141 | 141 |
| 142 size_t hash_value(CheckForMinusZeroMode); | 142 size_t hash_value(CheckForMinusZeroMode); |
| 143 | 143 |
| 144 std::ostream& operator<<(std::ostream&, CheckForMinusZeroMode); | 144 std::ostream& operator<<(std::ostream&, CheckForMinusZeroMode); |
| 145 | 145 |
| 146 CheckForMinusZeroMode CheckMinusZeroModeOf(const Operator*) WARN_UNUSED_RESULT; | 146 CheckForMinusZeroMode CheckMinusZeroModeOf(const Operator*) WARN_UNUSED_RESULT; |
| 147 | 147 |
| 148 // Flags for map checks. |
| 149 enum class CheckMapsFlag : uint8_t { |
| 150 kNone = 0u, |
| 151 kTryMigrateInstance = 1u << 0, // Try instance migration. |
| 152 }; |
| 153 typedef base::Flags<CheckMapsFlag> CheckMapsFlags; |
| 154 |
| 155 DEFINE_OPERATORS_FOR_FLAGS(CheckMapsFlags) |
| 156 |
| 157 std::ostream& operator<<(std::ostream&, CheckMapsFlags); |
| 158 |
| 148 // A descriptor for map checks. | 159 // A descriptor for map checks. |
| 149 class CheckMapsParameters final { | 160 class CheckMapsParameters final { |
| 150 public: | 161 public: |
| 151 explicit CheckMapsParameters(ZoneHandleSet<Map> const& maps) : maps_(maps) {} | 162 CheckMapsParameters(CheckMapsFlags flags, ZoneHandleSet<Map> const& maps) |
| 163 : flags_(flags), maps_(maps) {} |
| 152 | 164 |
| 165 CheckMapsFlags flags() const { return flags_; } |
| 153 ZoneHandleSet<Map> const& maps() const { return maps_; } | 166 ZoneHandleSet<Map> const& maps() const { return maps_; } |
| 154 | 167 |
| 155 private: | 168 private: |
| 169 CheckMapsFlags const flags_; |
| 156 ZoneHandleSet<Map> const maps_; | 170 ZoneHandleSet<Map> const maps_; |
| 157 }; | 171 }; |
| 158 | 172 |
| 159 bool operator==(CheckMapsParameters const&, CheckMapsParameters const&); | 173 bool operator==(CheckMapsParameters const&, CheckMapsParameters const&); |
| 160 bool operator!=(CheckMapsParameters const&, CheckMapsParameters const&); | 174 bool operator!=(CheckMapsParameters const&, CheckMapsParameters const&); |
| 161 | 175 |
| 162 size_t hash_value(CheckMapsParameters const&); | 176 size_t hash_value(CheckMapsParameters const&); |
| 163 | 177 |
| 164 std::ostream& operator<<(std::ostream&, CheckMapsParameters const&); | 178 std::ostream& operator<<(std::ostream&, CheckMapsParameters const&); |
| 165 | 179 |
| (...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 357 const Operator* ChangeFloat64ToTagged(); | 371 const Operator* ChangeFloat64ToTagged(); |
| 358 const Operator* ChangeFloat64ToTaggedPointer(); | 372 const Operator* ChangeFloat64ToTaggedPointer(); |
| 359 const Operator* ChangeTaggedToBit(); | 373 const Operator* ChangeTaggedToBit(); |
| 360 const Operator* ChangeBitToTagged(); | 374 const Operator* ChangeBitToTagged(); |
| 361 const Operator* TruncateTaggedToWord32(); | 375 const Operator* TruncateTaggedToWord32(); |
| 362 const Operator* TruncateTaggedToFloat64(); | 376 const Operator* TruncateTaggedToFloat64(); |
| 363 const Operator* TruncateTaggedToBit(); | 377 const Operator* TruncateTaggedToBit(); |
| 364 | 378 |
| 365 const Operator* CheckIf(); | 379 const Operator* CheckIf(); |
| 366 const Operator* CheckBounds(); | 380 const Operator* CheckBounds(); |
| 367 const Operator* CheckMaps(ZoneHandleSet<Map>); | 381 const Operator* CheckMaps(CheckMapsFlags, ZoneHandleSet<Map>); |
| 368 | 382 |
| 369 const Operator* CheckHeapObject(); | 383 const Operator* CheckHeapObject(); |
| 370 const Operator* CheckInternalizedString(); | 384 const Operator* CheckInternalizedString(); |
| 371 const Operator* CheckNumber(); | 385 const Operator* CheckNumber(); |
| 372 const Operator* CheckSmi(); | 386 const Operator* CheckSmi(); |
| 373 const Operator* CheckString(); | 387 const Operator* CheckString(); |
| 374 | 388 |
| 375 const Operator* CheckedInt32Add(); | 389 const Operator* CheckedInt32Add(); |
| 376 const Operator* CheckedInt32Sub(); | 390 const Operator* CheckedInt32Sub(); |
| 377 const Operator* CheckedInt32Div(); | 391 const Operator* CheckedInt32Div(); |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 449 Zone* const zone_; | 463 Zone* const zone_; |
| 450 | 464 |
| 451 DISALLOW_COPY_AND_ASSIGN(SimplifiedOperatorBuilder); | 465 DISALLOW_COPY_AND_ASSIGN(SimplifiedOperatorBuilder); |
| 452 }; | 466 }; |
| 453 | 467 |
| 454 } // namespace compiler | 468 } // namespace compiler |
| 455 } // namespace internal | 469 } // namespace internal |
| 456 } // namespace v8 | 470 } // namespace v8 |
| 457 | 471 |
| 458 #endif // V8_COMPILER_SIMPLIFIED_OPERATOR_H_ | 472 #endif // V8_COMPILER_SIMPLIFIED_OPERATOR_H_ |
| OLD | NEW |