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 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
47 V(ProfileEntryHook) \ | 47 V(ProfileEntryHook) \ |
48 V(RecordWrite) \ | 48 V(RecordWrite) \ |
49 V(RegExpExec) \ | 49 V(RegExpExec) \ |
50 V(StoreArrayLiteralElement) \ | 50 V(StoreArrayLiteralElement) \ |
51 V(StoreBufferOverflow) \ | 51 V(StoreBufferOverflow) \ |
52 V(StoreElement) \ | 52 V(StoreElement) \ |
53 V(StringCompare) \ | 53 V(StringCompare) \ |
54 V(StubFailureTrampoline) \ | 54 V(StubFailureTrampoline) \ |
55 V(SubString) \ | 55 V(SubString) \ |
56 V(ToNumber) \ | 56 V(ToNumber) \ |
| 57 V(ToString) \ |
57 V(ToObject) \ | 58 V(ToObject) \ |
58 V(VectorStoreICTrampoline) \ | 59 V(VectorStoreICTrampoline) \ |
59 V(VectorKeyedStoreICTrampoline) \ | 60 V(VectorKeyedStoreICTrampoline) \ |
60 V(VectorStoreIC) \ | 61 V(VectorStoreIC) \ |
61 V(VectorKeyedStoreIC) \ | 62 V(VectorKeyedStoreIC) \ |
62 /* HydrogenCodeStubs */ \ | 63 /* HydrogenCodeStubs */ \ |
63 V(AllocateHeapNumber) \ | 64 V(AllocateHeapNumber) \ |
64 V(ArrayNArgumentsConstructor) \ | 65 V(ArrayNArgumentsConstructor) \ |
65 V(ArrayNoArgumentConstructor) \ | 66 V(ArrayNoArgumentConstructor) \ |
66 V(ArraySingleArgumentConstructor) \ | 67 V(ArraySingleArgumentConstructor) \ |
(...skipping 3008 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3075 | 3076 |
3076 class ToNumberStub final : public PlatformCodeStub { | 3077 class ToNumberStub final : public PlatformCodeStub { |
3077 public: | 3078 public: |
3078 explicit ToNumberStub(Isolate* isolate) : PlatformCodeStub(isolate) {} | 3079 explicit ToNumberStub(Isolate* isolate) : PlatformCodeStub(isolate) {} |
3079 | 3080 |
3080 DEFINE_CALL_INTERFACE_DESCRIPTOR(ToNumber); | 3081 DEFINE_CALL_INTERFACE_DESCRIPTOR(ToNumber); |
3081 DEFINE_PLATFORM_CODE_STUB(ToNumber, PlatformCodeStub); | 3082 DEFINE_PLATFORM_CODE_STUB(ToNumber, PlatformCodeStub); |
3082 }; | 3083 }; |
3083 | 3084 |
3084 | 3085 |
| 3086 class ToStringStub final : public PlatformCodeStub { |
| 3087 public: |
| 3088 explicit ToStringStub(Isolate* isolate) : PlatformCodeStub(isolate) {} |
| 3089 |
| 3090 DEFINE_CALL_INTERFACE_DESCRIPTOR(ToString); |
| 3091 DEFINE_PLATFORM_CODE_STUB(ToString, PlatformCodeStub); |
| 3092 }; |
| 3093 |
| 3094 |
3085 class ToObjectStub final : public HydrogenCodeStub { | 3095 class ToObjectStub final : public HydrogenCodeStub { |
3086 public: | 3096 public: |
3087 explicit ToObjectStub(Isolate* isolate) : HydrogenCodeStub(isolate) {} | 3097 explicit ToObjectStub(Isolate* isolate) : HydrogenCodeStub(isolate) {} |
3088 | 3098 |
3089 DEFINE_CALL_INTERFACE_DESCRIPTOR(ToObject); | 3099 DEFINE_CALL_INTERFACE_DESCRIPTOR(ToObject); |
3090 DEFINE_HYDROGEN_CODE_STUB(ToObject, HydrogenCodeStub); | 3100 DEFINE_HYDROGEN_CODE_STUB(ToObject, HydrogenCodeStub); |
3091 }; | 3101 }; |
3092 | 3102 |
3093 | 3103 |
3094 class StringCompareStub : public PlatformCodeStub { | 3104 class StringCompareStub : public PlatformCodeStub { |
3095 public: | 3105 public: |
3096 explicit StringCompareStub(Isolate* isolate) : PlatformCodeStub(isolate) {} | 3106 explicit StringCompareStub(Isolate* isolate) : PlatformCodeStub(isolate) {} |
3097 | 3107 |
3098 DEFINE_CALL_INTERFACE_DESCRIPTOR(ContextOnly); | 3108 DEFINE_CALL_INTERFACE_DESCRIPTOR(ContextOnly); |
3099 DEFINE_PLATFORM_CODE_STUB(StringCompare, PlatformCodeStub); | 3109 DEFINE_PLATFORM_CODE_STUB(StringCompare, PlatformCodeStub); |
3100 }; | 3110 }; |
3101 | 3111 |
3102 | 3112 |
3103 #undef DEFINE_CALL_INTERFACE_DESCRIPTOR | 3113 #undef DEFINE_CALL_INTERFACE_DESCRIPTOR |
3104 #undef DEFINE_PLATFORM_CODE_STUB | 3114 #undef DEFINE_PLATFORM_CODE_STUB |
3105 #undef DEFINE_HANDLER_CODE_STUB | 3115 #undef DEFINE_HANDLER_CODE_STUB |
3106 #undef DEFINE_HYDROGEN_CODE_STUB | 3116 #undef DEFINE_HYDROGEN_CODE_STUB |
3107 #undef DEFINE_CODE_STUB | 3117 #undef DEFINE_CODE_STUB |
3108 #undef DEFINE_CODE_STUB_BASE | 3118 #undef DEFINE_CODE_STUB_BASE |
3109 | 3119 |
3110 extern Representation RepresentationFromType(Type* type); | 3120 extern Representation RepresentationFromType(Type* type); |
3111 } } // namespace v8::internal | 3121 } } // namespace v8::internal |
3112 | 3122 |
3113 #endif // V8_CODE_STUBS_H_ | 3123 #endif // V8_CODE_STUBS_H_ |
OLD | NEW |