| Index: src/bootstrapper.cc | 
| diff --git a/src/bootstrapper.cc b/src/bootstrapper.cc | 
| index 68f5507a2cd672ae2185785f58f046b04e67d12d..a3a413d47659be44d47935c255ab9ed49f03df08 100644 | 
| --- a/src/bootstrapper.cc | 
| +++ b/src/bootstrapper.cc | 
| @@ -221,8 +221,10 @@ class Genesis BASE_EMBEDDED { | 
| void InitializeGlobal_experimental_fast_array_builtins(); | 
|  | 
| Handle<JSFunction> InstallArrayBuffer(Handle<JSObject> target, | 
| -                                        const char* name, Builtins::Name call, | 
| -                                        BuiltinFunctionId id, bool is_shared); | 
| +                                        const char* name, | 
| +                                        Builtins::Name call_byteLength, | 
| +                                        BuiltinFunctionId byteLength_id, | 
| +                                        Builtins::Name call_slice); | 
| Handle<JSFunction> InstallInternalArray(Handle<JSObject> target, | 
| const char* name, | 
| ElementsKind elements_kind); | 
| @@ -2562,7 +2564,8 @@ 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", Builtins::kArrayBufferPrototypeGetByteLength, | 
| -        BuiltinFunctionId::kArrayBufferByteLength, false); | 
| +        BuiltinFunctionId::kArrayBufferByteLength, | 
| +        Builtins::kArrayBufferPrototypeSlice); | 
| InstallWithIntrinsicDefaultProto(isolate, array_buffer_fun, | 
| Context::ARRAY_BUFFER_FUN_INDEX); | 
| InstallSpeciesGetter(array_buffer_fun); | 
| @@ -3723,7 +3726,8 @@ void Genesis::InitializeGlobal_harmony_sharedarraybuffer() { | 
| Handle<JSFunction> shared_array_buffer_fun = | 
| InstallArrayBuffer(global, "SharedArrayBuffer", | 
| Builtins::kSharedArrayBufferPrototypeGetByteLength, | 
| -                         BuiltinFunctionId::kSharedArrayBufferByteLength, true); | 
| +                         BuiltinFunctionId::kSharedArrayBufferByteLength, | 
| +                         Builtins::kSharedArrayBufferPrototypeSlice); | 
| native_context()->set_shared_array_buffer_fun(*shared_array_buffer_fun); | 
|  | 
| Handle<String> name = factory->InternalizeUtf8String("Atomics"); | 
| @@ -3926,9 +3930,9 @@ void Genesis::InitializeGlobal_icu_case_mapping() { | 
|  | 
| Handle<JSFunction> Genesis::InstallArrayBuffer(Handle<JSObject> target, | 
| const char* name, | 
| -                                               Builtins::Name call, | 
| -                                               BuiltinFunctionId id, | 
| -                                               bool is_shared) { | 
| +                                               Builtins::Name call_byteLength, | 
| +                                               BuiltinFunctionId byteLength_id, | 
| +                                               Builtins::Name call_slice) { | 
| // Create the %ArrayBufferPrototype% | 
| // Setup the {prototype} with the given {name} for @@toStringTag. | 
| Handle<JSObject> prototype = | 
| @@ -3955,14 +3959,10 @@ Handle<JSFunction> Genesis::InstallArrayBuffer(Handle<JSObject> target, | 
| Builtins::kArrayBufferIsView, 1, true); | 
|  | 
| // Install the "byteLength" getter on the {prototype}. | 
| -  SimpleInstallGetter(prototype, factory()->byte_length_string(), call, false, | 
| -                      id); | 
| +  SimpleInstallGetter(prototype, factory()->byte_length_string(), | 
| +                      call_byteLength, false, byteLength_id); | 
|  | 
| -  // TODO(binji): support SharedArrayBuffer.prototype.slice as well. | 
| -  if (!is_shared) { | 
| -    SimpleInstallFunction(prototype, "slice", | 
| -                          Builtins::kArrayBufferPrototypeSlice, 2, true); | 
| -  } | 
| +  SimpleInstallFunction(prototype, "slice", call_slice, 2, true); | 
|  | 
| return array_buffer_fun; | 
| } | 
|  |