| Index: src/ic.cc | 
| diff --git a/src/ic.cc b/src/ic.cc | 
| index 5b62a8a09c80321721c91b002c257348cc8af88e..a9c2a4837cf1258448e1d47811d49bf4092854ff 100644 | 
| --- a/src/ic.cc | 
| +++ b/src/ic.cc | 
| @@ -1541,18 +1541,17 @@ void KeyedStoreIC::UpdateCaches(LookupResult* lookup, | 
| // Static IC stub generators. | 
| // | 
|  | 
| -static Object* CompileFunction(Object* result, | 
| -                               Handle<Object> object, | 
| -                               InLoopFlag in_loop) { | 
| +static JSFunction* CompileFunction(JSFunction* function, | 
| +                                   InLoopFlag in_loop) { | 
| // Compile now with optimization. | 
| HandleScope scope; | 
| -  Handle<JSFunction> function = Handle<JSFunction>(JSFunction::cast(result)); | 
| +  Handle<JSFunction> function_handle(function); | 
| if (in_loop == IN_LOOP) { | 
| -    CompileLazyInLoop(function, object, CLEAR_EXCEPTION); | 
| +    CompileLazyInLoop(function_handle, CLEAR_EXCEPTION); | 
| } else { | 
| -    CompileLazy(function, object, CLEAR_EXCEPTION); | 
| +    CompileLazy(function_handle, CLEAR_EXCEPTION); | 
| } | 
| -  return *function; | 
| +  return *function_handle; | 
| } | 
|  | 
|  | 
| @@ -1575,7 +1574,7 @@ Object* CallIC_Miss(Arguments args) { | 
| if (!result->IsJSFunction() || JSFunction::cast(result)->is_compiled()) { | 
| return result; | 
| } | 
| -  return CompileFunction(result, args.at<Object>(0), ic.target()->ic_in_loop()); | 
| +  return CompileFunction(JSFunction::cast(result), ic.target()->ic_in_loop()); | 
| } | 
|  | 
|  | 
| @@ -1591,7 +1590,7 @@ Object* KeyedCallIC_Miss(Arguments args) { | 
| if (!result->IsJSFunction() || JSFunction::cast(result)->is_compiled()) { | 
| return result; | 
| } | 
| -  return CompileFunction(result, args.at<Object>(0), ic.target()->ic_in_loop()); | 
| +  return CompileFunction(JSFunction::cast(result), ic.target()->ic_in_loop()); | 
| } | 
|  | 
|  | 
|  |