| 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/interface-descriptors.h" | 5 #include "src/interface-descriptors.h" |
| 6 | 6 |
| 7 namespace v8 { | 7 namespace v8 { |
| 8 namespace internal { | 8 namespace internal { |
| 9 | 9 |
| 10 | 10 |
| (...skipping 371 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 382 // kFunction, kActualArgumentsCount, kSlot, kVector | 382 // kFunction, kActualArgumentsCount, kSlot, kVector |
| 383 MachineType machine_types[] = { | 383 MachineType machine_types[] = { |
| 384 MachineType::TaggedPointer(), MachineType::Int32(), | 384 MachineType::TaggedPointer(), MachineType::Int32(), |
| 385 MachineType::TaggedSigned(), MachineType::AnyTagged()}; | 385 MachineType::TaggedSigned(), MachineType::AnyTagged()}; |
| 386 data->InitializePlatformIndependent(arraysize(machine_types), 0, | 386 data->InitializePlatformIndependent(arraysize(machine_types), 0, |
| 387 machine_types); | 387 machine_types); |
| 388 } | 388 } |
| 389 | 389 |
| 390 void BuiltinDescriptor::InitializePlatformIndependent( | 390 void BuiltinDescriptor::InitializePlatformIndependent( |
| 391 CallInterfaceDescriptorData* data) { | 391 CallInterfaceDescriptorData* data) { |
| 392 MachineType machine_types[] = {MachineType::AnyTagged(), | 392 MachineType machine_types[] = { |
| 393 MachineType::Int32()}; | 393 MachineType::AnyTagged(), MachineType::AnyTagged(), MachineType::Int32()}; |
| 394 data->InitializePlatformIndependent(arraysize(machine_types), 0, | 394 data->InitializePlatformIndependent(arraysize(machine_types), 0, |
| 395 machine_types); | 395 machine_types); |
| 396 } | 396 } |
| 397 | 397 |
| 398 void BuiltinDescriptor::InitializePlatformSpecific( | 398 void BuiltinDescriptor::InitializePlatformSpecific( |
| 399 CallInterfaceDescriptorData* data) { | 399 CallInterfaceDescriptorData* data) { |
| 400 Register registers[] = {NewTargetRegister(), ArgumentsCountRegister()}; | 400 Register registers[] = {TargetRegister(), NewTargetRegister(), |
| 401 ArgumentsCountRegister()}; |
| 401 data->InitializePlatformSpecific(arraysize(registers), registers); | 402 data->InitializePlatformSpecific(arraysize(registers), registers); |
| 402 } | 403 } |
| 403 | 404 |
| 404 const Register BuiltinDescriptor::ArgumentsCountRegister() { | 405 const Register BuiltinDescriptor::ArgumentsCountRegister() { |
| 405 return kJavaScriptCallArgCountRegister; | 406 return kJavaScriptCallArgCountRegister; |
| 406 } | 407 } |
| 407 const Register BuiltinDescriptor::NewTargetRegister() { | 408 const Register BuiltinDescriptor::NewTargetRegister() { |
| 408 return kJavaScriptCallNewTargetRegister; | 409 return kJavaScriptCallNewTargetRegister; |
| 409 } | 410 } |
| 410 | 411 |
| 412 const Register BuiltinDescriptor::TargetRegister() { |
| 413 return kJSFunctionRegister; |
| 414 } |
| 415 |
| 411 void ArrayNoArgumentConstructorDescriptor::InitializePlatformIndependent( | 416 void ArrayNoArgumentConstructorDescriptor::InitializePlatformIndependent( |
| 412 CallInterfaceDescriptorData* data) { | 417 CallInterfaceDescriptorData* data) { |
| 413 // kFunction, kAllocationSite, kActualArgumentsCount, kFunctionParameter | 418 // kFunction, kAllocationSite, kActualArgumentsCount, kFunctionParameter |
| 414 MachineType machine_types[] = {MachineType::TaggedPointer(), | 419 MachineType machine_types[] = {MachineType::TaggedPointer(), |
| 415 MachineType::AnyTagged(), MachineType::Int32(), | 420 MachineType::AnyTagged(), MachineType::Int32(), |
| 416 MachineType::AnyTagged()}; | 421 MachineType::AnyTagged()}; |
| 417 data->InitializePlatformIndependent(arraysize(machine_types), 0, | 422 data->InitializePlatformIndependent(arraysize(machine_types), 0, |
| 418 machine_types); | 423 machine_types); |
| 419 } | 424 } |
| 420 | 425 |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 503 CallInterfaceDescriptorData* data) { | 508 CallInterfaceDescriptorData* data) { |
| 504 // kNumberOfArguments, kFirstArgument, kFunctionEntry | 509 // kNumberOfArguments, kFirstArgument, kFunctionEntry |
| 505 MachineType machine_types[] = {MachineType::Int32(), MachineType::Pointer(), | 510 MachineType machine_types[] = {MachineType::Int32(), MachineType::Pointer(), |
| 506 MachineType::Pointer()}; | 511 MachineType::Pointer()}; |
| 507 data->InitializePlatformIndependent(arraysize(machine_types), 0, | 512 data->InitializePlatformIndependent(arraysize(machine_types), 0, |
| 508 machine_types); | 513 machine_types); |
| 509 } | 514 } |
| 510 | 515 |
| 511 } // namespace internal | 516 } // namespace internal |
| 512 } // namespace v8 | 517 } // namespace v8 |
| OLD | NEW |