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 309 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
320 | 320 |
321 void BinaryOpWithAllocationSiteDescriptor::InitializePlatformSpecific( | 321 void BinaryOpWithAllocationSiteDescriptor::InitializePlatformSpecific( |
322 CallInterfaceDescriptorData* data) { | 322 CallInterfaceDescriptorData* data) { |
323 // x2: allocation site | 323 // x2: allocation site |
324 // x1: left operand | 324 // x1: left operand |
325 // x0: right operand | 325 // x0: right operand |
326 Register registers[] = {x2, x1, x0}; | 326 Register registers[] = {x2, x1, x0}; |
327 data->InitializePlatformSpecific(arraysize(registers), registers); | 327 data->InitializePlatformSpecific(arraysize(registers), registers); |
328 } | 328 } |
329 | 329 |
| 330 void BinaryOpWithVectorDescriptor::InitializePlatformSpecific( |
| 331 CallInterfaceDescriptorData* data) { |
| 332 // register state |
| 333 // x1 -- lhs |
| 334 // x0 -- rhs |
| 335 // x4 -- slot id |
| 336 // x3 -- vector |
| 337 Register registers[] = {x1, x0, x4, x3}; |
| 338 data->InitializePlatformSpecific(arraysize(registers), registers); |
| 339 } |
| 340 |
330 void CountOpDescriptor::InitializePlatformSpecific( | 341 void CountOpDescriptor::InitializePlatformSpecific( |
331 CallInterfaceDescriptorData* data) { | 342 CallInterfaceDescriptorData* data) { |
332 Register registers[] = {x1}; | 343 Register registers[] = {x1}; |
333 data->InitializePlatformSpecific(arraysize(registers), registers); | 344 data->InitializePlatformSpecific(arraysize(registers), registers); |
334 } | 345 } |
335 | 346 |
336 void StringAddDescriptor::InitializePlatformSpecific( | 347 void StringAddDescriptor::InitializePlatformSpecific( |
337 CallInterfaceDescriptorData* data) { | 348 CallInterfaceDescriptorData* data) { |
338 // x1: left operand | 349 // x1: left operand |
339 // x0: right operand | 350 // x0: right operand |
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
457 x1, // the JSGeneratorObject to resume | 468 x1, // the JSGeneratorObject to resume |
458 x2 // the resume mode (tagged) | 469 x2 // the resume mode (tagged) |
459 }; | 470 }; |
460 data->InitializePlatformSpecific(arraysize(registers), registers); | 471 data->InitializePlatformSpecific(arraysize(registers), registers); |
461 } | 472 } |
462 | 473 |
463 } // namespace internal | 474 } // namespace internal |
464 } // namespace v8 | 475 } // namespace v8 |
465 | 476 |
466 #endif // V8_TARGET_ARCH_ARM64 | 477 #endif // V8_TARGET_ARCH_ARM64 |
OLD | NEW |