Index: runtime/vm/intermediate_language_ia32.cc |
=================================================================== |
--- runtime/vm/intermediate_language_ia32.cc (revision 38626) |
+++ runtime/vm/intermediate_language_ia32.cc (working copy) |
@@ -990,11 +990,8 @@ |
case kTypedDataInt32ArrayCid: |
case kTypedDataUint32ArrayCid: |
- // Result can be Smi or Mint when boxed. |
- // Instruction can deoptimize if we optimistically assumed that the result |
- // fits into Smi. |
- return CanDeoptimize() ? CompileType::FromCid(kSmiCid) |
- : CompileType::Int(); |
+ return Typed32BitIsSmi() ? CompileType::FromCid(kSmiCid) |
+ : CompileType::FromCid(kMintCid); |
default: |
UNIMPLEMENTED(); |
@@ -1019,9 +1016,7 @@ |
return kTagged; |
case kTypedDataInt32ArrayCid: |
case kTypedDataUint32ArrayCid: |
- // Instruction can deoptimize if we optimistically assumed that the result |
- // fits into Smi. |
- return CanDeoptimize() ? kTagged : kUnboxedMint; |
+ return Typed32BitIsSmi() ? kTagged : kUnboxedMint; |
case kTypedDataFloat32ArrayCid: |
case kTypedDataFloat64ArrayCid: |
return kUnboxedDouble; |