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/v8.h" | 5 #include "src/v8.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 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
145 void CallFunctionWithFeedbackDescriptor::Initialize( | 145 void CallFunctionWithFeedbackDescriptor::Initialize( |
146 CallInterfaceDescriptorData* data) { | 146 CallInterfaceDescriptorData* data) { |
147 Register registers[] = {cp, x1, x3}; | 147 Register registers[] = {cp, x1, x3}; |
148 Representation representations[] = {Representation::Tagged(), | 148 Representation representations[] = {Representation::Tagged(), |
149 Representation::Tagged(), | 149 Representation::Tagged(), |
150 Representation::Smi()}; | 150 Representation::Smi()}; |
151 data->Initialize(arraysize(registers), registers, representations); | 151 data->Initialize(arraysize(registers), registers, representations); |
152 } | 152 } |
153 | 153 |
154 | 154 |
| 155 void CallFunctionWithFeedbackAndVectorDescriptor::Initialize( |
| 156 CallInterfaceDescriptorData* data) { |
| 157 Register registers[] = {cp, x1, x3, x2}; |
| 158 Representation representations[] = { |
| 159 Representation::Tagged(), Representation::Tagged(), Representation::Smi(), |
| 160 Representation::Tagged()}; |
| 161 data->Initialize(arraysize(registers), registers, representations); |
| 162 } |
| 163 |
| 164 |
155 void CallConstructDescriptor::Initialize(CallInterfaceDescriptorData* data) { | 165 void CallConstructDescriptor::Initialize(CallInterfaceDescriptorData* data) { |
156 // x0 : number of arguments | 166 // x0 : number of arguments |
157 // x1 : the function to call | 167 // x1 : the function to call |
158 // x2 : feedback vector | 168 // x2 : feedback vector |
159 // x3 : slot in feedback vector (smi) (if r2 is not the megamorphic symbol) | 169 // x3 : slot in feedback vector (smi) (if r2 is not the megamorphic symbol) |
160 // TODO(turbofan): So far we don't gather type feedback and hence skip the | 170 // TODO(turbofan): So far we don't gather type feedback and hence skip the |
161 // slot parameter, but ArrayConstructStub needs the vector to be undefined. | 171 // slot parameter, but ArrayConstructStub needs the vector to be undefined. |
162 Register registers[] = {cp, x0, x1, x2}; | 172 Register registers[] = {cp, x0, x1, x2}; |
163 data->Initialize(arraysize(registers), registers, NULL); | 173 data->Initialize(arraysize(registers), registers, NULL); |
164 } | 174 } |
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
395 Representation::Tagged(), // holder | 405 Representation::Tagged(), // holder |
396 Representation::External(), // api_function_address | 406 Representation::External(), // api_function_address |
397 }; | 407 }; |
398 data->Initialize(arraysize(registers), registers, representations, | 408 data->Initialize(arraysize(registers), registers, representations, |
399 &default_descriptor); | 409 &default_descriptor); |
400 } | 410 } |
401 } | 411 } |
402 } // namespace v8::internal | 412 } // namespace v8::internal |
403 | 413 |
404 #endif // V8_TARGET_ARCH_ARM64 | 414 #endif // V8_TARGET_ARCH_ARM64 |
OLD | NEW |