| Index: src/ic.cc | 
| diff --git a/src/ic.cc b/src/ic.cc | 
| index f7d668f12046cee4b2c4c06f6e8de8f1506ef3ea..423a62195df670b1076edac9a63f76eed3eda4e6 100644 | 
| --- a/src/ic.cc | 
| +++ b/src/ic.cc | 
| @@ -1813,11 +1813,11 @@ RUNTIME_FUNCTION(MaybeObject*, StoreIC_MissFromStubFailure) { | 
|  | 
|  | 
| RUNTIME_FUNCTION(MaybeObject*, StoreIC_ArrayLength) { | 
| -  SealHandleScope shs(isolate); | 
| +  HandleScope scope(isolate); | 
|  | 
| ASSERT(args.length() == 2); | 
| -  JSArray* receiver = JSArray::cast(args[0]); | 
| -  Object* len = args[1]; | 
| +  Handle<JSArray> receiver = args.at<JSArray>(0); | 
| +  Handle<Object> len = args.at<Object>(1); | 
|  | 
| // The generated code should filter out non-Smis before we get here. | 
| ASSERT(len->IsSmi()); | 
| @@ -1829,11 +1829,9 @@ RUNTIME_FUNCTION(MaybeObject*, StoreIC_ArrayLength) { | 
| ASSERT(debug_lookup.IsPropertyCallbacks() && !debug_lookup.IsReadOnly()); | 
| #endif | 
|  | 
| -  Object* result; | 
| -  MaybeObject* maybe_result = receiver->SetElementsLength(len); | 
| -  if (!maybe_result->To(&result)) return maybe_result; | 
| - | 
| -  return len; | 
| +  RETURN_IF_EMPTY_HANDLE(isolate, | 
| +                         JSArray::SetElementsLength(receiver, len)); | 
| +  return *len; | 
| } | 
|  | 
|  | 
|  |