OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 533 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
544 handler_table->set(0, Smi::FromInt(handler_offset_)); | 544 handler_table->set(0, Smi::FromInt(handler_offset_)); |
545 code->set_handler_table(*handler_table); | 545 code->set_handler_table(*handler_table); |
546 } | 546 } |
547 | 547 |
548 | 548 |
549 void KeyedLoadDictionaryElementStub::Generate(MacroAssembler* masm) { | 549 void KeyedLoadDictionaryElementStub::Generate(MacroAssembler* masm) { |
550 KeyedLoadStubCompiler::GenerateLoadDictionaryElement(masm); | 550 KeyedLoadStubCompiler::GenerateLoadDictionaryElement(masm); |
551 } | 551 } |
552 | 552 |
553 | 553 |
| 554 void CreateAllocationSiteStub::GenerateAheadOfTime(Isolate* isolate) { |
| 555 CreateAllocationSiteStub stub; |
| 556 stub.GetCode(isolate)->set_is_pregenerated(true); |
| 557 } |
| 558 |
| 559 |
554 void KeyedStoreElementStub::Generate(MacroAssembler* masm) { | 560 void KeyedStoreElementStub::Generate(MacroAssembler* masm) { |
555 switch (elements_kind_) { | 561 switch (elements_kind_) { |
556 case FAST_ELEMENTS: | 562 case FAST_ELEMENTS: |
557 case FAST_HOLEY_ELEMENTS: | 563 case FAST_HOLEY_ELEMENTS: |
558 case FAST_SMI_ELEMENTS: | 564 case FAST_SMI_ELEMENTS: |
559 case FAST_HOLEY_SMI_ELEMENTS: { | 565 case FAST_HOLEY_SMI_ELEMENTS: { |
560 KeyedStoreStubCompiler::GenerateStoreFastElement(masm, | 566 KeyedStoreStubCompiler::GenerateStoreFastElement(masm, |
561 is_js_array_, | 567 is_js_array_, |
562 elements_kind_, | 568 elements_kind_, |
563 store_mode_); | 569 store_mode_); |
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
706 | 712 |
707 | 713 |
708 bool ToBooleanStub::Types::CanBeUndetectable() const { | 714 bool ToBooleanStub::Types::CanBeUndetectable() const { |
709 return Contains(ToBooleanStub::SPEC_OBJECT) | 715 return Contains(ToBooleanStub::SPEC_OBJECT) |
710 || Contains(ToBooleanStub::STRING); | 716 || Contains(ToBooleanStub::STRING); |
711 } | 717 } |
712 | 718 |
713 | 719 |
714 void ElementsTransitionAndStoreStub::Generate(MacroAssembler* masm) { | 720 void ElementsTransitionAndStoreStub::Generate(MacroAssembler* masm) { |
715 Label fail; | 721 Label fail; |
716 AllocationSiteMode mode = AllocationSiteInfo::GetMode(from_, to_); | 722 AllocationSiteMode mode = AllocationSite::GetMode(from_, to_); |
717 ASSERT(!IsFastHoleyElementsKind(from_) || IsFastHoleyElementsKind(to_)); | 723 ASSERT(!IsFastHoleyElementsKind(from_) || IsFastHoleyElementsKind(to_)); |
718 if (!FLAG_trace_elements_transitions) { | 724 if (!FLAG_trace_elements_transitions) { |
719 if (IsFastSmiOrObjectElementsKind(to_)) { | 725 if (IsFastSmiOrObjectElementsKind(to_)) { |
720 if (IsFastSmiOrObjectElementsKind(from_)) { | 726 if (IsFastSmiOrObjectElementsKind(from_)) { |
721 ElementsTransitionGenerator:: | 727 ElementsTransitionGenerator:: |
722 GenerateMapChangeElementsTransition(masm, mode, &fail); | 728 GenerateMapChangeElementsTransition(masm, mode, &fail); |
723 } else if (IsFastDoubleElementsKind(from_)) { | 729 } else if (IsFastDoubleElementsKind(from_)) { |
724 ASSERT(!IsFastSmiElementsKind(to_)); | 730 ASSERT(!IsFastSmiElementsKind(to_)); |
725 ElementsTransitionGenerator::GenerateDoubleToObject(masm, mode, &fail); | 731 ElementsTransitionGenerator::GenerateDoubleToObject(masm, mode, &fail); |
726 } else { | 732 } else { |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
815 InstallDescriptor(isolate, &stub3); | 821 InstallDescriptor(isolate, &stub3); |
816 } | 822 } |
817 | 823 |
818 InternalArrayConstructorStub::InternalArrayConstructorStub( | 824 InternalArrayConstructorStub::InternalArrayConstructorStub( |
819 Isolate* isolate) { | 825 Isolate* isolate) { |
820 InternalArrayConstructorStubBase::GenerateStubsAheadOfTime(isolate); | 826 InternalArrayConstructorStubBase::GenerateStubsAheadOfTime(isolate); |
821 } | 827 } |
822 | 828 |
823 | 829 |
824 } } // namespace v8::internal | 830 } } // namespace v8::internal |
OLD | NEW |