| 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 574 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 585 if (kind() == Code::STORE_IC) { | 585 if (kind() == Code::STORE_IC) { |
| 586 descriptor->Initialize(FUNCTION_ADDR(StoreIC_MissFromStubFailure)); | 586 descriptor->Initialize(FUNCTION_ADDR(StoreIC_MissFromStubFailure)); |
| 587 } else if (kind() == Code::KEYED_LOAD_IC) { | 587 } else if (kind() == Code::KEYED_LOAD_IC) { |
| 588 descriptor->Initialize(FUNCTION_ADDR(KeyedLoadIC_MissFromStubFailure)); | 588 descriptor->Initialize(FUNCTION_ADDR(KeyedLoadIC_MissFromStubFailure)); |
| 589 } | 589 } |
| 590 } | 590 } |
| 591 | 591 |
| 592 | 592 |
| 593 CallInterfaceDescriptor HandlerStub::GetCallInterfaceDescriptor() { | 593 CallInterfaceDescriptor HandlerStub::GetCallInterfaceDescriptor() { |
| 594 if (kind() == Code::LOAD_IC || kind() == Code::KEYED_LOAD_IC) { | 594 if (kind() == Code::LOAD_IC || kind() == Code::KEYED_LOAD_IC) { |
| 595 if (FLAG_vector_ics) { |
| 596 return VectorLoadICDescriptor(isolate()); |
| 597 } |
| 595 return LoadDescriptor(isolate()); | 598 return LoadDescriptor(isolate()); |
| 596 } else { | 599 } else { |
| 597 DCHECK_EQ(Code::STORE_IC, kind()); | 600 DCHECK_EQ(Code::STORE_IC, kind()); |
| 598 return StoreDescriptor(isolate()); | 601 return StoreDescriptor(isolate()); |
| 599 } | 602 } |
| 600 } | 603 } |
| 601 | 604 |
| 602 | 605 |
| 603 void StoreFastElementStub::InitializeDescriptor( | 606 void StoreFastElementStub::InitializeDescriptor( |
| 604 CodeStubDescriptor* descriptor) { | 607 CodeStubDescriptor* descriptor) { |
| (...skipping 15 matching lines...) Expand all Loading... |
| 620 static void InitializeVectorLoadStub(Isolate* isolate, | 623 static void InitializeVectorLoadStub(Isolate* isolate, |
| 621 CodeStubDescriptor* descriptor, | 624 CodeStubDescriptor* descriptor, |
| 622 Address deoptimization_handler) { | 625 Address deoptimization_handler) { |
| 623 DCHECK(FLAG_vector_ics); | 626 DCHECK(FLAG_vector_ics); |
| 624 descriptor->Initialize(deoptimization_handler); | 627 descriptor->Initialize(deoptimization_handler); |
| 625 } | 628 } |
| 626 | 629 |
| 627 | 630 |
| 628 void VectorLoadStub::InitializeDescriptor(CodeStubDescriptor* descriptor) { | 631 void VectorLoadStub::InitializeDescriptor(CodeStubDescriptor* descriptor) { |
| 629 InitializeVectorLoadStub(isolate(), descriptor, | 632 InitializeVectorLoadStub(isolate(), descriptor, |
| 630 FUNCTION_ADDR(VectorLoadIC_MissFromStubFailure)); | 633 FUNCTION_ADDR(LoadIC_MissFromStubFailure)); |
| 631 } | 634 } |
| 632 | 635 |
| 633 | 636 |
| 634 void VectorKeyedLoadStub::InitializeDescriptor(CodeStubDescriptor* descriptor) { | 637 void VectorKeyedLoadStub::InitializeDescriptor(CodeStubDescriptor* descriptor) { |
| 635 InitializeVectorLoadStub( | 638 InitializeVectorLoadStub(isolate(), descriptor, |
| 636 isolate(), descriptor, | 639 FUNCTION_ADDR(KeyedLoadIC_MissFromStubFailure)); |
| 637 FUNCTION_ADDR(VectorKeyedLoadIC_MissFromStubFailure)); | |
| 638 } | 640 } |
| 639 | 641 |
| 640 | 642 |
| 641 void MegamorphicLoadStub::InitializeDescriptor(CodeStubDescriptor* d) {} | 643 void MegamorphicLoadStub::InitializeDescriptor(CodeStubDescriptor* d) {} |
| 642 | 644 |
| 643 | 645 |
| 644 void FastNewClosureStub::InitializeDescriptor(CodeStubDescriptor* descriptor) { | 646 void FastNewClosureStub::InitializeDescriptor(CodeStubDescriptor* descriptor) { |
| 645 descriptor->Initialize( | 647 descriptor->Initialize( |
| 646 Runtime::FunctionForId(Runtime::kNewClosureFromStubFailure)->entry); | 648 Runtime::FunctionForId(Runtime::kNewClosureFromStubFailure)->entry); |
| 647 } | 649 } |
| (...skipping 310 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 958 } | 960 } |
| 959 | 961 |
| 960 | 962 |
| 961 InternalArrayConstructorStub::InternalArrayConstructorStub( | 963 InternalArrayConstructorStub::InternalArrayConstructorStub( |
| 962 Isolate* isolate) : PlatformCodeStub(isolate) { | 964 Isolate* isolate) : PlatformCodeStub(isolate) { |
| 963 InternalArrayConstructorStubBase::GenerateStubsAheadOfTime(isolate); | 965 InternalArrayConstructorStubBase::GenerateStubsAheadOfTime(isolate); |
| 964 } | 966 } |
| 965 | 967 |
| 966 | 968 |
| 967 } } // namespace v8::internal | 969 } } // namespace v8::internal |
| OLD | NEW |