| Index: src/bootstrapper.cc
|
| diff --git a/src/bootstrapper.cc b/src/bootstrapper.cc
|
| index 9512a9c0d1eee1a4766493a3b8d2840890363376..d6678b81a7aa9175d6478df8e9898ba643b82301 100644
|
| --- a/src/bootstrapper.cc
|
| +++ b/src/bootstrapper.cc
|
| @@ -201,6 +201,7 @@ class Genesis BASE_EMBEDDED {
|
| void InitializeGlobal(Handle<GlobalObject> global_object,
|
| Handle<JSFunction> empty_function);
|
| void InitializeExperimentalGlobal();
|
| + void InitializeExtrasExportsObject();
|
| // Installs the contents of the native .js files on the global objects.
|
| // Used for creating a context from scratch.
|
| void InstallNativeFunctions();
|
| @@ -1441,6 +1442,20 @@ void Genesis::InitializeExperimentalGlobal() {
|
| }
|
|
|
|
|
| +void Genesis::InitializeExtrasExportsObject() {
|
| + Handle<JSObject> exports =
|
| + factory()->NewJSObject(isolate()->object_function(), TENURED);
|
| +
|
| + native_context()->set_extras_exports_object(*exports);
|
| +
|
| + Handle<JSBuiltinsObject> builtins(native_context()->builtins());
|
| + Handle<String> exports_string =
|
| + factory()->InternalizeOneByteString(STATIC_CHAR_VECTOR("extrasExports"));
|
| + Runtime::SetObjectProperty(isolate(), builtins, exports_string, exports,
|
| + STRICT).Assert();
|
| +}
|
| +
|
| +
|
| bool Genesis::CompileBuiltin(Isolate* isolate, int index) {
|
| Vector<const char> name = Natives::GetScriptName(index);
|
| Handle<String> source_code =
|
| @@ -2962,6 +2977,7 @@ Genesis::Genesis(Isolate* isolate,
|
| // them after they have already been deserialized would also fail.
|
| if (!isolate->serializer_enabled()) {
|
| InitializeExperimentalGlobal();
|
| + InitializeExtrasExportsObject();
|
| if (!InstallExperimentalNatives()) return;
|
| if (!InstallExtraNatives()) return;
|
| }
|
|
|