| Index: src/compiler.h
 | 
| diff --git a/src/compiler.h b/src/compiler.h
 | 
| index 6df21de357ae9c10bb1aa3419a6018f365b64ebc..2b4db6e170c96517867fb72e322925329820df22 100644
 | 
| --- a/src/compiler.h
 | 
| +++ b/src/compiler.h
 | 
| @@ -39,7 +39,7 @@ class ScriptDataImpl;
 | 
|  
 | 
|  // CompilationInfo encapsulates some information known at compile time.  It
 | 
|  // is constructed based on the resources available at compile-time.
 | 
| -class CompilationInfo BASE_EMBEDDED {
 | 
| +class CompilationInfo {
 | 
|   public:
 | 
|    CompilationInfo(Handle<Script> script, Zone* zone);
 | 
|    CompilationInfo(Handle<SharedFunctionInfo> shared_info, Zone* zone);
 | 
| @@ -180,6 +180,13 @@ class CompilationInfo BASE_EMBEDDED {
 | 
|      deferred_handles_ = deferred_handles;
 | 
|    }
 | 
|  
 | 
| +  void SaveHandles() {
 | 
| +    SaveHandle(&closure_);
 | 
| +    SaveHandle(&shared_info_);
 | 
| +    SaveHandle(&calling_context_);
 | 
| +    SaveHandle(&script_);
 | 
| +  }
 | 
| +
 | 
|   private:
 | 
|    Isolate* isolate_;
 | 
|  
 | 
| @@ -268,6 +275,14 @@ class CompilationInfo BASE_EMBEDDED {
 | 
|  
 | 
|    DeferredHandles* deferred_handles_;
 | 
|  
 | 
| +  template<typename T>
 | 
| +  void SaveHandle(Handle<T> *object) {
 | 
| +    if (!object->is_null()) {
 | 
| +      Handle<T> handle(*(*object));
 | 
| +      *object = handle;
 | 
| +    }
 | 
| +  }
 | 
| +
 | 
|    DISALLOW_COPY_AND_ASSIGN(CompilationInfo);
 | 
|  };
 | 
|  
 | 
| @@ -432,6 +447,8 @@ class Compiler : public AllStatic {
 | 
|    // success and false if the compilation resulted in a stack overflow.
 | 
|    static bool CompileLazy(CompilationInfo* info);
 | 
|  
 | 
| +  static void RecompileParallel(Handle<JSFunction> function);
 | 
| +
 | 
|    // Compile a shared function info object (the function is possibly lazily
 | 
|    // compiled).
 | 
|    static Handle<SharedFunctionInfo> BuildFunctionInfo(FunctionLiteral* node,
 | 
| @@ -443,6 +460,8 @@ class Compiler : public AllStatic {
 | 
|                                bool is_toplevel,
 | 
|                                Handle<Script> script);
 | 
|  
 | 
| +  static void InstallOptimizedCode(OptimizingCompiler* info);
 | 
| +
 | 
|  #ifdef ENABLE_DEBUGGER_SUPPORT
 | 
|    static bool MakeCodeForLiveEdit(CompilationInfo* info);
 | 
|  #endif
 | 
| 
 |