| 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 |