| 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/v8.h" | 5 #include "src/v8.h" |
| 6 | 6 |
| 7 #include "src/bootstrapper.h" | 7 #include "src/bootstrapper.h" |
| 8 #include "src/code-stubs.h" | 8 #include "src/code-stubs.h" |
| 9 #include "src/cpu-profiler.h" | 9 #include "src/cpu-profiler.h" |
| 10 #include "src/factory.h" | 10 #include "src/factory.h" |
| (...skipping 567 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 578 void JSEntryStub::FinishCode(Handle<Code> code) { | 578 void JSEntryStub::FinishCode(Handle<Code> code) { |
| 579 Handle<FixedArray> handler_table = | 579 Handle<FixedArray> handler_table = |
| 580 code->GetIsolate()->factory()->NewFixedArray(1, TENURED); | 580 code->GetIsolate()->factory()->NewFixedArray(1, TENURED); |
| 581 handler_table->set(0, Smi::FromInt(handler_offset_)); | 581 handler_table->set(0, Smi::FromInt(handler_offset_)); |
| 582 code->set_handler_table(*handler_table); | 582 code->set_handler_table(*handler_table); |
| 583 } | 583 } |
| 584 | 584 |
| 585 | 585 |
| 586 void KeyedLoadFastElementStub::InitializeInterfaceDescriptor( | 586 void KeyedLoadFastElementStub::InitializeInterfaceDescriptor( |
| 587 CodeStubInterfaceDescriptor* descriptor) { | 587 CodeStubInterfaceDescriptor* descriptor) { |
| 588 Register registers[] = { KeyedLoadIC::ReceiverRegister(), | 588 Register registers[] = { LoadIC::ReceiverRegister(), |
| 589 KeyedLoadIC::NameRegister() }; | 589 LoadIC::NameRegister() }; |
| 590 STATIC_ASSERT(KeyedLoadIC::kRegisterArgumentCount == 2); | 590 STATIC_ASSERT(LoadIC::kRegisterArgumentCount == 2); |
| 591 descriptor->Initialize(ARRAY_SIZE(registers), registers, | 591 descriptor->Initialize(ARRAY_SIZE(registers), registers, |
| 592 FUNCTION_ADDR(KeyedLoadIC_MissFromStubFailure)); | 592 FUNCTION_ADDR(KeyedLoadIC_MissFromStubFailure)); |
| 593 } | 593 } |
| 594 | 594 |
| 595 | 595 |
| 596 void KeyedLoadDictionaryElementStub::InitializeInterfaceDescriptor( | 596 void KeyedLoadDictionaryElementStub::InitializeInterfaceDescriptor( |
| 597 CodeStubInterfaceDescriptor* descriptor) { | 597 CodeStubInterfaceDescriptor* descriptor) { |
| 598 Register registers[] = { KeyedLoadIC::ReceiverRegister(), | 598 Register registers[] = { LoadIC::ReceiverRegister(), |
| 599 KeyedLoadIC::NameRegister() }; | 599 LoadIC::NameRegister() }; |
| 600 STATIC_ASSERT(KeyedLoadIC::kRegisterArgumentCount == 2); | 600 STATIC_ASSERT(LoadIC::kRegisterArgumentCount == 2); |
| 601 descriptor->Initialize(ARRAY_SIZE(registers), registers, | 601 descriptor->Initialize(ARRAY_SIZE(registers), registers, |
| 602 FUNCTION_ADDR(KeyedLoadIC_MissFromStubFailure)); | 602 FUNCTION_ADDR(KeyedLoadIC_MissFromStubFailure)); |
| 603 } | 603 } |
| 604 | 604 |
| 605 | 605 |
| 606 void KeyedLoadGenericElementStub::InitializeInterfaceDescriptor( | 606 void KeyedLoadGenericElementStub::InitializeInterfaceDescriptor( |
| 607 CodeStubInterfaceDescriptor* descriptor) { | 607 CodeStubInterfaceDescriptor* descriptor) { |
| 608 Register registers[] = { KeyedLoadIC::ReceiverRegister(), | 608 Register registers[] = { LoadIC::ReceiverRegister(), |
| 609 KeyedLoadIC::NameRegister() }; | 609 LoadIC::NameRegister() }; |
| 610 STATIC_ASSERT(KeyedLoadIC::kRegisterArgumentCount == 2); | 610 STATIC_ASSERT(LoadIC::kRegisterArgumentCount == 2); |
| 611 descriptor->Initialize( | 611 descriptor->Initialize( |
| 612 ARRAY_SIZE(registers), registers, | 612 ARRAY_SIZE(registers), registers, |
| 613 Runtime::FunctionForId(Runtime::kKeyedGetProperty)->entry); | 613 Runtime::FunctionForId(Runtime::kKeyedGetProperty)->entry); |
| 614 } | 614 } |
| 615 | 615 |
| 616 | 616 |
| 617 void LoadFieldStub::InitializeInterfaceDescriptor( | 617 void LoadFieldStub::InitializeInterfaceDescriptor( |
| 618 CodeStubInterfaceDescriptor* descriptor) { | 618 CodeStubInterfaceDescriptor* descriptor) { |
| 619 Register registers[] = { LoadIC::ReceiverRegister() }; | 619 Register registers[] = { LoadIC::ReceiverRegister() }; |
| 620 descriptor->Initialize(ARRAY_SIZE(registers), registers); | 620 descriptor->Initialize(ARRAY_SIZE(registers), registers); |
| 621 } | 621 } |
| 622 | 622 |
| 623 | 623 |
| 624 void KeyedLoadFieldStub::InitializeInterfaceDescriptor( | 624 void KeyedLoadFieldStub::InitializeInterfaceDescriptor( |
| 625 CodeStubInterfaceDescriptor* descriptor) { | 625 CodeStubInterfaceDescriptor* descriptor) { |
| 626 Register registers[] = { KeyedLoadIC::ReceiverRegister() }; | 626 Register registers[] = { LoadIC::ReceiverRegister() }; |
| 627 descriptor->Initialize(ARRAY_SIZE(registers), registers); | 627 descriptor->Initialize(ARRAY_SIZE(registers), registers); |
| 628 } | 628 } |
| 629 | 629 |
| 630 | 630 |
| 631 void StringLengthStub::InitializeInterfaceDescriptor( | 631 void StringLengthStub::InitializeInterfaceDescriptor( |
| 632 CodeStubInterfaceDescriptor* descriptor) { | 632 CodeStubInterfaceDescriptor* descriptor) { |
| 633 Register registers[] = { LoadIC::ReceiverRegister(), | 633 Register registers[] = { LoadIC::ReceiverRegister(), |
| 634 LoadIC::NameRegister() }; | 634 LoadIC::NameRegister() }; |
| 635 descriptor->Initialize(ARRAY_SIZE(registers), registers); | 635 descriptor->Initialize(ARRAY_SIZE(registers), registers); |
| 636 } | 636 } |
| 637 | 637 |
| 638 | 638 |
| 639 void KeyedStringLengthStub::InitializeInterfaceDescriptor( | 639 void KeyedStringLengthStub::InitializeInterfaceDescriptor( |
| 640 CodeStubInterfaceDescriptor* descriptor) { | 640 CodeStubInterfaceDescriptor* descriptor) { |
| 641 Register registers[] = { KeyedLoadIC::ReceiverRegister(), | 641 Register registers[] = { LoadIC::ReceiverRegister(), |
| 642 KeyedLoadIC::NameRegister() }; | 642 LoadIC::NameRegister() }; |
| 643 descriptor->Initialize(ARRAY_SIZE(registers), registers); | 643 descriptor->Initialize(ARRAY_SIZE(registers), registers); |
| 644 } | 644 } |
| 645 | 645 |
| 646 | 646 |
| 647 void KeyedLoadDictionaryElementPlatformStub::Generate( | 647 void KeyedLoadDictionaryElementPlatformStub::Generate( |
| 648 MacroAssembler* masm) { | 648 MacroAssembler* masm) { |
| 649 KeyedLoadStubCompiler::GenerateLoadDictionaryElement(masm); | 649 KeyedLoadStubCompiler::GenerateLoadDictionaryElement(masm); |
| 650 } | 650 } |
| 651 | 651 |
| 652 | 652 |
| (...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 934 InstallDescriptor(isolate, &stub3); | 934 InstallDescriptor(isolate, &stub3); |
| 935 } | 935 } |
| 936 | 936 |
| 937 InternalArrayConstructorStub::InternalArrayConstructorStub( | 937 InternalArrayConstructorStub::InternalArrayConstructorStub( |
| 938 Isolate* isolate) : PlatformCodeStub(isolate) { | 938 Isolate* isolate) : PlatformCodeStub(isolate) { |
| 939 InternalArrayConstructorStubBase::GenerateStubsAheadOfTime(isolate); | 939 InternalArrayConstructorStubBase::GenerateStubsAheadOfTime(isolate); |
| 940 } | 940 } |
| 941 | 941 |
| 942 | 942 |
| 943 } } // namespace v8::internal | 943 } } // namespace v8::internal |
| OLD | NEW |