| Index: src/ic/mips/handler-compiler-mips.cc | 
| diff --git a/src/ic/mips/handler-compiler-mips.cc b/src/ic/mips/handler-compiler-mips.cc | 
| index 43588b707adc383f740385371405ac2cb6abef54..53720319ab75b3a20afabe0fd8b465b94d606f1b 100644 | 
| --- a/src/ic/mips/handler-compiler-mips.cc | 
| +++ b/src/ic/mips/handler-compiler-mips.cc | 
| @@ -199,24 +199,18 @@ void PropertyHandlerCompiler::GenerateCheckPropertyCell( | 
| __ Branch(miss, ne, scratch, Operand(at)); | 
| } | 
|  | 
| +static void CompileCallLoadPropertyWithInterceptor( | 
| +    MacroAssembler* masm, Register receiver, Register holder, Register name, | 
| +    Handle<JSObject> holder_obj, Runtime::FunctionId id) { | 
| +  DCHECK(NamedLoadHandlerCompiler::kInterceptorArgsLength == | 
| +         Runtime::FunctionForId(id)->nargs); | 
|  | 
| -static void PushInterceptorArguments(MacroAssembler* masm, Register receiver, | 
| -                                     Register holder, Register name, | 
| -                                     Handle<JSObject> holder_obj) { | 
| STATIC_ASSERT(NamedLoadHandlerCompiler::kInterceptorArgsNameIndex == 0); | 
| STATIC_ASSERT(NamedLoadHandlerCompiler::kInterceptorArgsThisIndex == 1); | 
| STATIC_ASSERT(NamedLoadHandlerCompiler::kInterceptorArgsHolderIndex == 2); | 
| STATIC_ASSERT(NamedLoadHandlerCompiler::kInterceptorArgsLength == 3); | 
| __ Push(name, receiver, holder); | 
| -} | 
| - | 
|  | 
| -static void CompileCallLoadPropertyWithInterceptor( | 
| -    MacroAssembler* masm, Register receiver, Register holder, Register name, | 
| -    Handle<JSObject> holder_obj, Runtime::FunctionId id) { | 
| -  DCHECK(NamedLoadHandlerCompiler::kInterceptorArgsLength == | 
| -         Runtime::FunctionForId(id)->nargs); | 
| -  PushInterceptorArguments(masm, receiver, holder, name, holder_obj); | 
| __ CallRuntime(id); | 
| } | 
|  | 
| @@ -512,8 +506,18 @@ void NamedLoadHandlerCompiler::GenerateLoadInterceptor(Register holder_reg) { | 
| // Call the runtime system to load the interceptor. | 
| DCHECK(holder()->HasNamedInterceptor()); | 
| DCHECK(!holder()->GetNamedInterceptor()->getter()->IsUndefined(isolate())); | 
| -  PushInterceptorArguments(masm(), receiver(), holder_reg, this->name(), | 
| -                           holder()); | 
| + | 
| +  STATIC_ASSERT(NamedLoadHandlerCompiler::kInterceptorArgsNameIndex == 0); | 
| +  STATIC_ASSERT(NamedLoadHandlerCompiler::kInterceptorArgsThisIndex == 1); | 
| +  STATIC_ASSERT(NamedLoadHandlerCompiler::kInterceptorArgsHolderIndex == 2); | 
| +  STATIC_ASSERT(NamedLoadHandlerCompiler::kInterceptorArgsLength == 3); | 
| +  __ Push(name(), receiver(), holder_reg); | 
| +  // See NamedLoadHandlerCompiler::InterceptorVectorSlotPop() for details. | 
| +  if (holder_reg.is(receiver())) { | 
| +    __ Push(slot(), vector()); | 
| +  } else { | 
| +    __ Push(scratch3(), scratch2());  // slot, vector | 
| +  } | 
|  | 
| __ TailCallRuntime(Runtime::kLoadPropertyWithInterceptor); | 
| } | 
|  |