Index: src/bootstrapper.cc |
diff --git a/src/bootstrapper.cc b/src/bootstrapper.cc |
index 0a9fdcb51f5ee02d74130019ce042f6a48163133..345db83894c1f2fbdc5bc2e47ec9136c032ad693 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 { |