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

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

Issue 2496333002: [ic] Extract load IC proto array handlers handling to a separate stub. (Closed)
Patch Set: Created 4 years, 1 month 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.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 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
114 V(FastNewClosure) \ 114 V(FastNewClosure) \
115 V(FastNewFunctionContext) \ 115 V(FastNewFunctionContext) \
116 V(KeyedLoadSloppyArguments) \ 116 V(KeyedLoadSloppyArguments) \
117 V(KeyedStoreSloppyArguments) \ 117 V(KeyedStoreSloppyArguments) \
118 V(LoadScriptContextField) \ 118 V(LoadScriptContextField) \
119 V(StoreScriptContextField) \ 119 V(StoreScriptContextField) \
120 V(NumberToString) \ 120 V(NumberToString) \
121 V(StringAdd) \ 121 V(StringAdd) \
122 V(GetProperty) \ 122 V(GetProperty) \
123 V(LoadIC) \ 123 V(LoadIC) \
124 V(LoadICProtoArray) \
124 V(KeyedLoadICTF) \ 125 V(KeyedLoadICTF) \
125 V(StoreFastElement) \ 126 V(StoreFastElement) \
126 V(StoreField) \ 127 V(StoreField) \
127 V(StoreGlobal) \ 128 V(StoreGlobal) \
128 V(StoreIC) \ 129 V(StoreIC) \
129 V(KeyedStoreICTF) \ 130 V(KeyedStoreICTF) \
130 V(StoreInterceptor) \ 131 V(StoreInterceptor) \
131 V(StoreMap) \ 132 V(StoreMap) \
132 V(StoreTransition) \ 133 V(StoreTransition) \
133 V(LoadApiGetter) \ 134 V(LoadApiGetter) \
(...skipping 1962 matching lines...) Expand 10 before | Expand all | Expand 10 after
2096 explicit LoadICStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} 2097 explicit LoadICStub(Isolate* isolate) : TurboFanCodeStub(isolate) {}
2097 2098
2098 void GenerateAssembly(CodeStubAssembler* assembler) const override; 2099 void GenerateAssembly(CodeStubAssembler* assembler) const override;
2099 2100
2100 Code::Kind GetCodeKind() const override { return Code::LOAD_IC; } 2101 Code::Kind GetCodeKind() const override { return Code::LOAD_IC; }
2101 2102
2102 DEFINE_CALL_INTERFACE_DESCRIPTOR(LoadWithVector); 2103 DEFINE_CALL_INTERFACE_DESCRIPTOR(LoadWithVector);
2103 DEFINE_CODE_STUB(LoadIC, TurboFanCodeStub); 2104 DEFINE_CODE_STUB(LoadIC, TurboFanCodeStub);
2104 }; 2105 };
2105 2106
2107 class LoadICProtoArrayStub : public TurboFanCodeStub {
2108 public:
2109 explicit LoadICProtoArrayStub(Isolate* isolate) : TurboFanCodeStub(isolate) {}
2110
2111 void GenerateAssembly(CodeStubAssembler* assembler) const override;
2112
2113 DEFINE_CALL_INTERFACE_DESCRIPTOR(LoadICProtoArray);
2114 DEFINE_CODE_STUB(LoadICProtoArray, TurboFanCodeStub);
2115 };
2116
2106 class LoadGlobalICStub : public TurboFanCodeStub { 2117 class LoadGlobalICStub : public TurboFanCodeStub {
2107 public: 2118 public:
2108 explicit LoadGlobalICStub(Isolate* isolate, const LoadGlobalICState& state) 2119 explicit LoadGlobalICStub(Isolate* isolate, const LoadGlobalICState& state)
2109 : TurboFanCodeStub(isolate) { 2120 : TurboFanCodeStub(isolate) {
2110 minor_key_ = state.GetExtraICState(); 2121 minor_key_ = state.GetExtraICState();
2111 } 2122 }
2112 2123
2113 void GenerateAssembly(CodeStubAssembler* assembler) const override; 2124 void GenerateAssembly(CodeStubAssembler* assembler) const override;
2114 2125
2115 Code::Kind GetCodeKind() const override { return Code::LOAD_GLOBAL_IC; } 2126 Code::Kind GetCodeKind() const override { return Code::LOAD_GLOBAL_IC; }
(...skipping 603 matching lines...) Expand 10 before | Expand all | Expand 10 after
2719 #undef DEFINE_PLATFORM_CODE_STUB 2730 #undef DEFINE_PLATFORM_CODE_STUB
2720 #undef DEFINE_HANDLER_CODE_STUB 2731 #undef DEFINE_HANDLER_CODE_STUB
2721 #undef DEFINE_HYDROGEN_CODE_STUB 2732 #undef DEFINE_HYDROGEN_CODE_STUB
2722 #undef DEFINE_CODE_STUB 2733 #undef DEFINE_CODE_STUB
2723 #undef DEFINE_CODE_STUB_BASE 2734 #undef DEFINE_CODE_STUB_BASE
2724 2735
2725 } // namespace internal 2736 } // namespace internal
2726 } // namespace v8 2737 } // namespace v8
2727 2738
2728 #endif // V8_CODE_STUBS_H_ 2739 #endif // V8_CODE_STUBS_H_
OLDNEW
« no previous file with comments | « src/code-stub-assembler.cc ('k') | src/code-stubs.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698