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 |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
58 | 58 |
59 const Register ArgumentsAccessReadDescriptor::index() { return x1; } | 59 const Register ArgumentsAccessReadDescriptor::index() { return x1; } |
60 const Register ArgumentsAccessReadDescriptor::parameter_count() { return x0; } | 60 const Register ArgumentsAccessReadDescriptor::parameter_count() { return x0; } |
61 | 61 |
62 | 62 |
63 const Register ArgumentsAccessNewDescriptor::function() { return x1; } | 63 const Register ArgumentsAccessNewDescriptor::function() { return x1; } |
64 const Register ArgumentsAccessNewDescriptor::parameter_count() { return x2; } | 64 const Register ArgumentsAccessNewDescriptor::parameter_count() { return x2; } |
65 const Register ArgumentsAccessNewDescriptor::parameter_pointer() { return x3; } | 65 const Register ArgumentsAccessNewDescriptor::parameter_pointer() { return x3; } |
66 | 66 |
67 | 67 |
68 const Register RestParamAccessDescriptor::parameter_count() { return x2; } | |
69 const Register RestParamAccessDescriptor::parameter_pointer() { return x3; } | |
70 const Register RestParamAccessDescriptor::rest_parameter_index() { return x4; } | |
71 | |
72 | |
73 const Register ApiGetterDescriptor::function_address() { return x2; } | 68 const Register ApiGetterDescriptor::function_address() { return x2; } |
74 | 69 |
75 | 70 |
76 const Register MathPowTaggedDescriptor::exponent() { return x11; } | 71 const Register MathPowTaggedDescriptor::exponent() { return x11; } |
77 | 72 |
78 | 73 |
79 const Register MathPowIntegerDescriptor::exponent() { return x12; } | 74 const Register MathPowIntegerDescriptor::exponent() { return x12; } |
80 | 75 |
81 | 76 |
82 const Register GrowArrayElementsDescriptor::ObjectRegister() { return x0; } | 77 const Register GrowArrayElementsDescriptor::ObjectRegister() { return x0; } |
83 const Register GrowArrayElementsDescriptor::KeyRegister() { return x3; } | 78 const Register GrowArrayElementsDescriptor::KeyRegister() { return x3; } |
84 | 79 |
85 | 80 |
86 void FastNewClosureDescriptor::InitializePlatformSpecific( | 81 void FastNewClosureDescriptor::InitializePlatformSpecific( |
87 CallInterfaceDescriptorData* data) { | 82 CallInterfaceDescriptorData* data) { |
88 // x2: function info | 83 // x2: function info |
89 Register registers[] = {x2}; | 84 Register registers[] = {x2}; |
90 data->InitializePlatformSpecific(arraysize(registers), registers); | 85 data->InitializePlatformSpecific(arraysize(registers), registers); |
91 } | 86 } |
92 | 87 |
93 | 88 |
94 void FastNewContextDescriptor::InitializePlatformSpecific( | 89 void FastNewContextDescriptor::InitializePlatformSpecific( |
95 CallInterfaceDescriptorData* data) { | 90 CallInterfaceDescriptorData* data) { |
96 // x1: function | 91 // x1: function |
97 Register registers[] = {x1}; | 92 Register registers[] = {x1}; |
98 data->InitializePlatformSpecific(arraysize(registers), registers); | 93 data->InitializePlatformSpecific(arraysize(registers), registers); |
99 } | 94 } |
100 | 95 |
101 | 96 |
| 97 void FastNewRestParameterDescriptor::InitializePlatformSpecific( |
| 98 CallInterfaceDescriptorData* data) { |
| 99 // x1: function |
| 100 Register registers[] = {x1}; |
| 101 data->InitializePlatformSpecific(arraysize(registers), registers); |
| 102 } |
| 103 |
| 104 |
102 void ToNumberDescriptor::InitializePlatformSpecific( | 105 void ToNumberDescriptor::InitializePlatformSpecific( |
103 CallInterfaceDescriptorData* data) { | 106 CallInterfaceDescriptorData* data) { |
104 // x0: value | 107 // x0: value |
105 Register registers[] = {x0}; | 108 Register registers[] = {x0}; |
106 data->InitializePlatformSpecific(arraysize(registers), registers); | 109 data->InitializePlatformSpecific(arraysize(registers), registers); |
107 } | 110 } |
108 | 111 |
109 | 112 |
110 // static | 113 // static |
111 const Register ToLengthDescriptor::ReceiverRegister() { return x0; } | 114 const Register ToLengthDescriptor::ReceiverRegister() { return x0; } |
(...skipping 382 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
494 x1 // the runtime function to call | 497 x1 // the runtime function to call |
495 }; | 498 }; |
496 data->InitializePlatformSpecific(arraysize(registers), registers); | 499 data->InitializePlatformSpecific(arraysize(registers), registers); |
497 } | 500 } |
498 | 501 |
499 | 502 |
500 } // namespace internal | 503 } // namespace internal |
501 } // namespace v8 | 504 } // namespace v8 |
502 | 505 |
503 #endif // V8_TARGET_ARCH_ARM64 | 506 #endif // V8_TARGET_ARCH_ARM64 |
OLD | NEW |