| Index: src/bootstrapper.cc
|
| diff --git a/src/bootstrapper.cc b/src/bootstrapper.cc
|
| index c16285af45a4317dc3dba154af9aefdac3f5e91d..bb9a985ad13648c73d2e47bd8da1c6f33cdc2c62 100644
|
| --- a/src/bootstrapper.cc
|
| +++ b/src/bootstrapper.cc
|
| @@ -210,7 +210,8 @@ class Genesis BASE_EMBEDDED {
|
| #undef DECLARE_FEATURE_INITIALIZATION
|
|
|
| Handle<JSFunction> InstallArrayBuffer(Handle<JSObject> target,
|
| - const char* name);
|
| + const char* name, Builtins::Name call,
|
| + BuiltinFunctionId id);
|
| Handle<JSFunction> InstallInternalArray(Handle<JSObject> target,
|
| const char* name,
|
| ElementsKind elements_kind);
|
| @@ -1801,8 +1802,9 @@ void Genesis::InitializeGlobal(Handle<JSGlobalObject> global_object,
|
| }
|
|
|
| { // -- A r r a y B u f f e r
|
| - Handle<JSFunction> array_buffer_fun =
|
| - InstallArrayBuffer(global, "ArrayBuffer");
|
| + Handle<JSFunction> array_buffer_fun = InstallArrayBuffer(
|
| + global, "ArrayBuffer", Builtins::kArrayBufferPrototypeGetByteLength,
|
| + BuiltinFunctionId::kArrayBufferByteLength);
|
| InstallWithIntrinsicDefaultProto(isolate, array_buffer_fun,
|
| Context::ARRAY_BUFFER_FUN_INDEX);
|
| }
|
| @@ -2785,7 +2787,9 @@ void Genesis::InitializeGlobal_harmony_sharedarraybuffer() {
|
| Factory* factory = isolate->factory();
|
|
|
| Handle<JSFunction> shared_array_buffer_fun =
|
| - InstallArrayBuffer(global, "SharedArrayBuffer");
|
| + InstallArrayBuffer(global, "SharedArrayBuffer",
|
| + Builtins::kSharedArrayBufferPrototypeGetByteLength,
|
| + BuiltinFunctionId::kSharedArrayBufferByteLength);
|
| native_context()->set_shared_array_buffer_fun(*shared_array_buffer_fun);
|
|
|
| Handle<String> name = factory->InternalizeUtf8String("Atomics");
|
| @@ -2886,7 +2890,9 @@ void Genesis::InitializeGlobal_harmony_array_prototype_values() {
|
| }
|
|
|
| Handle<JSFunction> Genesis::InstallArrayBuffer(Handle<JSObject> target,
|
| - const char* name) {
|
| + const char* name,
|
| + Builtins::Name call,
|
| + BuiltinFunctionId id) {
|
| // Create the %ArrayBufferPrototype%
|
| // Setup the {prototype} with the given {name} for @@toStringTag.
|
| Handle<JSObject> prototype =
|
| @@ -2913,9 +2919,8 @@ Handle<JSFunction> Genesis::InstallArrayBuffer(Handle<JSObject> target,
|
| Builtins::kArrayBufferIsView, 1, true);
|
|
|
| // Install the "byteLength" getter on the {prototype}.
|
| - SimpleInstallGetter(prototype, factory()->byte_length_string(),
|
| - Builtins::kArrayBufferPrototypeGetByteLength, false,
|
| - kArrayBufferByteLength);
|
| + SimpleInstallGetter(prototype, factory()->byte_length_string(), call, false,
|
| + id);
|
|
|
| return array_buffer_fun;
|
| }
|
| @@ -3319,7 +3324,7 @@ bool Genesis::InstallExperimentalNatives() {
|
| static const char* harmony_explicit_tailcalls_natives[] = {nullptr};
|
| static const char* harmony_tailcalls_natives[] = {nullptr};
|
| static const char* harmony_sharedarraybuffer_natives[] = {
|
| - "native harmony-sharedarraybuffer.js", "native harmony-atomics.js", NULL};
|
| + "native harmony-atomics.js", NULL};
|
| static const char* harmony_simd_natives[] = {"native harmony-simd.js",
|
| nullptr};
|
| static const char* harmony_do_expressions_natives[] = {nullptr};
|
|
|