| Index: runtime/vm/object.cc
|
| diff --git a/runtime/vm/object.cc b/runtime/vm/object.cc
|
| index d1d590c0cee2a5e467a72c81cf3287b5c8991788..340735fd95a9ef2c78f56c677e0707da75423b09 100644
|
| --- a/runtime/vm/object.cc
|
| +++ b/runtime/vm/object.cc
|
| @@ -17994,7 +17994,7 @@ RawInteger* Integer::New(int64_t value, Heap::Space space, const bool silent) {
|
| const bool is_smi = Smi::IsValid(value);
|
| if (!silent &&
|
| FLAG_throw_on_javascript_int_overflow &&
|
| - !Utils::IsJavascriptInt64(value)) {
|
| + !Utils::IsJavascriptInt(value)) {
|
| const Integer& i = is_smi ?
|
| Integer::Handle(Smi::New(static_cast<intptr_t>(value))) :
|
| Integer::Handle(Mint::New(value, space));
|
| @@ -18092,7 +18092,7 @@ bool Integer::CheckJavascriptIntegerOverflow() const {
|
| value = AsInt64Value();
|
| }
|
| }
|
| - return !Utils::IsJavascriptInt64(value);
|
| + return !Utils::IsJavascriptInt(value);
|
| }
|
|
|
|
|
| @@ -18114,7 +18114,9 @@ RawInteger* Integer::AsValidInteger() const {
|
| if (Bigint::Cast(*this).FitsIntoInt64()) {
|
| const int64_t value = AsInt64Value();
|
| if (Smi::IsValid(value)) {
|
| - return Smi::New(value);
|
| + // This cast is safe because Smi::IsValid verifies that value will fit.
|
| + intptr_t val = static_cast<intptr_t>(value);
|
| + return Smi::New(val);
|
| }
|
| return Mint::New(value);
|
| }
|
|
|