Index: src/bootstrapper.cc |
diff --git a/src/bootstrapper.cc b/src/bootstrapper.cc |
index f27ca7ab8d687ac4f9de190edbdf6f247a7f7c21..7b8af06d1a40aaead50dd25d9a370260ff4c9394 100644 |
--- a/src/bootstrapper.cc |
+++ b/src/bootstrapper.cc |
@@ -1669,6 +1669,8 @@ bool Genesis::InstallNatives() { |
builtins->set_native_context(*native_context()); |
builtins->set_global_context(*native_context()); |
builtins->set_global_receiver(*builtins); |
+ builtins->set_global_receiver(native_context()->global_proxy()); |
+ |
// Set up the 'global' properties of the builtins object. The |
// 'global' property that refers to the global object is the only |
@@ -1682,6 +1684,11 @@ bool Genesis::InstallNatives() { |
CHECK_NOT_EMPTY_HANDLE(isolate(), |
JSObject::SetLocalPropertyIgnoreAttributes( |
builtins, global_string, global_obj, attributes)); |
+ Handle<String> builtins_string = |
+ factory()->InternalizeOneByteString(STATIC_ASCII_VECTOR("builtins")); |
+ CHECK_NOT_EMPTY_HANDLE(isolate(), |
+ JSObject::SetLocalPropertyIgnoreAttributes( |
+ builtins, builtins_string, builtins, attributes)); |
// Set up the reference from the global object to the builtins object. |
JSGlobalObject::cast(native_context()->global_object())-> |
@@ -2581,6 +2588,8 @@ Genesis::Genesis(Isolate* isolate, |
HookUpGlobalProxy(inner_global, global_proxy); |
HookUpInnerGlobal(inner_global); |
+ native_context()->builtins()->set_global_receiver( |
+ native_context()->global_proxy()); |
if (!ConfigureGlobalObjects(global_template)) return; |
} else { |