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 #ifndef V8_CODE_STUBS_H_ | 5 #ifndef V8_CODE_STUBS_H_ |
6 #define V8_CODE_STUBS_H_ | 6 #define V8_CODE_STUBS_H_ |
7 | 7 |
8 #include "src/allocation.h" | 8 #include "src/allocation.h" |
9 #include "src/assembler.h" | 9 #include "src/assembler.h" |
10 #include "src/code-stub-assembler.h" | 10 #include "src/code-stub-assembler.h" |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
87 V(StoreFastElement) \ | 87 V(StoreFastElement) \ |
88 V(StoreGlobalViaContext) \ | 88 V(StoreGlobalViaContext) \ |
89 V(StoreScriptContextField) \ | 89 V(StoreScriptContextField) \ |
90 V(StringAdd) \ | 90 V(StringAdd) \ |
91 V(ToBooleanIC) \ | 91 V(ToBooleanIC) \ |
92 V(TransitionElementsKind) \ | 92 V(TransitionElementsKind) \ |
93 V(KeyedLoadIC) \ | 93 V(KeyedLoadIC) \ |
94 V(LoadIC) \ | 94 V(LoadIC) \ |
95 /* TurboFanCodeStubs */ \ | 95 /* TurboFanCodeStubs */ \ |
96 V(AllocateHeapNumber) \ | 96 V(AllocateHeapNumber) \ |
97 V(AllocateMutableHeapNumber) \ | |
98 V(AllocateFloat32x4) \ | 97 V(AllocateFloat32x4) \ |
99 V(AllocateInt32x4) \ | 98 V(AllocateInt32x4) \ |
100 V(AllocateUint32x4) \ | 99 V(AllocateUint32x4) \ |
101 V(AllocateBool32x4) \ | 100 V(AllocateBool32x4) \ |
102 V(AllocateInt16x8) \ | 101 V(AllocateInt16x8) \ |
103 V(AllocateUint16x8) \ | 102 V(AllocateUint16x8) \ |
104 V(AllocateBool16x8) \ | 103 V(AllocateBool16x8) \ |
105 V(AllocateInt8x16) \ | 104 V(AllocateInt8x16) \ |
106 V(AllocateUint8x16) \ | 105 V(AllocateUint8x16) \ |
107 V(AllocateBool8x16) \ | 106 V(AllocateBool8x16) \ |
(...skipping 2628 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2736 explicit AllocateHeapNumberStub(Isolate* isolate) | 2735 explicit AllocateHeapNumberStub(Isolate* isolate) |
2737 : TurboFanCodeStub(isolate) {} | 2736 : TurboFanCodeStub(isolate) {} |
2738 | 2737 |
2739 void InitializeDescriptor(CodeStubDescriptor* descriptor) override; | 2738 void InitializeDescriptor(CodeStubDescriptor* descriptor) override; |
2740 void GenerateAssembly(CodeStubAssembler* assembler) const override; | 2739 void GenerateAssembly(CodeStubAssembler* assembler) const override; |
2741 | 2740 |
2742 DEFINE_CALL_INTERFACE_DESCRIPTOR(AllocateHeapNumber); | 2741 DEFINE_CALL_INTERFACE_DESCRIPTOR(AllocateHeapNumber); |
2743 DEFINE_CODE_STUB(AllocateHeapNumber, TurboFanCodeStub); | 2742 DEFINE_CODE_STUB(AllocateHeapNumber, TurboFanCodeStub); |
2744 }; | 2743 }; |
2745 | 2744 |
2746 class AllocateMutableHeapNumberStub : public TurboFanCodeStub { | |
2747 public: | |
2748 explicit AllocateMutableHeapNumberStub(Isolate* isolate) | |
2749 : TurboFanCodeStub(isolate) {} | |
2750 | |
2751 void InitializeDescriptor(CodeStubDescriptor* descriptor) override; | |
2752 void GenerateAssembly(CodeStubAssembler* assembler) const override; | |
2753 | |
2754 DEFINE_CALL_INTERFACE_DESCRIPTOR(AllocateMutableHeapNumber); | |
2755 DEFINE_CODE_STUB(AllocateMutableHeapNumber, TurboFanCodeStub); | |
2756 }; | |
2757 | |
2758 #define SIMD128_ALLOC_STUB(TYPE, Type, type, lane_count, lane_type) \ | 2745 #define SIMD128_ALLOC_STUB(TYPE, Type, type, lane_count, lane_type) \ |
2759 class Allocate##Type##Stub : public TurboFanCodeStub { \ | 2746 class Allocate##Type##Stub : public TurboFanCodeStub { \ |
2760 public: \ | 2747 public: \ |
2761 explicit Allocate##Type##Stub(Isolate* isolate) \ | 2748 explicit Allocate##Type##Stub(Isolate* isolate) \ |
2762 : TurboFanCodeStub(isolate) {} \ | 2749 : TurboFanCodeStub(isolate) {} \ |
2763 \ | 2750 \ |
2764 void InitializeDescriptor(CodeStubDescriptor* descriptor) override; \ | 2751 void InitializeDescriptor(CodeStubDescriptor* descriptor) override; \ |
2765 void GenerateAssembly(CodeStubAssembler* assembler) const override; \ | 2752 void GenerateAssembly(CodeStubAssembler* assembler) const override; \ |
2766 \ | 2753 \ |
2767 DEFINE_CALL_INTERFACE_DESCRIPTOR(Allocate##Type); \ | 2754 DEFINE_CALL_INTERFACE_DESCRIPTOR(Allocate##Type); \ |
(...skipping 467 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3235 #undef DEFINE_HYDROGEN_CODE_STUB | 3222 #undef DEFINE_HYDROGEN_CODE_STUB |
3236 #undef DEFINE_CODE_STUB | 3223 #undef DEFINE_CODE_STUB |
3237 #undef DEFINE_CODE_STUB_BASE | 3224 #undef DEFINE_CODE_STUB_BASE |
3238 | 3225 |
3239 extern Representation RepresentationFromType(Type* type); | 3226 extern Representation RepresentationFromType(Type* type); |
3240 | 3227 |
3241 } // namespace internal | 3228 } // namespace internal |
3242 } // namespace v8 | 3229 } // namespace v8 |
3243 | 3230 |
3244 #endif // V8_CODE_STUBS_H_ | 3231 #endif // V8_CODE_STUBS_H_ |
OLD | NEW |