| Index: runtime/vm/intermediate_language_ia32.cc
 | 
| ===================================================================
 | 
| --- runtime/vm/intermediate_language_ia32.cc	(revision 22469)
 | 
| +++ runtime/vm/intermediate_language_ia32.cc	(working copy)
 | 
| @@ -85,7 +85,7 @@
 | 
|      __ Comment("Stack Check");
 | 
|      Label done;
 | 
|      const intptr_t fp_sp_dist =
 | 
| -        (kFirstLocalSlotIndex + 1 - compiler->StackSize()) * kWordSize;
 | 
| +        (kFirstLocalSlotFromFp + 1 - compiler->StackSize()) * kWordSize;
 | 
|      ASSERT(fp_sp_dist <= 0);
 | 
|      __ movl(EDI, ESP);
 | 
|      __ subl(EDI, EBP);
 | 
| @@ -1048,10 +1048,10 @@
 | 
|    __ PushObject(Object::ZoneHandle());
 | 
|    // Pass a pointer to the first argument in EAX.
 | 
|    if (!function().HasOptionalParameters()) {
 | 
| -    __ leal(EAX, Address(EBP, (kLastParamSlotIndex +
 | 
| -                               function().NumParameters() - 1) * kWordSize));
 | 
| +    __ leal(EAX, Address(EBP, (kParamEndSlotFromFp +
 | 
| +                               function().NumParameters()) * kWordSize));
 | 
|    } else {
 | 
| -    __ leal(EAX, Address(EBP, kFirstLocalSlotIndex * kWordSize));
 | 
| +    __ leal(EAX, Address(EBP, kFirstLocalSlotFromFp * kWordSize));
 | 
|    }
 | 
|    __ movl(ECX, Immediate(reinterpret_cast<uword>(native_c_function())));
 | 
|    __ movl(EDX, Immediate(NativeArguments::ComputeArgcTag(function())));
 | 
| @@ -2082,7 +2082,7 @@
 | 
|    // Restore ESP from EBP as we are coming from a throw and the code for
 | 
|    // popping arguments has not been run.
 | 
|    const intptr_t fp_sp_dist =
 | 
| -      (kFirstLocalSlotIndex + 1 - compiler->StackSize()) * kWordSize;
 | 
| +      (kFirstLocalSlotFromFp + 1 - compiler->StackSize()) * kWordSize;
 | 
|    ASSERT(fp_sp_dist <= 0);
 | 
|    __ leal(ESP, Address(EBP, fp_sp_dist));
 | 
|  
 | 
| 
 |