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

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

Issue 2532483002: [stubs] Port FastFunctionBindStub to TF (Closed)
Patch Set: Review feedback 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-factory.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 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 V(NameDictionaryLookup) \ 52 V(NameDictionaryLookup) \
53 /* This can be removed once there are no */ \ 53 /* This can be removed once there are no */ \
54 /* more deopting Hydrogen stubs. */ \ 54 /* more deopting Hydrogen stubs. */ \
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 */ \
63 /* just fast-cases of C++ builtins. They */ \
64 /* require varg support from TF */ \
65 V(FastFunctionBind) \
66 /* These will be ported/eliminated */ \ 62 /* These will be ported/eliminated */ \
67 /* as part of the new IC system, ask */ \ 63 /* as part of the new IC system, ask */ \
68 /* ishell before doing anything */ \ 64 /* ishell before doing anything */ \
69 V(LoadConstant) \ 65 V(LoadConstant) \
70 V(LoadDictionaryElement) \ 66 V(LoadDictionaryElement) \
71 V(LoadFastElement) \ 67 V(LoadFastElement) \
72 V(LoadField) \ 68 V(LoadField) \
73 /* These should never be ported to TF */ \ 69 /* These should never be ported to TF */ \
74 /* because they are either used only by */ \ 70 /* because they are either used only by */ \
75 /* FCG/Crankshaft or are deprecated */ \ 71 /* FCG/Crankshaft or are deprecated */ \
(...skipping 927 matching lines...) Expand 10 before | Expand all | Expand 10 after
1003 return ElementsKindBits::decode(minor_key_); 999 return ElementsKindBits::decode(minor_key_);
1004 } 1000 }
1005 1001
1006 private: 1002 private:
1007 class ElementsKindBits : public BitField<ElementsKind, 0, 8> {}; 1003 class ElementsKindBits : public BitField<ElementsKind, 0, 8> {};
1008 1004
1009 DEFINE_CALL_INTERFACE_DESCRIPTOR(GrowArrayElements); 1005 DEFINE_CALL_INTERFACE_DESCRIPTOR(GrowArrayElements);
1010 DEFINE_TURBOFAN_CODE_STUB(GrowArrayElements, TurboFanCodeStub); 1006 DEFINE_TURBOFAN_CODE_STUB(GrowArrayElements, TurboFanCodeStub);
1011 }; 1007 };
1012 1008
1013 class FastFunctionBindStub : public HydrogenCodeStub {
1014 public:
1015 explicit FastFunctionBindStub(Isolate* isolate) : HydrogenCodeStub(isolate) {}
1016
1017 private:
1018 DEFINE_CALL_INTERFACE_DESCRIPTOR(VarArgFunction);
1019 DEFINE_HYDROGEN_CODE_STUB(FastFunctionBind, HydrogenCodeStub);
1020 };
1021
1022 enum AllocationSiteOverrideMode { 1009 enum AllocationSiteOverrideMode {
1023 DONT_OVERRIDE, 1010 DONT_OVERRIDE,
1024 DISABLE_ALLOCATION_SITES, 1011 DISABLE_ALLOCATION_SITES,
1025 LAST_ALLOCATION_SITE_OVERRIDE_MODE = DISABLE_ALLOCATION_SITES 1012 LAST_ALLOCATION_SITE_OVERRIDE_MODE = DISABLE_ALLOCATION_SITES
1026 }; 1013 };
1027 1014
1028 1015
1029 class ArrayConstructorStub: public PlatformCodeStub { 1016 class ArrayConstructorStub: public PlatformCodeStub {
1030 public: 1017 public:
1031 explicit ArrayConstructorStub(Isolate* isolate); 1018 explicit ArrayConstructorStub(Isolate* isolate);
(...skipping 1616 matching lines...) Expand 10 before | Expand all | Expand 10 after
2648 #undef DEFINE_PLATFORM_CODE_STUB 2635 #undef DEFINE_PLATFORM_CODE_STUB
2649 #undef DEFINE_HANDLER_CODE_STUB 2636 #undef DEFINE_HANDLER_CODE_STUB
2650 #undef DEFINE_HYDROGEN_CODE_STUB 2637 #undef DEFINE_HYDROGEN_CODE_STUB
2651 #undef DEFINE_CODE_STUB 2638 #undef DEFINE_CODE_STUB
2652 #undef DEFINE_CODE_STUB_BASE 2639 #undef DEFINE_CODE_STUB_BASE
2653 2640
2654 } // namespace internal 2641 } // namespace internal
2655 } // namespace v8 2642 } // namespace v8
2656 2643
2657 #endif // V8_CODE_STUBS_H_ 2644 #endif // V8_CODE_STUBS_H_
OLDNEW
« no previous file with comments | « src/code-factory.cc ('k') | src/code-stubs-hydrogen.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698