| Index: src/bootstrapper.cc | 
| diff --git a/src/bootstrapper.cc b/src/bootstrapper.cc | 
| index e88861d52664468e06053b6019dfddba87b9f82e..045a63005e99f272fb0a312d5d4de707428d8551 100644 | 
| --- a/src/bootstrapper.cc | 
| +++ b/src/bootstrapper.cc | 
| @@ -1473,25 +1473,27 @@ void Genesis::AddSpecialFunction(Handle<JSObject> prototype, | 
| void Genesis::BuildSpecialFunctionTable() { | 
| HandleScope scope; | 
| Handle<JSObject> global = Handle<JSObject>(global_context()->global()); | 
| -  // Add special versions for Array.prototype.pop and push. | 
| +  // Add special versions for some Array.prototype functions. | 
| Handle<JSFunction> function = | 
| Handle<JSFunction>( | 
| JSFunction::cast(global->GetProperty(Heap::Array_symbol()))); | 
| Handle<JSObject> visible_prototype = | 
| Handle<JSObject>(JSObject::cast(function->prototype())); | 
| -  // Remember to put push and pop on the hidden prototype if it's there. | 
| -  Handle<JSObject> push_and_pop_prototype; | 
| +  // Remember to put those specializations on the hidden prototype if present. | 
| +  Handle<JSObject> special_prototype; | 
| Handle<Object> superproto(visible_prototype->GetPrototype()); | 
| if (superproto->IsJSObject() && | 
| JSObject::cast(*superproto)->map()->is_hidden_prototype()) { | 
| -    push_and_pop_prototype = Handle<JSObject>::cast(superproto); | 
| +    special_prototype = Handle<JSObject>::cast(superproto); | 
| } else { | 
| -    push_and_pop_prototype = visible_prototype; | 
| +    special_prototype = visible_prototype; | 
| } | 
| -  AddSpecialFunction(push_and_pop_prototype, "pop", | 
| +  AddSpecialFunction(special_prototype, "pop", | 
| Handle<Code>(Builtins::builtin(Builtins::ArrayPop))); | 
| -  AddSpecialFunction(push_and_pop_prototype, "push", | 
| +  AddSpecialFunction(special_prototype, "push", | 
| Handle<Code>(Builtins::builtin(Builtins::ArrayPush))); | 
| +  AddSpecialFunction(special_prototype, "shift", | 
| +                     Handle<Code>(Builtins::builtin(Builtins::ArrayShift))); | 
| } | 
|  | 
|  | 
|  |