| Index: runtime/vm/intermediate_language.cc
|
| diff --git a/runtime/vm/intermediate_language.cc b/runtime/vm/intermediate_language.cc
|
| index 9ac5c3f17b0cb244839ec07a06e0bcb5c7d45b5c..ee0de86035a61a6388c64e06d1eed1bf67f6cb05 100644
|
| --- a/runtime/vm/intermediate_language.cc
|
| +++ b/runtime/vm/intermediate_language.cc
|
| @@ -1202,6 +1202,10 @@ bool UnboxInt32Instr::CanDeoptimize() const {
|
| return !is_truncating() &&
|
| !RangeUtils::Fits(value()->definition()->range(),
|
| RangeBoundary::kRangeBoundaryInt32);
|
| + } else if ((kSmiBits < 32) && value()->Type()->IsInt()) {
|
| + // Note: we don't support truncation of Bigint values.
|
| + return !RangeUtils::Fits(value()->definition()->range(),
|
| + RangeBoundary::kRangeBoundaryInt32);
|
| } else {
|
| return true;
|
| }
|
|
|