| Index: src/ia32/lithium-codegen-ia32.cc | 
| diff --git a/src/ia32/lithium-codegen-ia32.cc b/src/ia32/lithium-codegen-ia32.cc | 
| index 86ac466ae8740dc46c85df4da8d887ee9a40e913..6165810ae9867e4f9ee5a6b2517d0c265349b55d 100644 | 
| --- a/src/ia32/lithium-codegen-ia32.cc | 
| +++ b/src/ia32/lithium-codegen-ia32.cc | 
| @@ -206,14 +206,25 @@ bool LCodeGen::GeneratePrologue() { | 
| if (NeedsEagerFrame()) { | 
| ASSERT(!frame_is_built_); | 
| frame_is_built_ = true; | 
| -    __ push(ebp);  // Caller's frame pointer. | 
| -    __ mov(ebp, esp); | 
| -    info()->AddNoFrameRange(0, masm_->pc_offset()); | 
| -    __ push(esi);  // Callee's context. | 
| -    if (info()->IsStub()) { | 
| -      __ push(Immediate(Smi::FromInt(StackFrame::STUB))); | 
| +    if (FLAG_optimize_for_size && FLAG_age_code && !info()->IsStub()) { | 
| +        // Pre-age the code. | 
| +      __ call(isolate()->builtins()->MarkCodeAsExecutedOnce(), | 
| +             RelocInfo::CODE_AGE_SEQUENCE); | 
| +      for (int i = Assembler::kCallInstructionLength; | 
| +           i < kNoCodeAgeSequenceLength; | 
| +           i++) { | 
| +        __ nop(); | 
| +      } | 
| } else { | 
| -      __ push(edi);  // Callee's JS function. | 
| +      __ push(ebp);  // Caller's frame pointer. | 
| +      __ mov(ebp, esp); | 
| +      info()->AddNoFrameRange(0, masm_->pc_offset()); | 
| +      __ push(esi);  // Callee's context. | 
| +      if (info()->IsStub()) { | 
| +        __ push(Immediate(Smi::FromInt(StackFrame::STUB))); | 
| +      } else { | 
| +        __ push(edi);  // Callee's JS function. | 
| +      } | 
| } | 
| } | 
|  | 
|  |