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/codegen.h" | 10 #include "src/codegen.h" |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
63 V(AllocateInNewSpace) \ | 63 V(AllocateInNewSpace) \ |
64 V(ArrayNArgumentsConstructor) \ | 64 V(ArrayNArgumentsConstructor) \ |
65 V(ArrayNoArgumentConstructor) \ | 65 V(ArrayNoArgumentConstructor) \ |
66 V(ArraySingleArgumentConstructor) \ | 66 V(ArraySingleArgumentConstructor) \ |
67 V(BinaryOpIC) \ | 67 V(BinaryOpIC) \ |
68 V(BinaryOpWithAllocationSite) \ | 68 V(BinaryOpWithAllocationSite) \ |
69 V(CompareNilIC) \ | 69 V(CompareNilIC) \ |
70 V(CreateAllocationSite) \ | 70 V(CreateAllocationSite) \ |
71 V(CreateWeakCell) \ | 71 V(CreateWeakCell) \ |
72 V(ElementsTransitionAndStore) \ | 72 V(ElementsTransitionAndStore) \ |
| 73 V(FastCloneRegExp) \ |
73 V(FastCloneShallowArray) \ | 74 V(FastCloneShallowArray) \ |
74 V(FastCloneShallowObject) \ | 75 V(FastCloneShallowObject) \ |
75 V(FastNewClosure) \ | 76 V(FastNewClosure) \ |
76 V(FastNewContext) \ | 77 V(FastNewContext) \ |
77 V(GrowArrayElements) \ | 78 V(GrowArrayElements) \ |
78 V(InternalArrayNArgumentsConstructor) \ | 79 V(InternalArrayNArgumentsConstructor) \ |
79 V(InternalArrayNoArgumentConstructor) \ | 80 V(InternalArrayNoArgumentConstructor) \ |
80 V(InternalArraySingleArgumentConstructor) \ | 81 V(InternalArraySingleArgumentConstructor) \ |
81 V(KeyedLoadGeneric) \ | 82 V(KeyedLoadGeneric) \ |
82 V(LoadGlobalViaContext) \ | 83 V(LoadGlobalViaContext) \ |
(...skipping 703 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
786 static const int kFunction = 0; | 787 static const int kFunction = 0; |
787 | 788 |
788 private: | 789 private: |
789 class SlotsBits : public BitField<int, 0, 8> {}; | 790 class SlotsBits : public BitField<int, 0, 8> {}; |
790 | 791 |
791 DEFINE_CALL_INTERFACE_DESCRIPTOR(FastNewContext); | 792 DEFINE_CALL_INTERFACE_DESCRIPTOR(FastNewContext); |
792 DEFINE_HYDROGEN_CODE_STUB(FastNewContext, HydrogenCodeStub); | 793 DEFINE_HYDROGEN_CODE_STUB(FastNewContext, HydrogenCodeStub); |
793 }; | 794 }; |
794 | 795 |
795 | 796 |
| 797 class FastCloneRegExpStub final : public HydrogenCodeStub { |
| 798 public: |
| 799 explicit FastCloneRegExpStub(Isolate* isolate) : HydrogenCodeStub(isolate) {} |
| 800 |
| 801 private: |
| 802 DEFINE_CALL_INTERFACE_DESCRIPTOR(FastCloneRegExp); |
| 803 DEFINE_HYDROGEN_CODE_STUB(FastCloneRegExp, HydrogenCodeStub); |
| 804 }; |
| 805 |
| 806 |
796 class FastCloneShallowArrayStub : public HydrogenCodeStub { | 807 class FastCloneShallowArrayStub : public HydrogenCodeStub { |
797 public: | 808 public: |
798 FastCloneShallowArrayStub(Isolate* isolate, | 809 FastCloneShallowArrayStub(Isolate* isolate, |
799 AllocationSiteMode allocation_site_mode) | 810 AllocationSiteMode allocation_site_mode) |
800 : HydrogenCodeStub(isolate) { | 811 : HydrogenCodeStub(isolate) { |
801 set_sub_minor_key(AllocationSiteModeBits::encode(allocation_site_mode)); | 812 set_sub_minor_key(AllocationSiteModeBits::encode(allocation_site_mode)); |
802 } | 813 } |
803 | 814 |
804 AllocationSiteMode allocation_site_mode() const { | 815 AllocationSiteMode allocation_site_mode() const { |
805 return AllocationSiteModeBits::decode(sub_minor_key()); | 816 return AllocationSiteModeBits::decode(sub_minor_key()); |
(...skipping 2244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3050 #undef DEFINE_HYDROGEN_CODE_STUB | 3061 #undef DEFINE_HYDROGEN_CODE_STUB |
3051 #undef DEFINE_CODE_STUB | 3062 #undef DEFINE_CODE_STUB |
3052 #undef DEFINE_CODE_STUB_BASE | 3063 #undef DEFINE_CODE_STUB_BASE |
3053 | 3064 |
3054 extern Representation RepresentationFromType(Type* type); | 3065 extern Representation RepresentationFromType(Type* type); |
3055 | 3066 |
3056 } // namespace internal | 3067 } // namespace internal |
3057 } // namespace v8 | 3068 } // namespace v8 |
3058 | 3069 |
3059 #endif // V8_CODE_STUBS_H_ | 3070 #endif // V8_CODE_STUBS_H_ |
OLD | NEW |