Chromium Code Reviews| Index: runtime/vm/intermediate_language_mips.cc |
| diff --git a/runtime/vm/intermediate_language_mips.cc b/runtime/vm/intermediate_language_mips.cc |
| index 1257aed0d757a0f6f3f6ee2cbe1edabf10ec3c26..8945874eb895a59b911919545217538e6c4455f7 100644 |
| --- a/runtime/vm/intermediate_language_mips.cc |
| +++ b/runtime/vm/intermediate_language_mips.cc |
| @@ -3347,6 +3347,13 @@ void UnboxInteger32Instr::EmitNativeCode(FlowGraphCompiler* compiler) { |
| __ SmiUntag(out, value); |
| } else if (value_cid == kMintCid) { |
| LoadInt32FromMint(compiler, value, out, out_of_range); |
| + } else if (!CanDeoptimize()) { |
| + Label done; |
| + __ SmiUntag(out, value); |
| + __ andi(CMPRES1, value, Immediate(kSmiTagMask)); |
| + __ beq(CMPRES1, ZR, &done); |
| + LoadInt32FromMint(compiler, value, out, out_of_range); |
|
Florian Schneider
2014/12/02 13:12:04
Same comment as on ARM.
Vyacheslav Egorov (Google)
2014/12/02 13:15:58
Done.
|
| + __ Bind(&done); |
| } else { |
| Label done; |
| __ SmiUntag(out, value); |