Index: runtime/vm/intermediate_language.cc |
diff --git a/runtime/vm/intermediate_language.cc b/runtime/vm/intermediate_language.cc |
index a2a9d2768a3eeca3dde6f90e183d07cca37b1d3b..faa7c143b204a54bf7897f9bea6be48048da39c7 100644 |
--- a/runtime/vm/intermediate_language.cc |
+++ b/runtime/vm/intermediate_language.cc |
@@ -2404,7 +2404,8 @@ static bool MayBeBoxableNumber(intptr_t cid) { |
return (cid == kDynamicCid) || |
(cid == kMintCid) || |
(cid == kBigintCid) || |
- (cid == kDoubleCid); |
+ (cid == kDoubleCid) || |
+ (cid == kFractionCid); |
} |
@@ -2423,8 +2424,8 @@ static bool MaybeNumber(CompileType* type) { |
static Definition* CanonicalizeStrictCompare(StrictCompareInstr* compare, |
bool* negated) { |
// Use propagated cid and type information to eliminate number checks. |
- // If one of the inputs is not a boxable number (Mint, Double, Bigint), or |
- // is not a subtype of num, no need for number checks. |
+ // If one of the inputs is not a boxable number (Mint, Double, Bigint, |
+ // Fraction), or is not a subtype of num, no need for number checks. |
if (compare->needs_number_check()) { |
if (!MayBeBoxableNumber(compare->left()->Type()->ToCid()) || |
!MayBeBoxableNumber(compare->right()->Type()->ToCid())) { |