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 443 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
454 | 454 |
455 void ConstructTrampolineDescriptor::InitializePlatformIndependent( | 455 void ConstructTrampolineDescriptor::InitializePlatformIndependent( |
456 CallInterfaceDescriptorData* data) { | 456 CallInterfaceDescriptorData* data) { |
457 // kFunction, kNewTarget, kActualArgumentsCount | 457 // kFunction, kNewTarget, kActualArgumentsCount |
458 MachineType machine_types[] = { | 458 MachineType machine_types[] = { |
459 MachineType::AnyTagged(), MachineType::AnyTagged(), MachineType::Int32()}; | 459 MachineType::AnyTagged(), MachineType::AnyTagged(), MachineType::Int32()}; |
460 data->InitializePlatformIndependent(arraysize(machine_types), 0, | 460 data->InitializePlatformIndependent(arraysize(machine_types), 0, |
461 machine_types); | 461 machine_types); |
462 } | 462 } |
463 | 463 |
464 void CallFunctionWithFeedbackDescriptor::InitializePlatformIndependent( | 464 void CallICDescriptor::InitializePlatformIndependent( |
465 CallInterfaceDescriptorData* data) { | 465 CallInterfaceDescriptorData* data) { |
466 // kFunction, kActualArgumentsCount, kSlot | 466 // kTarget, kActualArgumentsCount, kSlot, kVector |
467 MachineType machine_types[] = {MachineType::AnyTagged(), MachineType::Int32(), | 467 MachineType machine_types[] = {MachineType::AnyTagged(), MachineType::Int32(), |
| 468 MachineType::Int32(), |
468 MachineType::AnyTagged()}; | 469 MachineType::AnyTagged()}; |
469 data->InitializePlatformIndependent(arraysize(machine_types), 0, | 470 data->InitializePlatformIndependent(arraysize(machine_types), 0, |
470 machine_types); | 471 machine_types); |
471 } | 472 } |
472 | 473 |
473 void CallFunctionWithFeedbackAndVectorDescriptor::InitializePlatformIndependent( | 474 void CallICTrampolineDescriptor::InitializePlatformIndependent( |
474 CallInterfaceDescriptorData* data) { | 475 CallInterfaceDescriptorData* data) { |
475 // kFunction, kActualArgumentsCount, kSlot, kVector | 476 // kTarget, kActualArgumentsCount, kSlot |
476 MachineType machine_types[] = {MachineType::AnyTagged(), MachineType::Int32(), | 477 MachineType machine_types[] = {MachineType::AnyTagged(), MachineType::Int32(), |
477 MachineType::AnyTagged(), | 478 MachineType::Int32()}; |
478 MachineType::AnyTagged()}; | |
479 data->InitializePlatformIndependent(arraysize(machine_types), 0, | 479 data->InitializePlatformIndependent(arraysize(machine_types), 0, |
480 machine_types); | 480 machine_types); |
481 } | 481 } |
482 | 482 |
483 void BuiltinDescriptor::InitializePlatformIndependent( | 483 void BuiltinDescriptor::InitializePlatformIndependent( |
484 CallInterfaceDescriptorData* data) { | 484 CallInterfaceDescriptorData* data) { |
485 // kTarget, kNewTarget, kArgumentsCount | 485 // kTarget, kNewTarget, kArgumentsCount |
486 MachineType machine_types[] = { | 486 MachineType machine_types[] = { |
487 MachineType::AnyTagged(), MachineType::AnyTagged(), MachineType::Int32()}; | 487 MachineType::AnyTagged(), MachineType::AnyTagged(), MachineType::Int32()}; |
488 data->InitializePlatformIndependent(arraysize(machine_types), 0, | 488 data->InitializePlatformIndependent(arraysize(machine_types), 0, |
(...skipping 11 matching lines...) Expand all Loading... |
500 return kJavaScriptCallArgCountRegister; | 500 return kJavaScriptCallArgCountRegister; |
501 } | 501 } |
502 const Register BuiltinDescriptor::NewTargetRegister() { | 502 const Register BuiltinDescriptor::NewTargetRegister() { |
503 return kJavaScriptCallNewTargetRegister; | 503 return kJavaScriptCallNewTargetRegister; |
504 } | 504 } |
505 | 505 |
506 const Register BuiltinDescriptor::TargetRegister() { | 506 const Register BuiltinDescriptor::TargetRegister() { |
507 return kJSFunctionRegister; | 507 return kJSFunctionRegister; |
508 } | 508 } |
509 | 509 |
| 510 void ArrayConstructorDescriptor::InitializePlatformIndependent( |
| 511 CallInterfaceDescriptorData* data) { |
| 512 // kTarget, kNewTarget, kActualArgumentsCount, kAllocationSite |
| 513 MachineType machine_types[] = {MachineType::AnyTagged(), |
| 514 MachineType::AnyTagged(), MachineType::Int32(), |
| 515 MachineType::AnyTagged()}; |
| 516 data->InitializePlatformIndependent(arraysize(machine_types), 0, |
| 517 machine_types); |
| 518 } |
| 519 |
510 void ArrayNoArgumentConstructorDescriptor::InitializePlatformIndependent( | 520 void ArrayNoArgumentConstructorDescriptor::InitializePlatformIndependent( |
511 CallInterfaceDescriptorData* data) { | 521 CallInterfaceDescriptorData* data) { |
512 // kFunction, kAllocationSite, kActualArgumentsCount, kFunctionParameter | 522 // kFunction, kAllocationSite, kActualArgumentsCount, kFunctionParameter |
513 MachineType machine_types[] = {MachineType::TaggedPointer(), | 523 MachineType machine_types[] = {MachineType::TaggedPointer(), |
514 MachineType::AnyTagged(), MachineType::Int32(), | 524 MachineType::AnyTagged(), MachineType::Int32(), |
515 MachineType::AnyTagged()}; | 525 MachineType::AnyTagged()}; |
516 data->InitializePlatformIndependent(arraysize(machine_types), 0, | 526 data->InitializePlatformIndependent(arraysize(machine_types), 0, |
517 machine_types); | 527 machine_types); |
518 } | 528 } |
519 | 529 |
520 void ArraySingleArgumentConstructorDescriptor::InitializePlatformIndependent( | 530 void ArraySingleArgumentConstructorDescriptor::InitializePlatformIndependent( |
521 CallInterfaceDescriptorData* data) { | 531 CallInterfaceDescriptorData* data) { |
522 // kFunction, kAllocationSite, kActualArgumentsCount, kFunctionParameter, | 532 // kFunction, kAllocationSite, kActualArgumentsCount, kFunctionParameter, |
523 // kArraySizeSmiParameter | 533 // kArraySizeSmiParameter |
524 MachineType machine_types[] = { | 534 MachineType machine_types[] = { |
525 MachineType::TaggedPointer(), MachineType::AnyTagged(), | 535 MachineType::TaggedPointer(), MachineType::AnyTagged(), |
526 MachineType::Int32(), MachineType::AnyTagged(), MachineType::AnyTagged()}; | 536 MachineType::Int32(), MachineType::AnyTagged(), MachineType::AnyTagged()}; |
527 data->InitializePlatformIndependent(arraysize(machine_types), 0, | 537 data->InitializePlatformIndependent(arraysize(machine_types), 0, |
528 machine_types); | 538 machine_types); |
529 } | 539 } |
530 | 540 |
531 void ArrayNArgumentsConstructorDescriptor::InitializePlatformIndependent( | 541 void ArrayNArgumentsConstructorDescriptor::InitializePlatformIndependent( |
532 CallInterfaceDescriptorData* data) { | 542 CallInterfaceDescriptorData* data) { |
533 // kFunction, kAllocationSite, kActualArgumentsCount | 543 // kFunction, kAllocationSite, kActualArgumentsCount |
534 MachineType machine_types[] = {MachineType::TaggedPointer(), | 544 MachineType machine_types[] = { |
535 MachineType::AnyTagged(), | 545 MachineType::AnyTagged(), MachineType::AnyTagged(), MachineType::Int32()}; |
536 MachineType::Int32()}; | |
537 data->InitializePlatformIndependent(arraysize(machine_types), 0, | 546 data->InitializePlatformIndependent(arraysize(machine_types), 0, |
538 machine_types); | 547 machine_types); |
539 } | 548 } |
540 | 549 |
541 void ArgumentAdaptorDescriptor::InitializePlatformIndependent( | 550 void ArgumentAdaptorDescriptor::InitializePlatformIndependent( |
542 CallInterfaceDescriptorData* data) { | 551 CallInterfaceDescriptorData* data) { |
543 // kFunction, kNewTarget, kActualArgumentsCount, kExpectedArgumentsCount | 552 // kFunction, kNewTarget, kActualArgumentsCount, kExpectedArgumentsCount |
544 MachineType machine_types[] = {MachineType::TaggedPointer(), | 553 MachineType machine_types[] = {MachineType::TaggedPointer(), |
545 MachineType::AnyTagged(), MachineType::Int32(), | 554 MachineType::AnyTagged(), MachineType::Int32(), |
546 MachineType::Int32()}; | 555 MachineType::Int32()}; |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
610 void FrameDropperTrampolineDescriptor::InitializePlatformIndependent( | 619 void FrameDropperTrampolineDescriptor::InitializePlatformIndependent( |
611 CallInterfaceDescriptorData* data) { | 620 CallInterfaceDescriptorData* data) { |
612 // New FP value. | 621 // New FP value. |
613 MachineType machine_types[] = {MachineType::Pointer()}; | 622 MachineType machine_types[] = {MachineType::Pointer()}; |
614 data->InitializePlatformIndependent(arraysize(machine_types), 0, | 623 data->InitializePlatformIndependent(arraysize(machine_types), 0, |
615 machine_types); | 624 machine_types); |
616 } | 625 } |
617 | 626 |
618 } // namespace internal | 627 } // namespace internal |
619 } // namespace v8 | 628 } // namespace v8 |
OLD | NEW |