| 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/code-stub-assembler.h" | 10 #include "src/code-stub-assembler.h" |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 57 /* These are only called from FCG */ \ | 57 /* These are only called from FCG */ \ |
| 58 /* They can be removed when only the TF */ \ | 58 /* They can be removed when only the TF */ \ |
| 59 /* version of the corresponding stub is */ \ | 59 /* version of the corresponding stub is */ \ |
| 60 /* used universally */ \ | 60 /* used universally */ \ |
| 61 V(CallICTrampoline) \ | 61 V(CallICTrampoline) \ |
| 62 V(KeyedStoreICTrampoline) \ | 62 V(KeyedStoreICTrampoline) \ |
| 63 /* --- HydrogenCodeStubs --- */ \ | 63 /* --- HydrogenCodeStubs --- */ \ |
| 64 /* These builtins w/ JS linkage are */ \ | 64 /* These builtins w/ JS linkage are */ \ |
| 65 /* just fast-cases of C++ builtins. They */ \ | 65 /* just fast-cases of C++ builtins. They */ \ |
| 66 /* require varg support from TF */ \ | 66 /* require varg support from TF */ \ |
| 67 V(FastArrayPush) \ | |
| 68 V(FastFunctionBind) \ | 67 V(FastFunctionBind) \ |
| 69 /* These will be ported/eliminated */ \ | 68 /* These will be ported/eliminated */ \ |
| 70 /* as part of the new IC system, ask */ \ | 69 /* as part of the new IC system, ask */ \ |
| 71 /* ishell before doing anything */ \ | 70 /* ishell before doing anything */ \ |
| 72 V(LoadConstant) \ | 71 V(LoadConstant) \ |
| 73 V(LoadDictionaryElement) \ | 72 V(LoadDictionaryElement) \ |
| 74 V(LoadFastElement) \ | 73 V(LoadFastElement) \ |
| 75 V(LoadField) \ | 74 V(LoadField) \ |
| 76 /* These should never be ported to TF */ \ | 75 /* These should never be ported to TF */ \ |
| 77 /* because they are either used only by */ \ | 76 /* because they are either used only by */ \ |
| (...skipping 928 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1006 return ElementsKindBits::decode(minor_key_); | 1005 return ElementsKindBits::decode(minor_key_); |
| 1007 } | 1006 } |
| 1008 | 1007 |
| 1009 private: | 1008 private: |
| 1010 class ElementsKindBits : public BitField<ElementsKind, 0, 8> {}; | 1009 class ElementsKindBits : public BitField<ElementsKind, 0, 8> {}; |
| 1011 | 1010 |
| 1012 DEFINE_CALL_INTERFACE_DESCRIPTOR(GrowArrayElements); | 1011 DEFINE_CALL_INTERFACE_DESCRIPTOR(GrowArrayElements); |
| 1013 DEFINE_TURBOFAN_CODE_STUB(GrowArrayElements, TurboFanCodeStub); | 1012 DEFINE_TURBOFAN_CODE_STUB(GrowArrayElements, TurboFanCodeStub); |
| 1014 }; | 1013 }; |
| 1015 | 1014 |
| 1016 class FastArrayPushStub : public HydrogenCodeStub { | |
| 1017 public: | |
| 1018 explicit FastArrayPushStub(Isolate* isolate) : HydrogenCodeStub(isolate) {} | |
| 1019 | |
| 1020 private: | |
| 1021 DEFINE_CALL_INTERFACE_DESCRIPTOR(VarArgFunction); | |
| 1022 DEFINE_HYDROGEN_CODE_STUB(FastArrayPush, HydrogenCodeStub); | |
| 1023 }; | |
| 1024 | |
| 1025 class FastFunctionBindStub : public HydrogenCodeStub { | 1015 class FastFunctionBindStub : public HydrogenCodeStub { |
| 1026 public: | 1016 public: |
| 1027 explicit FastFunctionBindStub(Isolate* isolate) : HydrogenCodeStub(isolate) {} | 1017 explicit FastFunctionBindStub(Isolate* isolate) : HydrogenCodeStub(isolate) {} |
| 1028 | 1018 |
| 1029 private: | 1019 private: |
| 1030 DEFINE_CALL_INTERFACE_DESCRIPTOR(VarArgFunction); | 1020 DEFINE_CALL_INTERFACE_DESCRIPTOR(VarArgFunction); |
| 1031 DEFINE_HYDROGEN_CODE_STUB(FastFunctionBind, HydrogenCodeStub); | 1021 DEFINE_HYDROGEN_CODE_STUB(FastFunctionBind, HydrogenCodeStub); |
| 1032 }; | 1022 }; |
| 1033 | 1023 |
| 1034 enum AllocationSiteOverrideMode { | 1024 enum AllocationSiteOverrideMode { |
| (...skipping 1629 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2664 #undef DEFINE_PLATFORM_CODE_STUB | 2654 #undef DEFINE_PLATFORM_CODE_STUB |
| 2665 #undef DEFINE_HANDLER_CODE_STUB | 2655 #undef DEFINE_HANDLER_CODE_STUB |
| 2666 #undef DEFINE_HYDROGEN_CODE_STUB | 2656 #undef DEFINE_HYDROGEN_CODE_STUB |
| 2667 #undef DEFINE_CODE_STUB | 2657 #undef DEFINE_CODE_STUB |
| 2668 #undef DEFINE_CODE_STUB_BASE | 2658 #undef DEFINE_CODE_STUB_BASE |
| 2669 | 2659 |
| 2670 } // namespace internal | 2660 } // namespace internal |
| 2671 } // namespace v8 | 2661 } // namespace v8 |
| 2672 | 2662 |
| 2673 #endif // V8_CODE_STUBS_H_ | 2663 #endif // V8_CODE_STUBS_H_ |
| OLD | NEW |