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/code-stubs.h" | 5 #include "src/code-stubs.h" |
6 | 6 |
7 #include <sstream> | 7 #include <sstream> |
8 | 8 |
9 #include "src/bootstrapper.h" | 9 #include "src/bootstrapper.h" |
10 #include "src/cpu-profiler.h" | 10 #include "src/cpu-profiler.h" |
(...skipping 605 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
616 if (kind() == Code::STORE_IC) { | 616 if (kind() == Code::STORE_IC) { |
617 descriptor->Initialize(FUNCTION_ADDR(StoreIC_MissFromStubFailure)); | 617 descriptor->Initialize(FUNCTION_ADDR(StoreIC_MissFromStubFailure)); |
618 } else if (kind() == Code::KEYED_LOAD_IC) { | 618 } else if (kind() == Code::KEYED_LOAD_IC) { |
619 descriptor->Initialize(FUNCTION_ADDR(KeyedLoadIC_MissFromStubFailure)); | 619 descriptor->Initialize(FUNCTION_ADDR(KeyedLoadIC_MissFromStubFailure)); |
620 } | 620 } |
621 } | 621 } |
622 | 622 |
623 | 623 |
624 CallInterfaceDescriptor HandlerStub::GetCallInterfaceDescriptor() { | 624 CallInterfaceDescriptor HandlerStub::GetCallInterfaceDescriptor() { |
625 if (kind() == Code::LOAD_IC || kind() == Code::KEYED_LOAD_IC) { | 625 if (kind() == Code::LOAD_IC || kind() == Code::KEYED_LOAD_IC) { |
626 if (FLAG_vector_ics) { | 626 return VectorLoadICDescriptor(isolate()); |
627 return VectorLoadICDescriptor(isolate()); | |
628 } | |
629 return LoadDescriptor(isolate()); | |
630 } else { | 627 } else { |
631 DCHECK_EQ(Code::STORE_IC, kind()); | 628 DCHECK_EQ(Code::STORE_IC, kind()); |
632 return StoreDescriptor(isolate()); | 629 return StoreDescriptor(isolate()); |
633 } | 630 } |
634 } | 631 } |
635 | 632 |
636 | 633 |
637 void StoreFastElementStub::InitializeDescriptor( | 634 void StoreFastElementStub::InitializeDescriptor( |
638 CodeStubDescriptor* descriptor) { | 635 CodeStubDescriptor* descriptor) { |
639 descriptor->Initialize(FUNCTION_ADDR(KeyedStoreIC_MissFromStubFailure)); | 636 descriptor->Initialize(FUNCTION_ADDR(KeyedStoreIC_MissFromStubFailure)); |
640 } | 637 } |
641 | 638 |
642 | 639 |
643 void ElementsTransitionAndStoreStub::InitializeDescriptor( | 640 void ElementsTransitionAndStoreStub::InitializeDescriptor( |
644 CodeStubDescriptor* descriptor) { | 641 CodeStubDescriptor* descriptor) { |
645 descriptor->Initialize(FUNCTION_ADDR(ElementsTransitionAndStoreIC_Miss)); | 642 descriptor->Initialize(FUNCTION_ADDR(ElementsTransitionAndStoreIC_Miss)); |
646 } | 643 } |
647 | 644 |
648 | 645 |
649 CallInterfaceDescriptor StoreTransitionStub::GetCallInterfaceDescriptor() { | 646 CallInterfaceDescriptor StoreTransitionStub::GetCallInterfaceDescriptor() { |
650 return StoreTransitionDescriptor(isolate()); | 647 return StoreTransitionDescriptor(isolate()); |
651 } | 648 } |
652 | 649 |
653 | 650 |
654 void MegamorphicLoadStub::InitializeDescriptor(CodeStubDescriptor* d) {} | |
655 | |
656 | |
657 void FastNewClosureStub::InitializeDescriptor(CodeStubDescriptor* descriptor) { | 651 void FastNewClosureStub::InitializeDescriptor(CodeStubDescriptor* descriptor) { |
658 descriptor->Initialize( | 652 descriptor->Initialize( |
659 Runtime::FunctionForId(Runtime::kNewClosureFromStubFailure)->entry); | 653 Runtime::FunctionForId(Runtime::kNewClosureFromStubFailure)->entry); |
660 } | 654 } |
661 | 655 |
662 | 656 |
663 void FastNewContextStub::InitializeDescriptor(CodeStubDescriptor* d) {} | 657 void FastNewContextStub::InitializeDescriptor(CodeStubDescriptor* d) {} |
664 | 658 |
665 | 659 |
666 void TypeofStub::InitializeDescriptor(CodeStubDescriptor* descriptor) {} | 660 void TypeofStub::InitializeDescriptor(CodeStubDescriptor* descriptor) {} |
(...skipping 358 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1025 } | 1019 } |
1026 | 1020 |
1027 | 1021 |
1028 InternalArrayConstructorStub::InternalArrayConstructorStub( | 1022 InternalArrayConstructorStub::InternalArrayConstructorStub( |
1029 Isolate* isolate) : PlatformCodeStub(isolate) { | 1023 Isolate* isolate) : PlatformCodeStub(isolate) { |
1030 InternalArrayConstructorStubBase::GenerateStubsAheadOfTime(isolate); | 1024 InternalArrayConstructorStubBase::GenerateStubsAheadOfTime(isolate); |
1031 } | 1025 } |
1032 | 1026 |
1033 | 1027 |
1034 } } // namespace v8::internal | 1028 } } // namespace v8::internal |
OLD | NEW |