| Index: runtime/vm/intermediate_language_arm.cc
|
| ===================================================================
|
| --- runtime/vm/intermediate_language_arm.cc (revision 22334)
|
| +++ runtime/vm/intermediate_language_arm.cc (working copy)
|
| @@ -83,13 +83,16 @@
|
| // has its own return instruction. Method that have finally are currently
|
| // not optimized.
|
| if (!compiler->HasFinally()) {
|
| + Label stack_ok;
|
| __ Comment("Stack Check");
|
| const intptr_t fp_sp_dist =
|
| (kFirstLocalSlotIndex + 1 - compiler->StackSize()) * kWordSize;
|
| ASSERT(fp_sp_dist <= 0);
|
| __ sub(R2, SP, ShifterOperand(FP));
|
| __ CompareImmediate(R2, fp_sp_dist);
|
| - __ bkpt(0, NE);
|
| + __ b(&stack_ok, EQ);
|
| + __ bkpt(0);
|
| + __ Bind(&stack_ok);
|
| }
|
| #endif
|
| __ LeaveDartFrame();
|
|
|