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 { |