| Index: src/mips/interface-descriptors-mips.cc
 | 
| diff --git a/src/ia32/interface-descriptors-ia32.cc b/src/mips/interface-descriptors-mips.cc
 | 
| similarity index 67%
 | 
| copy from src/ia32/interface-descriptors-ia32.cc
 | 
| copy to src/mips/interface-descriptors-mips.cc
 | 
| index 3d3b7a0fcb3f46fd2f63ca638606eb97837bc46d..3bbc583973bad948f3fcfcd0b19ecb0c59bc5383 100644
 | 
| --- a/src/ia32/interface-descriptors-ia32.cc
 | 
| +++ b/src/mips/interface-descriptors-mips.cc
 | 
| @@ -4,25 +4,24 @@
 | 
|  
 | 
|  #include "src/v8.h"
 | 
|  
 | 
| -#if V8_TARGET_ARCH_IA32
 | 
| +#if V8_TARGET_ARCH_MIPS
 | 
|  
 | 
|  #include "src/interface-descriptors.h"
 | 
|  
 | 
|  namespace v8 {
 | 
|  namespace internal {
 | 
|  
 | 
| -const Register InterfaceDescriptor::ContextRegister() { return esi; }
 | 
| +const Register InterfaceDescriptor::ContextRegister() { return cp; }
 | 
|  
 | 
|  
 | 
|  void CallDescriptors::InitializeForIsolate(Isolate* isolate) {
 | 
|    {
 | 
|      CallInterfaceDescriptor* descriptor =
 | 
|          isolate->call_descriptor(CallDescriptorKey::ArgumentAdaptorCall);
 | 
| -    Register registers[] = {
 | 
| -        esi,  // context
 | 
| -        edi,  // JSFunction
 | 
| -        eax,  // actual number of arguments
 | 
| -        ebx,  // expected number of arguments
 | 
| +    Register registers[] = { cp,  // context,
 | 
| +                             a1,  // JSFunction
 | 
| +                             a0,  // actual number of arguments
 | 
| +                             a2,  // expected number of arguments
 | 
|      };
 | 
|      Representation representations[] = {
 | 
|          Representation::Tagged(),     // context
 | 
| @@ -35,35 +34,32 @@ void CallDescriptors::InitializeForIsolate(Isolate* isolate) {
 | 
|    {
 | 
|      CallInterfaceDescriptor* descriptor =
 | 
|          isolate->call_descriptor(CallDescriptorKey::KeyedCall);
 | 
| -    Register registers[] = {
 | 
| -        esi,  // context
 | 
| -        ecx,  // key
 | 
| +    Register registers[] = { cp,  // context
 | 
| +                             a2,  // key
 | 
|      };
 | 
|      Representation representations[] = {
 | 
| -        Representation::Tagged(),  // context
 | 
| -        Representation::Tagged(),  // key
 | 
| +        Representation::Tagged(),     // context
 | 
| +        Representation::Tagged(),     // key
 | 
|      };
 | 
|      descriptor->Initialize(arraysize(registers), registers, representations);
 | 
|    }
 | 
|    {
 | 
|      CallInterfaceDescriptor* descriptor =
 | 
|          isolate->call_descriptor(CallDescriptorKey::NamedCall);
 | 
| -    Register registers[] = {
 | 
| -        esi,  // context
 | 
| -        ecx,  // name
 | 
| +    Register registers[] = { cp,  // context
 | 
| +                             a2,  // name
 | 
|      };
 | 
|      Representation representations[] = {
 | 
| -        Representation::Tagged(),  // context
 | 
| -        Representation::Tagged(),  // name
 | 
| +        Representation::Tagged(),     // context
 | 
| +        Representation::Tagged(),     // name
 | 
|      };
 | 
|      descriptor->Initialize(arraysize(registers), registers, representations);
 | 
|    }
 | 
|    {
 | 
|      CallInterfaceDescriptor* descriptor =
 | 
|          isolate->call_descriptor(CallDescriptorKey::CallHandler);
 | 
| -    Register registers[] = {
 | 
| -        esi,  // context
 | 
| -        edx,  // name
 | 
| +    Register registers[] = { cp,  // context
 | 
| +                             a0,  // receiver
 | 
|      };
 | 
|      Representation representations[] = {
 | 
|          Representation::Tagged(),  // context
 | 
| @@ -74,12 +70,11 @@ void CallDescriptors::InitializeForIsolate(Isolate* isolate) {
 | 
|    {
 | 
|      CallInterfaceDescriptor* descriptor =
 | 
|          isolate->call_descriptor(CallDescriptorKey::ApiFunctionCall);
 | 
| -    Register registers[] = {
 | 
| -        esi,  // context
 | 
| -        eax,  // callee
 | 
| -        ebx,  // call_data
 | 
| -        ecx,  // holder
 | 
| -        edx,  // api_function_address
 | 
| +    Register registers[] = { cp,  // context
 | 
| +                             a0,  // callee
 | 
| +                             t0,  // call_data
 | 
| +                             a2,  // holder
 | 
| +                             a1,  // api_function_address
 | 
|      };
 | 
|      Representation representations[] = {
 | 
|          Representation::Tagged(),    // context
 | 
| @@ -94,4 +89,4 @@ void CallDescriptors::InitializeForIsolate(Isolate* isolate) {
 | 
|  }
 | 
|  }  // namespace v8::internal
 | 
|  
 | 
| -#endif  // V8_TARGET_ARCH_IA32
 | 
| +#endif  // V8_TARGET_ARCH_MIPS
 | 
| 
 |