| Index: src/builtins.cc | 
| diff --git a/src/builtins.cc b/src/builtins.cc | 
| index b73ed6b9810e37e9a64586c8598911be43a60a83..7603039e8ae742322d6a7237ae291899a1496753 100644 | 
| --- a/src/builtins.cc | 
| +++ b/src/builtins.cc | 
| @@ -506,23 +506,7 @@ static bool ElementsAccessorHasElementWrapper( | 
| uint32_t key, | 
| Handle<FixedArrayBase> backing_store = Handle<FixedArrayBase>::null()) { | 
| return accessor->HasElement(*receiver, *holder, key, | 
| -                              backing_store.is_null() ? *backing_store : NULL); | 
| -} | 
| - | 
| - | 
| -// TODO(ishell): Temporary wrapper until handlified. | 
| -static Handle<Object> ElementsAccessorGetWrapper( | 
| -    Isolate* isolate, | 
| -    ElementsAccessor* accessor, | 
| -    Handle<Object> receiver, | 
| -    Handle<JSObject> holder, | 
| -    uint32_t key, | 
| -    Handle<FixedArrayBase> backing_store = Handle<FixedArrayBase>::null()) { | 
| -  CALL_HEAP_FUNCTION(isolate, | 
| -                     accessor->Get(*receiver, *holder, key, | 
| -                                   backing_store.is_null() | 
| -                                   ? *backing_store : NULL), | 
| -                     Object); | 
| +                              backing_store.is_null() ? NULL : *backing_store); | 
| } | 
|  | 
|  | 
| @@ -544,8 +528,8 @@ BUILTIN(ArrayPop) { | 
| Handle<Object> element; | 
| if (ElementsAccessorHasElementWrapper( | 
| accessor, array, array, new_length, elms_obj)) { | 
| -    element = ElementsAccessorGetWrapper( | 
| -        isolate, accessor, array, array, new_length, elms_obj); | 
| +    element = accessor->Get( | 
| +        array, array, new_length, elms_obj); | 
| } else { | 
| Handle<Object> proto(array->GetPrototype(), isolate); | 
| element = Object::GetElement(isolate, proto, len - 1); | 
| @@ -578,6 +562,7 @@ BUILTIN(ArrayShift) { | 
| // Get first element | 
| ElementsAccessor* accessor = array->GetElementsAccessor(); | 
| Handle<Object> first = accessor->Get(receiver, array, 0, elms_obj); | 
| +  RETURN_IF_EMPTY_HANDLE(isolate, first); | 
| if (first->IsTheHole()) { | 
| first = isolate->factory()->undefined_value(); | 
| } | 
|  |