Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5)

Side by Side Diff: src/interface-descriptors.cc

Issue 2670843002: [stubs] Also port the CallICStub to CSA. (Closed)
Patch Set: Introduce FullCodeGenerator::IntFromSlot. Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/interface-descriptors.h ('k') | src/mips/code-stubs-mips.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
OLDNEW
« no previous file with comments | « src/interface-descriptors.h ('k') | src/mips/code-stubs-mips.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698