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/compiler/code-stub-assembler.h" | 10 #include "src/compiler/code-stub-assembler.h" |
(...skipping 786 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
797 } | 797 } |
798 | 798 |
799 | 799 |
800 void CreateWeakCellStub::GenerateAheadOfTime(Isolate* isolate) { | 800 void CreateWeakCellStub::GenerateAheadOfTime(Isolate* isolate) { |
801 CreateWeakCellStub stub(isolate); | 801 CreateWeakCellStub stub(isolate); |
802 stub.GetCode(); | 802 stub.GetCode(); |
803 } | 803 } |
804 | 804 |
805 | 805 |
806 void StoreElementStub::Generate(MacroAssembler* masm) { | 806 void StoreElementStub::Generate(MacroAssembler* masm) { |
807 switch (elements_kind()) { | 807 DCHECK_EQ(DICTIONARY_ELEMENTS, elements_kind()); |
808 case FAST_ELEMENTS: | 808 ElementHandlerCompiler::GenerateStoreSlow(masm); |
809 case FAST_HOLEY_ELEMENTS: | |
810 case FAST_SMI_ELEMENTS: | |
811 case FAST_HOLEY_SMI_ELEMENTS: | |
812 case FAST_DOUBLE_ELEMENTS: | |
813 case FAST_HOLEY_DOUBLE_ELEMENTS: | |
814 #define TYPED_ARRAY_CASE(Type, type, TYPE, ctype, size) \ | |
815 case TYPE##_ELEMENTS: | |
816 | |
817 TYPED_ARRAYS(TYPED_ARRAY_CASE) | |
818 #undef TYPED_ARRAY_CASE | |
819 UNREACHABLE(); | |
820 break; | |
821 case DICTIONARY_ELEMENTS: | |
822 ElementHandlerCompiler::GenerateStoreSlow(masm); | |
823 break; | |
824 case FAST_SLOPPY_ARGUMENTS_ELEMENTS: | |
825 case SLOW_SLOPPY_ARGUMENTS_ELEMENTS: | |
826 UNREACHABLE(); | |
827 break; | |
828 } | |
829 } | 809 } |
830 | 810 |
831 | 811 |
832 // static | 812 // static |
833 void StoreFastElementStub::GenerateAheadOfTime(Isolate* isolate) { | 813 void StoreFastElementStub::GenerateAheadOfTime(Isolate* isolate) { |
834 StoreFastElementStub(isolate, false, FAST_HOLEY_ELEMENTS, STANDARD_STORE) | 814 StoreFastElementStub(isolate, false, FAST_HOLEY_ELEMENTS, STANDARD_STORE) |
835 .GetCode(); | 815 .GetCode(); |
836 StoreFastElementStub(isolate, false, FAST_HOLEY_ELEMENTS, | 816 StoreFastElementStub(isolate, false, FAST_HOLEY_ELEMENTS, |
837 STORE_AND_GROW_NO_TRANSITION).GetCode(); | 817 STORE_AND_GROW_NO_TRANSITION).GetCode(); |
838 for (int i = FIRST_FAST_ELEMENTS_KIND; i <= LAST_FAST_ELEMENTS_KIND; i++) { | 818 for (int i = FIRST_FAST_ELEMENTS_KIND; i <= LAST_FAST_ELEMENTS_KIND; i++) { |
(...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1058 if (type->Is(Type::UntaggedPointer())) { | 1038 if (type->Is(Type::UntaggedPointer())) { |
1059 return Representation::External(); | 1039 return Representation::External(); |
1060 } | 1040 } |
1061 | 1041 |
1062 DCHECK(!type->Is(Type::Untagged())); | 1042 DCHECK(!type->Is(Type::Untagged())); |
1063 return Representation::Tagged(); | 1043 return Representation::Tagged(); |
1064 } | 1044 } |
1065 | 1045 |
1066 } // namespace internal | 1046 } // namespace internal |
1067 } // namespace v8 | 1047 } // namespace v8 |
OLD | NEW |