summaryrefslogtreecommitdiff
path: root/chromium/v8/src/compiler/representation-change.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/v8/src/compiler/representation-change.h')
-rw-r--r--chromium/v8/src/compiler/representation-change.h9
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,