| Index: runtime/vm/intermediate_language_mips.cc
|
| ===================================================================
|
| --- runtime/vm/intermediate_language_mips.cc (revision 21707)
|
| +++ runtime/vm/intermediate_language_mips.cc (working copy)
|
| @@ -85,10 +85,12 @@
|
| if (!compiler->HasFinally()) {
|
| Label stack_ok;
|
| __ Comment("Stack Check");
|
| - const int sp_fp_dist = compiler->StackSize() + (-kFirstLocalSlotIndex - 1);
|
| - __ subu(T2, FP, SP);
|
| + const intptr_t fp_sp_dist =
|
| + (kFirstLocalSlotIndex + 1 - compiler->StackSize()) * kWordSize;
|
| + ASSERT(fp_sp_dist <= 0);
|
| + __ subu(T2, SP, FP);
|
|
|
| - __ BranchEqual(T2, sp_fp_dist * kWordSize, &stack_ok);
|
| + __ BranchEqual(T2, fp_sp_dist, &stack_ok);
|
| __ break_(0);
|
|
|
| __ Bind(&stack_ok);
|
|
|