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 #if V8_TARGET_ARCH_X64 | 5 #if V8_TARGET_ARCH_X64 |
6 | 6 |
7 #include "src/interface-descriptors.h" | 7 #include "src/interface-descriptors.h" |
8 | 8 |
9 namespace v8 { | 9 namespace v8 { |
10 namespace internal { | 10 namespace internal { |
(...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
287 data->InitializePlatformSpecific(arraysize(registers), registers); | 287 data->InitializePlatformSpecific(arraysize(registers), registers); |
288 } | 288 } |
289 | 289 |
290 | 290 |
291 void BinaryOpWithAllocationSiteDescriptor::InitializePlatformSpecific( | 291 void BinaryOpWithAllocationSiteDescriptor::InitializePlatformSpecific( |
292 CallInterfaceDescriptorData* data) { | 292 CallInterfaceDescriptorData* data) { |
293 Register registers[] = {rcx, rdx, rax}; | 293 Register registers[] = {rcx, rdx, rax}; |
294 data->InitializePlatformSpecific(arraysize(registers), registers); | 294 data->InitializePlatformSpecific(arraysize(registers), registers); |
295 } | 295 } |
296 | 296 |
| 297 void BinaryOpWithVectorDescriptor::InitializePlatformSpecific( |
| 298 CallInterfaceDescriptorData* data) { |
| 299 // register state |
| 300 // rdx -- lhs |
| 301 // rax -- rhs |
| 302 // rdi -- slot id |
| 303 // rbx -- vector |
| 304 Register registers[] = {rdx, rax, rdi, rbx}; |
| 305 data->InitializePlatformSpecific(arraysize(registers), registers); |
| 306 } |
| 307 |
297 void CountOpDescriptor::InitializePlatformSpecific( | 308 void CountOpDescriptor::InitializePlatformSpecific( |
298 CallInterfaceDescriptorData* data) { | 309 CallInterfaceDescriptorData* data) { |
299 Register registers[] = {rax}; | 310 Register registers[] = {rax}; |
300 data->InitializePlatformSpecific(arraysize(registers), registers); | 311 data->InitializePlatformSpecific(arraysize(registers), registers); |
301 } | 312 } |
302 | 313 |
303 void StringAddDescriptor::InitializePlatformSpecific( | 314 void StringAddDescriptor::InitializePlatformSpecific( |
304 CallInterfaceDescriptorData* data) { | 315 CallInterfaceDescriptorData* data) { |
305 Register registers[] = {rdx, rax}; | 316 Register registers[] = {rdx, rax}; |
306 data->InitializePlatformSpecific(arraysize(registers), registers); | 317 data->InitializePlatformSpecific(arraysize(registers), registers); |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
402 rbx, // the JSGeneratorObject to resume | 413 rbx, // the JSGeneratorObject to resume |
403 rdx // the resume mode (tagged) | 414 rdx // the resume mode (tagged) |
404 }; | 415 }; |
405 data->InitializePlatformSpecific(arraysize(registers), registers); | 416 data->InitializePlatformSpecific(arraysize(registers), registers); |
406 } | 417 } |
407 | 418 |
408 } // namespace internal | 419 } // namespace internal |
409 } // namespace v8 | 420 } // namespace v8 |
410 | 421 |
411 #endif // V8_TARGET_ARCH_X64 | 422 #endif // V8_TARGET_ARCH_X64 |
OLD | NEW |