| Index: src/ia32/lithium-codegen-ia32.cc | 
| diff --git a/src/ia32/lithium-codegen-ia32.cc b/src/ia32/lithium-codegen-ia32.cc | 
| index 03a0d8a3df94b3d03234f6b037bec2f15ad7cf26..c4e0a9df406396918285493e150328c2ea725962 100644 | 
| --- a/src/ia32/lithium-codegen-ia32.cc | 
| +++ b/src/ia32/lithium-codegen-ia32.cc | 
| @@ -3407,22 +3407,18 @@ void LCodeGen::DoDeclareGlobals(LDeclareGlobals* instr) { | 
|  | 
|  | 
| void LCodeGen::CallKnownFunction(Handle<JSFunction> function, | 
| -                                 int formal_parameter_count, | 
| -                                 int arity, | 
| -                                 LInstruction* instr, | 
| -                                 EDIState edi_state) { | 
| +                                 int formal_parameter_count, int arity, | 
| +                                 LInstruction* instr) { | 
| bool dont_adapt_arguments = | 
| formal_parameter_count == SharedFunctionInfo::kDontAdaptArgumentsSentinel; | 
| bool can_invoke_directly = | 
| dont_adapt_arguments || formal_parameter_count == arity; | 
|  | 
| -  if (can_invoke_directly) { | 
| -    if (edi_state == EDI_UNINITIALIZED) { | 
| -      __ LoadHeapObject(edi, function); | 
| -    } | 
| +  Register function_reg = edi; | 
|  | 
| +  if (can_invoke_directly) { | 
| // Change context. | 
| -    __ mov(esi, FieldOperand(edi, JSFunction::kContextOffset)); | 
| +    __ mov(esi, FieldOperand(function_reg, JSFunction::kContextOffset)); | 
|  | 
| // Set eax to arguments count if adaption is not needed. Assumes that eax | 
| // is available to write to at this point. | 
| @@ -3434,7 +3430,7 @@ void LCodeGen::CallKnownFunction(Handle<JSFunction> function, | 
| if (function.is_identical_to(info()->closure())) { | 
| __ CallSelf(); | 
| } else { | 
| -      __ call(FieldOperand(edi, JSFunction::kCodeEntryOffset)); | 
| +      __ call(FieldOperand(function_reg, JSFunction::kCodeEntryOffset)); | 
| } | 
| RecordSafepointWithLazyDeopt(instr, RECORD_SIMPLE_SAFEPOINT); | 
| } else { | 
| @@ -3444,7 +3440,7 @@ void LCodeGen::CallKnownFunction(Handle<JSFunction> function, | 
| this, pointers, Safepoint::kLazyDeopt); | 
| ParameterCount count(arity); | 
| ParameterCount expected(formal_parameter_count); | 
| -    __ InvokeFunction(function, expected, count, CALL_FUNCTION, generator); | 
| +    __ InvokeFunction(function_reg, expected, count, CALL_FUNCTION, generator); | 
| } | 
| } | 
|  | 
| @@ -3936,9 +3932,7 @@ void LCodeGen::DoInvokeFunction(LInvokeFunction* instr) { | 
| } else { | 
| CallKnownFunction(known_function, | 
| instr->hydrogen()->formal_parameter_count(), | 
| -                      instr->arity(), | 
| -                      instr, | 
| -                      EDI_CONTAINS_TARGET); | 
| +                      instr->arity(), instr); | 
| } | 
| } | 
|  | 
|  |