| Index: src/bootstrapper.cc | 
| diff --git a/src/bootstrapper.cc b/src/bootstrapper.cc | 
| index a263fbce91b561cf2edf1c00375a5e7c6d8cd53a..0f3831d62b25338e000bdd1726bdb7927f937100 100644 | 
| --- a/src/bootstrapper.cc | 
| +++ b/src/bootstrapper.cc | 
| @@ -185,13 +185,11 @@ class Genesis BASE_EMBEDDED { | 
| // Similarly, we want to use the global that has been created by the templates | 
| // passed through the API.  The global from the snapshot is detached from the | 
| // other objects in the snapshot. | 
| -  void HookUpGlobalObject(Handle<JSGlobalObject> global_object, | 
| -                          Handle<FixedArray> outdated_contexts); | 
| +  void HookUpGlobalObject(Handle<JSGlobalObject> global_object); | 
| // The native context has a ScriptContextTable that store declarative bindings | 
| // made in script scopes.  Add a "this" binding to that table pointing to the | 
| // global proxy. | 
| void InstallGlobalThisBinding(); | 
| -  void HookUpGlobalThisBinding(Handle<FixedArray> outdated_contexts); | 
| // New context initialization.  Used for creating a context from scratch. | 
| void InitializeGlobal(Handle<JSGlobalObject> global_object, | 
| Handle<JSFunction> empty_function, | 
| @@ -923,23 +921,6 @@ void Genesis::InstallGlobalThisBinding() { | 
| } | 
|  | 
|  | 
| -void Genesis::HookUpGlobalThisBinding(Handle<FixedArray> outdated_contexts) { | 
| -  // One of these contexts should be the one that declares the global "this" | 
| -  // binding. | 
| -  for (int i = 0; i < outdated_contexts->length(); ++i) { | 
| -    Context* context = Context::cast(outdated_contexts->get(i)); | 
| -    if (context->IsScriptContext()) { | 
| -      ScopeInfo* scope_info = context->scope_info(); | 
| -      int slot = scope_info->ReceiverContextSlotIndex(); | 
| -      if (slot >= 0) { | 
| -        DCHECK_EQ(slot, Context::MIN_CONTEXT_SLOTS); | 
| -        context->set(slot, native_context()->global_proxy()); | 
| -      } | 
| -    } | 
| -  } | 
| -} | 
| - | 
| - | 
| Handle<JSGlobalObject> Genesis::CreateNewGlobals( | 
| v8::Local<v8::ObjectTemplate> global_proxy_template, | 
| Handle<JSGlobalProxy> global_proxy) { | 
| @@ -1045,8 +1026,7 @@ void Genesis::HookUpGlobalProxy(Handle<JSGlobalObject> global_object, | 
| } | 
|  | 
|  | 
| -void Genesis::HookUpGlobalObject(Handle<JSGlobalObject> global_object, | 
| -                                 Handle<FixedArray> outdated_contexts) { | 
| +void Genesis::HookUpGlobalObject(Handle<JSGlobalObject> global_object) { | 
| Handle<JSGlobalObject> global_object_from_snapshot( | 
| JSGlobalObject::cast(native_context()->extension())); | 
| native_context()->set_extension(*global_object); | 
| @@ -3107,10 +3087,8 @@ Genesis::Genesis(Isolate* isolate, | 
| // We can only de-serialize a context if the isolate was initialized from | 
| // a snapshot. Otherwise we have to build the context from scratch. | 
| // Also create a context from scratch to expose natives, if required by flag. | 
| -  Handle<FixedArray> outdated_contexts; | 
| if (!isolate->initialized_from_snapshot() || | 
| -      !Snapshot::NewContextFromSnapshot(isolate, global_proxy, | 
| -                                        &outdated_contexts) | 
| +      !Snapshot::NewContextFromSnapshot(isolate, global_proxy) | 
| .ToHandle(&native_context_)) { | 
| native_context_ = Handle<Context>(); | 
| } | 
| @@ -3132,8 +3110,7 @@ Genesis::Genesis(Isolate* isolate, | 
| CreateNewGlobals(global_proxy_template, global_proxy); | 
|  | 
| HookUpGlobalProxy(global_object, global_proxy); | 
| -    HookUpGlobalObject(global_object, outdated_contexts); | 
| -    HookUpGlobalThisBinding(outdated_contexts); | 
| +    HookUpGlobalObject(global_object); | 
|  | 
| if (!ConfigureGlobalObjects(global_proxy_template)) return; | 
| } else { | 
|  |