| Index: src/mips/stub-cache-mips.cc
 | 
| diff --git a/src/mips/stub-cache-mips.cc b/src/mips/stub-cache-mips.cc
 | 
| index e12454c5d2da1d4b89bfad250f102dd77dd16d95..86e7168e449738b2d5c273125822ecae39eae55a 100644
 | 
| --- a/src/mips/stub-cache-mips.cc
 | 
| +++ b/src/mips/stub-cache-mips.cc
 | 
| @@ -1800,78 +1800,6 @@ Handle<Code> CallStubCompiler::CompileArrayPushCall(
 | 
|  }
 | 
|  
 | 
|  
 | 
| -Handle<Code> CallStubCompiler::CompileArrayPopCall(
 | 
| -    Handle<Object> object,
 | 
| -    Handle<JSObject> holder,
 | 
| -    Handle<Cell> cell,
 | 
| -    Handle<JSFunction> function,
 | 
| -    Handle<String> name,
 | 
| -    Code::StubType type) {
 | 
| -  // If object is not an array or is observed or sealed, bail out to regular
 | 
| -  // call.
 | 
| -  if (!object->IsJSArray() ||
 | 
| -      !cell.is_null() ||
 | 
| -      Handle<JSArray>::cast(object)->map()->is_observed() ||
 | 
| -      !Handle<JSArray>::cast(object)->map()->is_extensible()) {
 | 
| -    return Handle<Code>::null();
 | 
| -  }
 | 
| -
 | 
| -  Label miss, return_undefined, call_builtin;
 | 
| -  Register receiver = a0;
 | 
| -  Register scratch = a1;
 | 
| -  Register elements = a3;
 | 
| -  HandlerFrontendHeader(object, holder, name, RECEIVER_MAP_CHECK, &miss);
 | 
| -
 | 
| -  // Get the elements array of the object.
 | 
| -  __ lw(elements, FieldMemOperand(receiver, JSArray::kElementsOffset));
 | 
| -
 | 
| -  // Check that the elements are in fast mode and writable.
 | 
| -  __ CheckMap(elements,
 | 
| -              scratch,
 | 
| -              Heap::kFixedArrayMapRootIndex,
 | 
| -              &call_builtin,
 | 
| -              DONT_DO_SMI_CHECK);
 | 
| -
 | 
| -  // Get the array's length into t0 and calculate new length.
 | 
| -  __ lw(t0, FieldMemOperand(receiver, JSArray::kLengthOffset));
 | 
| -  __ Subu(t0, t0, Operand(Smi::FromInt(1)));
 | 
| -  __ Branch(&return_undefined, lt, t0, Operand(zero_reg));
 | 
| -
 | 
| -  // Get the last element.
 | 
| -  __ LoadRoot(t2, Heap::kTheHoleValueRootIndex);
 | 
| -  STATIC_ASSERT(kSmiTagSize == 1);
 | 
| -  STATIC_ASSERT(kSmiTag == 0);
 | 
| -  // We can't address the last element in one operation. Compute the more
 | 
| -  // expensive shift first, and use an offset later on.
 | 
| -  __ sll(t1, t0, kPointerSizeLog2 - kSmiTagSize);
 | 
| -  __ Addu(elements, elements, t1);
 | 
| -  __ lw(scratch, FieldMemOperand(elements, FixedArray::kHeaderSize));
 | 
| -  __ Branch(&call_builtin, eq, scratch, Operand(t2));
 | 
| -
 | 
| -  // Set the array's length.
 | 
| -  __ sw(t0, FieldMemOperand(receiver, JSArray::kLengthOffset));
 | 
| -
 | 
| -  // Fill with the hole.
 | 
| -  __ sw(t2, FieldMemOperand(elements, FixedArray::kHeaderSize));
 | 
| -  const int argc = arguments().immediate();
 | 
| -  __ mov(v0, scratch);
 | 
| -  __ DropAndRet(argc + 1);
 | 
| -
 | 
| -  __ bind(&return_undefined);
 | 
| -  __ LoadRoot(v0, Heap::kUndefinedValueRootIndex);
 | 
| -  __ DropAndRet(argc + 1);
 | 
| -
 | 
| -  __ bind(&call_builtin);
 | 
| -  __ TailCallExternalReference(
 | 
| -      ExternalReference(Builtins::c_ArrayPop, isolate()), argc + 1, 1);
 | 
| -
 | 
| -  HandlerFrontendFooter(&miss);
 | 
| -
 | 
| -  // Return the generated code.
 | 
| -  return GetCode(type, name);
 | 
| -}
 | 
| -
 | 
| -
 | 
|  Handle<Code> CallStubCompiler::CompileFastApiCall(
 | 
|      const CallOptimization& optimization,
 | 
|      Handle<Object> object,
 | 
| 
 |