| Index: src/ic/mips64/handler-compiler-mips64.cc
 | 
| diff --git a/src/ic/mips64/handler-compiler-mips64.cc b/src/ic/mips64/handler-compiler-mips64.cc
 | 
| index 06af88d19e102905d572c9ee3e4358710ad78b38..a07db1a65f47c5c424d86f86fb83acb59d88a0a5 100644
 | 
| --- a/src/ic/mips64/handler-compiler-mips64.cc
 | 
| +++ b/src/ic/mips64/handler-compiler-mips64.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);
 | 
|  }
 | 
| 
 |