| Index: runtime/vm/intermediate_language_mips.cc
|
| diff --git a/runtime/vm/intermediate_language_mips.cc b/runtime/vm/intermediate_language_mips.cc
|
| index c689adc9e30535d42c3fb02fb2d561622f8cd424..5f17374ebd3c15037349cfdb4dfdd45b1a58d796 100644
|
| --- a/runtime/vm/intermediate_language_mips.cc
|
| +++ b/runtime/vm/intermediate_language_mips.cc
|
| @@ -2359,9 +2359,15 @@ void CreateArrayInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
|
| const Code& stub = Code::ZoneHandle(compiler->zone(),
|
| StubCode::AllocateArray_entry()->code());
|
| compiler->AddStubCallTarget(stub);
|
| - compiler->GenerateCallWithDeopt(token_pos(), deopt_id(),
|
| - *StubCode::AllocateArray_entry(),
|
| - RawPcDescriptors::kOther, locs());
|
| + if (deopt_id() == Thread::kNoDeoptId) {
|
| + ASSERT(compiler->is_optimizing());
|
| + compiler->GenerateCall(token_pos(), *StubCode::AllocateArray_entry(),
|
| + RawPcDescriptors::kOther, locs());
|
| + } else {
|
| + compiler->GenerateCallWithDeopt(token_pos(), deopt_id(),
|
| + *StubCode::AllocateArray_entry(),
|
| + RawPcDescriptors::kOther, locs());
|
| + }
|
| __ Bind(&done);
|
| ASSERT(locs()->out(0).reg() == kResultReg);
|
| }
|
|
|