diff options
Diffstat (limited to 'chromium/v8/src/compiler/representation-change.h')
-rw-r--r-- | chromium/v8/src/compiler/representation-change.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/chromium/v8/src/compiler/representation-change.h b/chromium/v8/src/compiler/representation-change.h index 78fa1fbe9dc..3654b089fca 100644 --- a/chromium/v8/src/compiler/representation-change.h +++ b/chromium/v8/src/compiler/representation-change.h @@ -119,6 +119,7 @@ enum class TypeCheckKind : uint8_t { kSigned32, kSigned64, kNumber, + kNumberOrBoolean, kNumberOrOddball, kHeapObject, kBigInt, @@ -137,6 +138,8 @@ inline std::ostream& operator<<(std::ostream& os, TypeCheckKind type_check) { return os << "Signed64"; case TypeCheckKind::kNumber: return os << "Number"; + case TypeCheckKind::kNumberOrBoolean: + return os << "NumberOrBoolean"; case TypeCheckKind::kNumberOrOddball: return os << "NumberOrOddball"; case TypeCheckKind::kHeapObject: @@ -266,6 +269,12 @@ class UseInfo { return UseInfo(MachineRepresentation::kWord32, Truncation::Word32(), TypeCheckKind::kNumber, feedback); } + static UseInfo CheckedNumberOrBooleanAsFloat64( + IdentifyZeros identify_zeros, const FeedbackSource& feedback) { + return UseInfo(MachineRepresentation::kFloat64, + Truncation::Any(identify_zeros), + TypeCheckKind::kNumberOrBoolean, feedback); + } static UseInfo CheckedNumberOrOddballAsFloat64( IdentifyZeros identify_zeros, const FeedbackSource& feedback) { return UseInfo(MachineRepresentation::kFloat64, |