| Index: src/handles.cc | 
| diff --git a/src/handles.cc b/src/handles.cc | 
| index cfe4dd74a6c5e8bef7cdb06ff6e3218629a29f19..c66056ebbc2ba31342d94acc48671678dcfe1f48 100644 | 
| --- a/src/handles.cc | 
| +++ b/src/handles.cc | 
| @@ -31,6 +31,7 @@ | 
| #include "api.h" | 
| #include "arguments.h" | 
| #include "bootstrapper.h" | 
| +#include "codegen.h" | 
| #include "compiler.h" | 
| #include "debug.h" | 
| #include "execution.h" | 
| @@ -672,13 +673,11 @@ bool EnsureCompiled(Handle<SharedFunctionInfo> shared, | 
| } | 
|  | 
|  | 
| -static bool CompileLazyHelper(Handle<SharedFunctionInfo> shared, | 
| -                              Handle<Object> receiver, | 
| -                              ClearExceptionFlag flag, | 
| -                              int loop_nesting) { | 
| +static bool CompileLazyHelper(CompilationInfo* info, | 
| +                              ClearExceptionFlag flag) { | 
| // Compile the source information to a code object. | 
| -  ASSERT(!shared->is_compiled()); | 
| -  bool result = Compiler::CompileLazy(shared, receiver, loop_nesting); | 
| +  ASSERT(!info->shared_info()->is_compiled()); | 
| +  bool result = Compiler::CompileLazy(info); | 
| ASSERT(result != Top::has_pending_exception()); | 
| if (!result && flag == CLEAR_EXCEPTION) Top::clear_pending_exception(); | 
| return result; | 
| @@ -687,16 +686,17 @@ static bool CompileLazyHelper(Handle<SharedFunctionInfo> shared, | 
|  | 
| bool CompileLazyShared(Handle<SharedFunctionInfo> shared, | 
| ClearExceptionFlag flag) { | 
| -  return CompileLazyHelper(shared, Handle<Object>::null(), flag, 0); | 
| +  CompilationInfo info(shared, Handle<Object>::null(), 0); | 
| +  return CompileLazyHelper(&info, flag); | 
| } | 
|  | 
|  | 
| bool CompileLazy(Handle<JSFunction> function, | 
| Handle<Object> receiver, | 
| ClearExceptionFlag flag) { | 
| -  // Compile the source information to a code object. | 
| Handle<SharedFunctionInfo> shared(function->shared()); | 
| -  bool result = CompileLazyHelper(shared, receiver, flag, 0); | 
| +  CompilationInfo info(shared, receiver, 0); | 
| +  bool result = CompileLazyHelper(&info, flag); | 
| LOG(FunctionCreateEvent(*function)); | 
| return result; | 
| } | 
| @@ -705,9 +705,9 @@ bool CompileLazy(Handle<JSFunction> function, | 
| bool CompileLazyInLoop(Handle<JSFunction> function, | 
| Handle<Object> receiver, | 
| ClearExceptionFlag flag) { | 
| -  // Compile the source information to a code object. | 
| Handle<SharedFunctionInfo> shared(function->shared()); | 
| -  bool result = CompileLazyHelper(shared, receiver, flag, 1); | 
| +  CompilationInfo info(shared, receiver, 1); | 
| +  bool result = CompileLazyHelper(&info, flag); | 
| LOG(FunctionCreateEvent(*function)); | 
| return result; | 
| } | 
|  |