Index: src/compiler/representation-change.h |
diff --git a/src/compiler/representation-change.h b/src/compiler/representation-change.h |
index a9fc283c7e101c2d1031cfde0ed23fdaee620c84..80d5a73bd9f299c321f005883deb91993ede4811 100644 |
--- a/src/compiler/representation-change.h |
+++ b/src/compiler/representation-change.h |
@@ -74,12 +74,19 @@ class Truncation final { |
static bool LessGeneral(TruncationKind rep1, TruncationKind rep2); |
}; |
-enum class TypeCheckKind : uint8_t { kNone, kSigned32, kNumberOrOddball }; |
+enum class TypeCheckKind : uint8_t { |
+ kNone, |
+ kSignedSmall, |
+ kSigned32, |
+ kNumberOrOddball |
+}; |
inline std::ostream& operator<<(std::ostream& os, TypeCheckKind type_check) { |
switch (type_check) { |
case TypeCheckKind::kNone: |
return os << "None"; |
+ case TypeCheckKind::kSignedSmall: |
+ return os << "SignedSmall"; |
case TypeCheckKind::kSigned32: |
return os << "Signed32"; |
case TypeCheckKind::kNumberOrOddball: |
@@ -131,6 +138,10 @@ class UseInfo { |
} |
// Possibly deoptimizing conversions. |
+ static UseInfo CheckedSignedSmallAsWord32() { |
+ return UseInfo(MachineRepresentation::kWord32, Truncation::Any(), |
+ TypeCheckKind::kSignedSmall); |
+ } |
static UseInfo CheckedSigned32AsWord32() { |
return UseInfo(MachineRepresentation::kWord32, Truncation::Any(), |
TypeCheckKind::kSigned32); |