Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(106)

Side by Side Diff: src/code-stubs.h

Issue 2497243002: [stubs] Port builtin for Array.push fast-case from Crankshaft to TF (Closed)
Patch Set: Fix GC mole Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/code-stub-assembler.cc ('k') | src/code-stubs-hydrogen.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
55 V(StubFailureTrampoline) \ 55 V(StubFailureTrampoline) \
56 /* These are only called from FCG */ \ 56 /* These are only called from FCG */ \
57 /* They can be removed when only the TF */ \ 57 /* They can be removed when only the TF */ \
58 /* version of the corresponding stub is */ \ 58 /* version of the corresponding stub is */ \
59 /* used universally */ \ 59 /* used universally */ \
60 V(CallICTrampoline) \ 60 V(CallICTrampoline) \
61 /* --- HydrogenCodeStubs --- */ \ 61 /* --- HydrogenCodeStubs --- */ \
62 /* These builtins w/ JS linkage are */ \ 62 /* These builtins w/ JS linkage are */ \
63 /* just fast-cases of C++ builtins. They */ \ 63 /* just fast-cases of C++ builtins. They */ \
64 /* require varg support from TF */ \ 64 /* require varg support from TF */ \
65 V(FastArrayPush) \
66 V(FastFunctionBind) \ 65 V(FastFunctionBind) \
67 /* These will be ported/eliminated */ \ 66 /* These will be ported/eliminated */ \
68 /* as part of the new IC system, ask */ \ 67 /* as part of the new IC system, ask */ \
69 /* ishell before doing anything */ \ 68 /* ishell before doing anything */ \
70 V(LoadConstant) \ 69 V(LoadConstant) \
71 V(LoadDictionaryElement) \ 70 V(LoadDictionaryElement) \
72 V(LoadFastElement) \ 71 V(LoadFastElement) \
73 V(LoadField) \ 72 V(LoadField) \
74 /* These should never be ported to TF */ \ 73 /* These should never be ported to TF */ \
75 /* because they are either used only by */ \ 74 /* because they are either used only by */ \
(...skipping 928 matching lines...) Expand 10 before | Expand all | Expand 10 after
1004 return ElementsKindBits::decode(minor_key_); 1003 return ElementsKindBits::decode(minor_key_);
1005 } 1004 }
1006 1005
1007 private: 1006 private:
1008 class ElementsKindBits : public BitField<ElementsKind, 0, 8> {}; 1007 class ElementsKindBits : public BitField<ElementsKind, 0, 8> {};
1009 1008
1010 DEFINE_CALL_INTERFACE_DESCRIPTOR(GrowArrayElements); 1009 DEFINE_CALL_INTERFACE_DESCRIPTOR(GrowArrayElements);
1011 DEFINE_TURBOFAN_CODE_STUB(GrowArrayElements, TurboFanCodeStub); 1010 DEFINE_TURBOFAN_CODE_STUB(GrowArrayElements, TurboFanCodeStub);
1012 }; 1011 };
1013 1012
1014 class FastArrayPushStub : public HydrogenCodeStub {
1015 public:
1016 explicit FastArrayPushStub(Isolate* isolate) : HydrogenCodeStub(isolate) {}
1017
1018 private:
1019 DEFINE_CALL_INTERFACE_DESCRIPTOR(VarArgFunction);
1020 DEFINE_HYDROGEN_CODE_STUB(FastArrayPush, HydrogenCodeStub);
1021 };
1022
1023 class FastFunctionBindStub : public HydrogenCodeStub { 1013 class FastFunctionBindStub : public HydrogenCodeStub {
1024 public: 1014 public:
1025 explicit FastFunctionBindStub(Isolate* isolate) : HydrogenCodeStub(isolate) {} 1015 explicit FastFunctionBindStub(Isolate* isolate) : HydrogenCodeStub(isolate) {}
1026 1016
1027 private: 1017 private:
1028 DEFINE_CALL_INTERFACE_DESCRIPTOR(VarArgFunction); 1018 DEFINE_CALL_INTERFACE_DESCRIPTOR(VarArgFunction);
1029 DEFINE_HYDROGEN_CODE_STUB(FastFunctionBind, HydrogenCodeStub); 1019 DEFINE_HYDROGEN_CODE_STUB(FastFunctionBind, HydrogenCodeStub);
1030 }; 1020 };
1031 1021
1032 enum AllocationSiteOverrideMode { 1022 enum AllocationSiteOverrideMode {
(...skipping 1625 matching lines...) Expand 10 before | Expand all | Expand 10 after
2658 #undef DEFINE_PLATFORM_CODE_STUB 2648 #undef DEFINE_PLATFORM_CODE_STUB
2659 #undef DEFINE_HANDLER_CODE_STUB 2649 #undef DEFINE_HANDLER_CODE_STUB
2660 #undef DEFINE_HYDROGEN_CODE_STUB 2650 #undef DEFINE_HYDROGEN_CODE_STUB
2661 #undef DEFINE_CODE_STUB 2651 #undef DEFINE_CODE_STUB
2662 #undef DEFINE_CODE_STUB_BASE 2652 #undef DEFINE_CODE_STUB_BASE
2663 2653
2664 } // namespace internal 2654 } // namespace internal
2665 } // namespace v8 2655 } // namespace v8
2666 2656
2667 #endif // V8_CODE_STUBS_H_ 2657 #endif // V8_CODE_STUBS_H_
OLDNEW
« no previous file with comments | « src/code-stub-assembler.cc ('k') | src/code-stubs-hydrogen.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698