Index: src/compiler/representation-change.h |
diff --git a/src/compiler/representation-change.h b/src/compiler/representation-change.h |
index 80d5a73bd9f299c321f005883deb91993ede4811..fac328072a430a3d51c188bc99f1ab210bf1de63 100644 |
--- a/src/compiler/representation-change.h |
+++ b/src/compiler/representation-change.h |
@@ -78,6 +78,7 @@ enum class TypeCheckKind : uint8_t { |
kNone, |
kSignedSmall, |
kSigned32, |
+ kNumber, |
kNumberOrOddball |
}; |
@@ -89,6 +90,8 @@ inline std::ostream& operator<<(std::ostream& os, TypeCheckKind type_check) { |
return os << "SignedSmall"; |
case TypeCheckKind::kSigned32: |
return os << "Signed32"; |
+ case TypeCheckKind::kNumber: |
+ return os << "Number"; |
case TypeCheckKind::kNumberOrOddball: |
return os << "NumberOrOddball"; |
} |
@@ -146,6 +149,14 @@ class UseInfo { |
return UseInfo(MachineRepresentation::kWord32, Truncation::Any(), |
TypeCheckKind::kSigned32); |
} |
+ static UseInfo CheckedNumberAsFloat64() { |
+ return UseInfo(MachineRepresentation::kFloat64, Truncation::Float64(), |
+ TypeCheckKind::kNumber); |
+ } |
+ static UseInfo CheckedNumberAsWord32() { |
+ return UseInfo(MachineRepresentation::kWord32, Truncation::Word32(), |
+ TypeCheckKind::kNumber); |
+ } |
static UseInfo CheckedNumberOrOddballAsFloat64() { |
return UseInfo(MachineRepresentation::kFloat64, Truncation::Any(), |
TypeCheckKind::kNumberOrOddball); |