| OLD | NEW | 
|    1 // Copyright 2012 the V8 project authors. All rights reserved. |    1 // Copyright 2012 the V8 project authors. All rights reserved. | 
|    2 // Use of this source code is governed by a BSD-style license that can be |    2 // Use of this source code is governed by a BSD-style license that can be | 
|    3 // found in the LICENSE file. |    3 // found in the LICENSE file. | 
|    4  |    4  | 
|    5 #include "src/arm64/interface-descriptors-arm64.h" |    5 #include "src/arm64/interface-descriptors-arm64.h" | 
|    6  |    6  | 
|    7 #if V8_TARGET_ARCH_ARM64 |    7 #if V8_TARGET_ARCH_ARM64 | 
|    8  |    8  | 
|    9 #include "src/interface-descriptors.h" |    9 #include "src/interface-descriptors.h" | 
|   10  |   10  | 
|   11 namespace v8 { |   11 namespace v8 { | 
|   12 namespace internal { |   12 namespace internal { | 
|   13  |   13  | 
|   14 const Register CallInterfaceDescriptor::ContextRegister() { return cp; } |   14 const Register CallInterfaceDescriptor::ContextRegister() { return cp; } | 
|   15  |   15  | 
|   16 void CallInterfaceDescriptor::DefaultInitializePlatformSpecific( |   16 void CallInterfaceDescriptor::DefaultInitializePlatformSpecific( | 
|   17     CallInterfaceDescriptorData* data, int register_parameter_count) { |   17     CallInterfaceDescriptorData* data, int register_parameter_count) { | 
|   18   const Register default_stub_registers[] = {x0, x1, x2, x3, x4}; |   18   const Register default_stub_registers[] = {x0, x1, x2, x3, x4}; | 
|   19   CHECK_LE(static_cast<size_t>(register_parameter_count), |   19   CHECK_LE(static_cast<size_t>(register_parameter_count), | 
|   20            arraysize(default_stub_registers)); |   20            arraysize(default_stub_registers)); | 
|   21   data->InitializePlatformSpecific(register_parameter_count, |   21   data->InitializePlatformSpecific(register_parameter_count, | 
|   22                                    default_stub_registers); |   22                                    default_stub_registers); | 
|   23 } |   23 } | 
|   24  |   24  | 
 |   25 const Register FastNewFunctionContextDescriptor::FunctionRegister() { | 
 |   26   return x1; | 
 |   27 } | 
 |   28 const Register FastNewFunctionContextDescriptor::SlotsRegister() { return x0; } | 
 |   29  | 
|   25 const Register LoadDescriptor::ReceiverRegister() { return x1; } |   30 const Register LoadDescriptor::ReceiverRegister() { return x1; } | 
|   26 const Register LoadDescriptor::NameRegister() { return x2; } |   31 const Register LoadDescriptor::NameRegister() { return x2; } | 
|   27 const Register LoadDescriptor::SlotRegister() { return x0; } |   32 const Register LoadDescriptor::SlotRegister() { return x0; } | 
|   28  |   33  | 
|   29  |   34  | 
|   30 const Register LoadWithVectorDescriptor::VectorRegister() { return x3; } |   35 const Register LoadWithVectorDescriptor::VectorRegister() { return x3; } | 
|   31  |   36  | 
|   32  |   37  | 
|   33 const Register StoreDescriptor::ReceiverRegister() { return x1; } |   38 const Register StoreDescriptor::ReceiverRegister() { return x1; } | 
|   34 const Register StoreDescriptor::NameRegister() { return x2; } |   39 const Register StoreDescriptor::NameRegister() { return x2; } | 
| (...skipping 30 matching lines...) Expand all  Loading... | 
|   65 const Register GrowArrayElementsDescriptor::KeyRegister() { return x3; } |   70 const Register GrowArrayElementsDescriptor::KeyRegister() { return x3; } | 
|   66  |   71  | 
|   67  |   72  | 
|   68 void FastNewClosureDescriptor::InitializePlatformSpecific( |   73 void FastNewClosureDescriptor::InitializePlatformSpecific( | 
|   69     CallInterfaceDescriptorData* data) { |   74     CallInterfaceDescriptorData* data) { | 
|   70   // x2: function info |   75   // x2: function info | 
|   71   Register registers[] = {x2}; |   76   Register registers[] = {x2}; | 
|   72   data->InitializePlatformSpecific(arraysize(registers), registers); |   77   data->InitializePlatformSpecific(arraysize(registers), registers); | 
|   73 } |   78 } | 
|   74  |   79  | 
|   75 void FastNewFunctionContextDescriptor::InitializePlatformSpecific( |  | 
|   76     CallInterfaceDescriptorData* data) { |  | 
|   77   // x1: function |  | 
|   78   Register registers[] = {x1}; |  | 
|   79   data->InitializePlatformSpecific(arraysize(registers), registers); |  | 
|   80 } |  | 
|   81  |  | 
|   82 void FastNewObjectDescriptor::InitializePlatformSpecific( |   80 void FastNewObjectDescriptor::InitializePlatformSpecific( | 
|   83     CallInterfaceDescriptorData* data) { |   81     CallInterfaceDescriptorData* data) { | 
|   84   Register registers[] = {x1, x3}; |   82   Register registers[] = {x1, x3}; | 
|   85   data->InitializePlatformSpecific(arraysize(registers), registers); |   83   data->InitializePlatformSpecific(arraysize(registers), registers); | 
|   86 } |   84 } | 
|   87  |   85  | 
|   88 void FastNewRestParameterDescriptor::InitializePlatformSpecific( |   86 void FastNewRestParameterDescriptor::InitializePlatformSpecific( | 
|   89     CallInterfaceDescriptorData* data) { |   87     CallInterfaceDescriptorData* data) { | 
|   90   // x1: function |   88   // x1: function | 
|   91   Register registers[] = {x1}; |   89   Register registers[] = {x1}; | 
| (...skipping 367 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  459       x1,  // the JSGeneratorObject to resume |  457       x1,  // the JSGeneratorObject to resume | 
|  460       x2   // the resume mode (tagged) |  458       x2   // the resume mode (tagged) | 
|  461   }; |  459   }; | 
|  462   data->InitializePlatformSpecific(arraysize(registers), registers); |  460   data->InitializePlatformSpecific(arraysize(registers), registers); | 
|  463 } |  461 } | 
|  464  |  462  | 
|  465 }  // namespace internal |  463 }  // namespace internal | 
|  466 }  // namespace v8 |  464 }  // namespace v8 | 
|  467  |  465  | 
|  468 #endif  // V8_TARGET_ARCH_ARM64 |  466 #endif  // V8_TARGET_ARCH_ARM64 | 
| OLD | NEW |