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 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
103 /* IC Handler stubs */ \ | 103 /* IC Handler stubs */ \ |
104 V(ArrayBufferViewLoadField) \ | 104 V(ArrayBufferViewLoadField) \ |
105 V(LoadConstant) \ | 105 V(LoadConstant) \ |
106 V(LoadFastElement) \ | 106 V(LoadFastElement) \ |
107 V(LoadField) \ | 107 V(LoadField) \ |
108 V(KeyedLoadSloppyArguments) \ | 108 V(KeyedLoadSloppyArguments) \ |
109 V(KeyedStoreSloppyArguments) \ | 109 V(KeyedStoreSloppyArguments) \ |
110 V(StoreField) \ | 110 V(StoreField) \ |
111 V(StoreGlobal) \ | 111 V(StoreGlobal) \ |
112 V(StoreTransition) \ | 112 V(StoreTransition) \ |
113 V(StringLength) \ | 113 V(StringLength) |
114 V(RestParamAccess) | |
115 | 114 |
116 // List of code stubs only used on ARM 32 bits platforms. | 115 // List of code stubs only used on ARM 32 bits platforms. |
117 #if V8_TARGET_ARCH_ARM | 116 #if V8_TARGET_ARCH_ARM |
118 #define CODE_STUB_LIST_ARM(V) V(DirectCEntry) | 117 #define CODE_STUB_LIST_ARM(V) V(DirectCEntry) |
119 | 118 |
120 #else | 119 #else |
121 #define CODE_STUB_LIST_ARM(V) | 120 #define CODE_STUB_LIST_ARM(V) |
122 #endif | 121 #endif |
123 | 122 |
124 // List of code stubs only used on ARM 64 bits platforms. | 123 // List of code stubs only used on ARM 64 bits platforms. |
(...skipping 1798 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1923 void GenerateNewSloppySlow(MacroAssembler* masm); | 1922 void GenerateNewSloppySlow(MacroAssembler* masm); |
1924 | 1923 |
1925 void PrintName(std::ostream& os) const override; // NOLINT | 1924 void PrintName(std::ostream& os) const override; // NOLINT |
1926 | 1925 |
1927 class TypeBits : public BitField<Type, 0, 2> {}; | 1926 class TypeBits : public BitField<Type, 0, 2> {}; |
1928 | 1927 |
1929 DEFINE_PLATFORM_CODE_STUB(ArgumentsAccess, PlatformCodeStub); | 1928 DEFINE_PLATFORM_CODE_STUB(ArgumentsAccess, PlatformCodeStub); |
1930 }; | 1929 }; |
1931 | 1930 |
1932 | 1931 |
1933 class RestParamAccessStub: public PlatformCodeStub { | |
1934 public: | |
1935 explicit RestParamAccessStub(Isolate* isolate) : PlatformCodeStub(isolate) { } | |
1936 | |
1937 CallInterfaceDescriptor GetCallInterfaceDescriptor() const override { | |
1938 return ContextOnlyDescriptor(isolate()); | |
1939 } | |
1940 | |
1941 private: | |
1942 void GenerateNew(MacroAssembler* masm); | |
1943 | |
1944 void PrintName(std::ostream& os) const override; // NOLINT | |
1945 | |
1946 DEFINE_PLATFORM_CODE_STUB(RestParamAccess, PlatformCodeStub); | |
1947 }; | |
1948 | |
1949 | |
1950 class RegExpExecStub: public PlatformCodeStub { | 1932 class RegExpExecStub: public PlatformCodeStub { |
1951 public: | 1933 public: |
1952 explicit RegExpExecStub(Isolate* isolate) : PlatformCodeStub(isolate) { } | 1934 explicit RegExpExecStub(Isolate* isolate) : PlatformCodeStub(isolate) { } |
1953 | 1935 |
1954 DEFINE_CALL_INTERFACE_DESCRIPTOR(ContextOnly); | 1936 DEFINE_CALL_INTERFACE_DESCRIPTOR(ContextOnly); |
1955 DEFINE_PLATFORM_CODE_STUB(RegExpExec, PlatformCodeStub); | 1937 DEFINE_PLATFORM_CODE_STUB(RegExpExec, PlatformCodeStub); |
1956 }; | 1938 }; |
1957 | 1939 |
1958 | 1940 |
1959 class RegExpConstructResultStub final : public HydrogenCodeStub { | 1941 class RegExpConstructResultStub final : public HydrogenCodeStub { |
(...skipping 1154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3114 #undef DEFINE_PLATFORM_CODE_STUB | 3096 #undef DEFINE_PLATFORM_CODE_STUB |
3115 #undef DEFINE_HANDLER_CODE_STUB | 3097 #undef DEFINE_HANDLER_CODE_STUB |
3116 #undef DEFINE_HYDROGEN_CODE_STUB | 3098 #undef DEFINE_HYDROGEN_CODE_STUB |
3117 #undef DEFINE_CODE_STUB | 3099 #undef DEFINE_CODE_STUB |
3118 #undef DEFINE_CODE_STUB_BASE | 3100 #undef DEFINE_CODE_STUB_BASE |
3119 | 3101 |
3120 extern Representation RepresentationFromType(Type* type); | 3102 extern Representation RepresentationFromType(Type* type); |
3121 } } // namespace v8::internal | 3103 } } // namespace v8::internal |
3122 | 3104 |
3123 #endif // V8_CODE_STUBS_H_ | 3105 #endif // V8_CODE_STUBS_H_ |
OLD | NEW |