| 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);
|
|
|