| Index: src/js/prologue.js
|
| diff --git a/src/js/prologue.js b/src/js/prologue.js
|
| index e51ab558b6605e62d87b6be93ed9f34122f30e8b..df7370c33ed69fdfef593fb3864902d08267d68f 100644
|
| --- a/src/js/prologue.js
|
| +++ b/src/js/prologue.js
|
| @@ -15,6 +15,11 @@ var imports = UNDEFINED;
|
| var imports_from_experimental = UNDEFINED;
|
| var exports_container = %ExportFromRuntime({});
|
| var typed_array_setup = UNDEFINED;
|
| +var InstallExperimentalArrayFunctions;
|
| +
|
| +Import(function(from) {
|
| + InstallExperimentalArrayFunctions = from.InstallExperimentalArrayFunctions;
|
| +});
|
|
|
| // Register context value to be initialized with a typed array in
|
| // Genesis::InitializeBuiltinTypedArrays.
|
| @@ -86,14 +91,17 @@ function InstallConstants(object, constants) {
|
| }
|
|
|
|
|
| -function InstallFunctions(object, attributes, functions) {
|
| + function InstallFunctions(object, attributes, functions,
|
| + remove_prototype = true) {
|
| %CheckIsBootstrapping();
|
| %OptimizeObjectForAddingMultipleProperties(object, functions.length >> 1);
|
| for (var i = 0; i < functions.length; i += 2) {
|
| var key = functions[i];
|
| var f = functions[i + 1];
|
| SetFunctionName(f, key);
|
| - %FunctionRemovePrototype(f);
|
| + if (remove_prototype) {
|
| + %FunctionRemovePrototype(f);
|
| + }
|
| %AddNamedProperty(object, key, f, attributes);
|
| %SetNativeFlag(f);
|
| }
|
| @@ -200,7 +208,6 @@ function PostNatives(utils) {
|
| utils.ImportFromExperimental = UNDEFINED;
|
| }
|
|
|
| -
|
| function PostExperimentals(utils) {
|
| %CheckIsBootstrapping();
|
| %ExportExperimentalFromRuntime(exports_container);
|
| @@ -216,6 +223,8 @@ function PostExperimentals(utils) {
|
| utils.PostDebug = UNDEFINED;
|
| utils.PostExperimentals = UNDEFINED;
|
| typed_array_setup = UNDEFINED;
|
| +
|
| + InstallExperimentalArrayFunctions();
|
| }
|
|
|
|
|
|
|