| 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" |
| 11 #include "src/globals.h" | 11 #include "src/globals.h" |
| 12 #include "src/ic/ic-state.h" | 12 #include "src/ic/ic-state.h" |
| 13 #include "src/interface-descriptors.h" | 13 #include "src/interface-descriptors.h" |
| 14 #include "src/macro-assembler.h" | 14 #include "src/macro-assembler.h" |
| 15 #include "src/ostreams.h" | 15 #include "src/ostreams.h" |
| 16 | 16 |
| 17 namespace v8 { | 17 namespace v8 { |
| 18 namespace internal { | 18 namespace internal { |
| 19 | 19 |
| 20 // List of code stubs used on all platforms. | 20 // List of code stubs used on all platforms. |
| 21 #define CODE_STUB_LIST_ALL_PLATFORMS(V) \ | 21 #define CODE_STUB_LIST_ALL_PLATFORMS(V) \ |
| 22 /* PlatformCodeStubs */ \ | 22 /* PlatformCodeStubs */ \ |
| 23 V(ArgumentsAccess) \ | 23 V(ArgumentsAccess) \ |
| 24 V(ArrayConstructor) \ | 24 V(ArrayConstructor) \ |
| 25 V(BinaryOpICWithAllocationSite) \ | 25 V(BinaryOpICWithAllocationSite) \ |
| 26 V(CallApiFunction) \ | 26 V(CallApiFunction) \ |
| 27 V(CallApiGetter) \ | 27 V(CallApiGetter) \ |
| 28 V(CallFastApiGetter) \ |
| 28 V(CallConstruct) \ | 29 V(CallConstruct) \ |
| 29 V(CallFunction) \ | 30 V(CallFunction) \ |
| 30 V(CallIC) \ | 31 V(CallIC) \ |
| 31 V(CallIC_Array) \ | 32 V(CallIC_Array) \ |
| 32 V(CEntry) \ | 33 V(CEntry) \ |
| 33 V(CompareIC) \ | 34 V(CompareIC) \ |
| 34 V(DoubleToI) \ | 35 V(DoubleToI) \ |
| 35 V(FunctionPrototype) \ | 36 V(FunctionPrototype) \ |
| 36 V(Instanceof) \ | 37 V(Instanceof) \ |
| 37 V(InternalArrayConstructor) \ | 38 V(InternalArrayConstructor) \ |
| (...skipping 1120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1158 | 1159 |
| 1159 | 1160 |
| 1160 class CallApiGetterStub : public PlatformCodeStub { | 1161 class CallApiGetterStub : public PlatformCodeStub { |
| 1161 public: | 1162 public: |
| 1162 explicit CallApiGetterStub(Isolate* isolate) : PlatformCodeStub(isolate) {} | 1163 explicit CallApiGetterStub(Isolate* isolate) : PlatformCodeStub(isolate) {} |
| 1163 | 1164 |
| 1164 DEFINE_CALL_INTERFACE_DESCRIPTOR(ApiGetter); | 1165 DEFINE_CALL_INTERFACE_DESCRIPTOR(ApiGetter); |
| 1165 DEFINE_PLATFORM_CODE_STUB(CallApiGetter, PlatformCodeStub); | 1166 DEFINE_PLATFORM_CODE_STUB(CallApiGetter, PlatformCodeStub); |
| 1166 }; | 1167 }; |
| 1167 | 1168 |
| 1169 class CallFastApiGetterStub : public CallApiGetterStub { |
| 1170 public: |
| 1171 explicit CallFastApiGetterStub(Isolate* isolate) |
| 1172 : CallApiGetterStub(isolate) {} |
| 1173 |
| 1174 DEFINE_CALL_INTERFACE_DESCRIPTOR(ApiGetter); |
| 1175 DEFINE_PLATFORM_CODE_STUB(CallFastApiGetter, CallApiGetterStub); |
| 1176 }; |
| 1168 | 1177 |
| 1169 class BinaryOpICStub : public HydrogenCodeStub { | 1178 class BinaryOpICStub : public HydrogenCodeStub { |
| 1170 public: | 1179 public: |
| 1171 BinaryOpICStub(Isolate* isolate, Token::Value op, | 1180 BinaryOpICStub(Isolate* isolate, Token::Value op, |
| 1172 OverwriteMode mode = NO_OVERWRITE) | 1181 OverwriteMode mode = NO_OVERWRITE) |
| 1173 : HydrogenCodeStub(isolate, UNINITIALIZED) { | 1182 : HydrogenCodeStub(isolate, UNINITIALIZED) { |
| 1174 BinaryOpICState state(isolate, op, mode); | 1183 BinaryOpICState state(isolate, op, mode); |
| 1175 set_sub_minor_key(state.GetExtraICState()); | 1184 set_sub_minor_key(state.GetExtraICState()); |
| 1176 } | 1185 } |
| 1177 | 1186 |
| (...skipping 1358 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2536 | 2545 |
| 2537 #undef DEFINE_CALL_INTERFACE_DESCRIPTOR | 2546 #undef DEFINE_CALL_INTERFACE_DESCRIPTOR |
| 2538 #undef DEFINE_PLATFORM_CODE_STUB | 2547 #undef DEFINE_PLATFORM_CODE_STUB |
| 2539 #undef DEFINE_HANDLER_CODE_STUB | 2548 #undef DEFINE_HANDLER_CODE_STUB |
| 2540 #undef DEFINE_HYDROGEN_CODE_STUB | 2549 #undef DEFINE_HYDROGEN_CODE_STUB |
| 2541 #undef DEFINE_CODE_STUB | 2550 #undef DEFINE_CODE_STUB |
| 2542 #undef DEFINE_CODE_STUB_BASE | 2551 #undef DEFINE_CODE_STUB_BASE |
| 2543 } } // namespace v8::internal | 2552 } } // namespace v8::internal |
| 2544 | 2553 |
| 2545 #endif // V8_CODE_STUBS_H_ | 2554 #endif // V8_CODE_STUBS_H_ |
| OLD | NEW |