| Index: src/mips64/interface-descriptors-mips64.cc
|
| diff --git a/src/ia32/interface-descriptors-ia32.cc b/src/mips64/interface-descriptors-mips64.cc
|
| similarity index 67%
|
| copy from src/ia32/interface-descriptors-ia32.cc
|
| copy to src/mips64/interface-descriptors-mips64.cc
|
| index 3d3b7a0fcb3f46fd2f63ca638606eb97837bc46d..ee4cfb88694a37930045a94dd95a05948cb34b8b 100644
|
| --- a/src/ia32/interface-descriptors-ia32.cc
|
| +++ b/src/mips64/interface-descriptors-mips64.cc
|
| @@ -4,25 +4,24 @@
|
|
|
| #include "src/v8.h"
|
|
|
| -#if V8_TARGET_ARCH_IA32
|
| +#if V8_TARGET_ARCH_MIPS64
|
|
|
| #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
|
| + a4, // 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_MIPS64
|
|
|