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 26 matching lines...) Expand all Loading... |
37 V(InternalArrayConstructor) \ | 37 V(InternalArrayConstructor) \ |
38 V(JSEntry) \ | 38 V(JSEntry) \ |
39 V(KeyedLoadICTrampoline) \ | 39 V(KeyedLoadICTrampoline) \ |
40 V(LoadICTrampoline) \ | 40 V(LoadICTrampoline) \ |
41 V(CallICTrampoline) \ | 41 V(CallICTrampoline) \ |
42 V(LoadIndexedInterceptor) \ | 42 V(LoadIndexedInterceptor) \ |
43 V(LoadIndexedString) \ | 43 V(LoadIndexedString) \ |
44 V(MathPow) \ | 44 V(MathPow) \ |
45 V(ProfileEntryHook) \ | 45 V(ProfileEntryHook) \ |
46 V(RecordWrite) \ | 46 V(RecordWrite) \ |
| 47 V(RestParamAccess) \ |
47 V(RegExpExec) \ | 48 V(RegExpExec) \ |
48 V(StoreBufferOverflow) \ | 49 V(StoreBufferOverflow) \ |
49 V(StoreElement) \ | 50 V(StoreElement) \ |
50 V(StringCompare) \ | 51 V(StringCompare) \ |
51 V(StubFailureTrampoline) \ | 52 V(StubFailureTrampoline) \ |
52 V(SubString) \ | 53 V(SubString) \ |
53 V(ToNumber) \ | 54 V(ToNumber) \ |
54 V(ToLength) \ | 55 V(ToLength) \ |
55 V(ToString) \ | 56 V(ToString) \ |
56 V(ToObject) \ | 57 V(ToObject) \ |
(...skipping 1787 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1844 void GenerateNewSloppySlow(MacroAssembler* masm); | 1845 void GenerateNewSloppySlow(MacroAssembler* masm); |
1845 | 1846 |
1846 void PrintName(std::ostream& os) const override; // NOLINT | 1847 void PrintName(std::ostream& os) const override; // NOLINT |
1847 | 1848 |
1848 class TypeBits : public BitField<Type, 0, 2> {}; | 1849 class TypeBits : public BitField<Type, 0, 2> {}; |
1849 | 1850 |
1850 DEFINE_PLATFORM_CODE_STUB(ArgumentsAccess, PlatformCodeStub); | 1851 DEFINE_PLATFORM_CODE_STUB(ArgumentsAccess, PlatformCodeStub); |
1851 }; | 1852 }; |
1852 | 1853 |
1853 | 1854 |
| 1855 class RestParamAccessStub : public PlatformCodeStub { |
| 1856 public: |
| 1857 explicit RestParamAccessStub(Isolate* isolate) : PlatformCodeStub(isolate) {} |
| 1858 |
| 1859 CallInterfaceDescriptor GetCallInterfaceDescriptor() const override { |
| 1860 return ContextOnlyDescriptor(isolate()); |
| 1861 } |
| 1862 |
| 1863 private: |
| 1864 void GenerateNew(MacroAssembler* masm); |
| 1865 |
| 1866 void PrintName(std::ostream& os) const override; // NOLINT |
| 1867 |
| 1868 DEFINE_PLATFORM_CODE_STUB(RestParamAccess, PlatformCodeStub); |
| 1869 }; |
| 1870 |
| 1871 |
1854 class RegExpExecStub: public PlatformCodeStub { | 1872 class RegExpExecStub: public PlatformCodeStub { |
1855 public: | 1873 public: |
1856 explicit RegExpExecStub(Isolate* isolate) : PlatformCodeStub(isolate) { } | 1874 explicit RegExpExecStub(Isolate* isolate) : PlatformCodeStub(isolate) { } |
1857 | 1875 |
1858 DEFINE_CALL_INTERFACE_DESCRIPTOR(ContextOnly); | 1876 DEFINE_CALL_INTERFACE_DESCRIPTOR(ContextOnly); |
1859 DEFINE_PLATFORM_CODE_STUB(RegExpExec, PlatformCodeStub); | 1877 DEFINE_PLATFORM_CODE_STUB(RegExpExec, PlatformCodeStub); |
1860 }; | 1878 }; |
1861 | 1879 |
1862 | 1880 |
1863 class RegExpConstructResultStub final : public HydrogenCodeStub { | 1881 class RegExpConstructResultStub final : public HydrogenCodeStub { |
(...skipping 1095 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2959 #undef DEFINE_HYDROGEN_CODE_STUB | 2977 #undef DEFINE_HYDROGEN_CODE_STUB |
2960 #undef DEFINE_CODE_STUB | 2978 #undef DEFINE_CODE_STUB |
2961 #undef DEFINE_CODE_STUB_BASE | 2979 #undef DEFINE_CODE_STUB_BASE |
2962 | 2980 |
2963 extern Representation RepresentationFromType(Type* type); | 2981 extern Representation RepresentationFromType(Type* type); |
2964 | 2982 |
2965 } // namespace internal | 2983 } // namespace internal |
2966 } // namespace v8 | 2984 } // namespace v8 |
2967 | 2985 |
2968 #endif // V8_CODE_STUBS_H_ | 2986 #endif // V8_CODE_STUBS_H_ |
OLD | NEW |