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_IA32 | 5 #if V8_TARGET_ARCH_IA32 |
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 285 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
296 data->InitializePlatformSpecific(arraysize(registers), registers, NULL); | 296 data->InitializePlatformSpecific(arraysize(registers), registers, NULL); |
297 } | 297 } |
298 | 298 |
299 | 299 |
300 void BinaryOpWithAllocationSiteDescriptor::InitializePlatformSpecific( | 300 void BinaryOpWithAllocationSiteDescriptor::InitializePlatformSpecific( |
301 CallInterfaceDescriptorData* data) { | 301 CallInterfaceDescriptorData* data) { |
302 Register registers[] = {ecx, edx, eax}; | 302 Register registers[] = {ecx, edx, eax}; |
303 data->InitializePlatformSpecific(arraysize(registers), registers, NULL); | 303 data->InitializePlatformSpecific(arraysize(registers), registers, NULL); |
304 } | 304 } |
305 | 305 |
| 306 void BinaryOpWithVectorDescriptor::InitializePlatformSpecific( |
| 307 CallInterfaceDescriptorData* data) { |
| 308 // register state |
| 309 // edx -- lhs |
| 310 // eax -- rhs |
| 311 // edi -- slot id |
| 312 // ebx -- vector |
| 313 Register registers[] = {edx, eax, edi, ebx}; |
| 314 data->InitializePlatformSpecific(arraysize(registers), registers); |
| 315 } |
| 316 |
306 void CountOpDescriptor::InitializePlatformSpecific( | 317 void CountOpDescriptor::InitializePlatformSpecific( |
307 CallInterfaceDescriptorData* data) { | 318 CallInterfaceDescriptorData* data) { |
308 Register registers[] = {eax}; | 319 Register registers[] = {eax}; |
309 data->InitializePlatformSpecific(arraysize(registers), registers); | 320 data->InitializePlatformSpecific(arraysize(registers), registers); |
310 } | 321 } |
311 | 322 |
312 void StringAddDescriptor::InitializePlatformSpecific( | 323 void StringAddDescriptor::InitializePlatformSpecific( |
313 CallInterfaceDescriptorData* data) { | 324 CallInterfaceDescriptorData* data) { |
314 Register registers[] = {edx, eax}; | 325 Register registers[] = {edx, eax}; |
315 data->InitializePlatformSpecific(arraysize(registers), registers, NULL); | 326 data->InitializePlatformSpecific(arraysize(registers), registers, NULL); |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
411 ebx, // the JSGeneratorObject to resume | 422 ebx, // the JSGeneratorObject to resume |
412 edx // the resume mode (tagged) | 423 edx // the resume mode (tagged) |
413 }; | 424 }; |
414 data->InitializePlatformSpecific(arraysize(registers), registers); | 425 data->InitializePlatformSpecific(arraysize(registers), registers); |
415 } | 426 } |
416 | 427 |
417 } // namespace internal | 428 } // namespace internal |
418 } // namespace v8 | 429 } // namespace v8 |
419 | 430 |
420 #endif // V8_TARGET_ARCH_IA32 | 431 #endif // V8_TARGET_ARCH_IA32 |
OLD | NEW |