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

Side by Side Diff: src/builtins/builtins.h

Issue 2362453004: [stubs] KeyedLoadIC_Megamorphic: support getters (Closed)
Patch Set: rebase Created 4 years, 2 months 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 | « no previous file | src/code-stub-assembler.h » ('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 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 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_BUILTINS_BUILTINS_H_ 5 #ifndef V8_BUILTINS_BUILTINS_H_
6 #define V8_BUILTINS_BUILTINS_H_ 6 #define V8_BUILTINS_BUILTINS_H_
7 7
8 #include "src/base/flags.h" 8 #include "src/base/flags.h"
9 #include "src/handles.h" 9 #include "src/handles.h"
10 10
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 // TFS: Builtin in Turbofan, with CodeStub linkage. 42 // TFS: Builtin in Turbofan, with CodeStub linkage.
43 // Args: name, code kind, extra IC state, interface descriptor 43 // Args: name, code kind, extra IC state, interface descriptor
44 // ASM: Builtin in platform-dependent assembly. 44 // ASM: Builtin in platform-dependent assembly.
45 // Args: name 45 // Args: name
46 // ASH: Handlers implemented in platform-dependent assembly. 46 // ASH: Handlers implemented in platform-dependent assembly.
47 // Args: name, code kind, extra IC state 47 // Args: name, code kind, extra IC state
48 // DBG: Builtin in platform-dependent assembly, used by the debugger. 48 // DBG: Builtin in platform-dependent assembly, used by the debugger.
49 // Args: name 49 // Args: name
50 #define BUILTIN_LIST(CPP, API, TFJ, TFS, ASM, ASH, DBG) \ 50 #define BUILTIN_LIST(CPP, API, TFJ, TFS, ASM, ASH, DBG) \
51 ASM(Abort) \ 51 ASM(Abort) \
52 /* Handlers */ \
53 ASH(KeyedLoadIC_Megamorphic, KEYED_LOAD_IC, kNoExtraICState) \
54 TFS(KeyedLoadIC_Megamorphic_TF, KEYED_LOAD_IC, kNoExtraICState, \
55 LoadWithVector) \
56 ASM(KeyedLoadIC_Miss) \
57 ASH(KeyedLoadIC_Slow, HANDLER, Code::KEYED_LOAD_IC) \
58 ASH(KeyedStoreIC_Megamorphic, KEYED_STORE_IC, kNoExtraICState) \
59 ASH(KeyedStoreIC_Megamorphic_Strict, KEYED_STORE_IC, \
60 StoreICState::kStrictModeState) \
61 ASM(KeyedStoreIC_Miss) \
62 ASH(KeyedStoreIC_Slow, HANDLER, Code::KEYED_STORE_IC) \
63 TFS(LoadGlobalIC_Miss, BUILTIN, kNoExtraICState, LoadGlobalWithVector) \
64 TFS(LoadGlobalIC_Slow, HANDLER, Code::LOAD_GLOBAL_IC, LoadGlobalWithVector) \
65 ASH(LoadIC_Getter_ForDeopt, LOAD_IC, kNoExtraICState) \
66 TFS(LoadIC_Miss, BUILTIN, kNoExtraICState, LoadWithVector) \
67 ASH(LoadIC_Normal, HANDLER, Code::LOAD_IC) \
68 TFS(LoadIC_Slow, HANDLER, Code::LOAD_IC, LoadWithVector) \
69 TFS(StoreIC_Miss, BUILTIN, kNoExtraICState, StoreWithVector) \
70 ASH(StoreIC_Normal, HANDLER, Code::STORE_IC) \
71 ASH(StoreIC_Setter_ForDeopt, STORE_IC, StoreICState::kStrictModeState) \
72 TFS(StoreIC_SlowSloppy, HANDLER, Code::STORE_IC, StoreWithVector) \
73 TFS(StoreIC_SlowStrict, HANDLER, Code::STORE_IC, StoreWithVector) \
74 \
75 /* Code aging */ \ 52 /* Code aging */ \
76 CODE_AGE_LIST_WITH_ARG(DECLARE_CODE_AGE_BUILTIN, ASM) \ 53 CODE_AGE_LIST_WITH_ARG(DECLARE_CODE_AGE_BUILTIN, ASM) \
77 \ 54 \
78 /* Calls */ \ 55 /* Calls */ \
79 ASM(ArgumentsAdaptorTrampoline) \ 56 ASM(ArgumentsAdaptorTrampoline) \
80 /* ES6 section 9.2.1 [[Call]] ( thisArgument, argumentsList) */ \ 57 /* ES6 section 9.2.1 [[Call]] ( thisArgument, argumentsList) */ \
81 ASM(CallFunction_ReceiverIsNullOrUndefined) \ 58 ASM(CallFunction_ReceiverIsNullOrUndefined) \
82 ASM(CallFunction_ReceiverIsNotNullOrUndefined) \ 59 ASM(CallFunction_ReceiverIsNotNullOrUndefined) \
83 ASM(CallFunction_ReceiverIsAny) \ 60 ASM(CallFunction_ReceiverIsAny) \
84 ASM(TailCallFunction_ReceiverIsNullOrUndefined) \ 61 ASM(TailCallFunction_ReceiverIsNullOrUndefined) \
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 TypeConversion) \ 157 TypeConversion) \
181 TFS(NonPrimitiveToPrimitive_Number, BUILTIN, kNoExtraICState, \ 158 TFS(NonPrimitiveToPrimitive_Number, BUILTIN, kNoExtraICState, \
182 TypeConversion) \ 159 TypeConversion) \
183 TFS(NonPrimitiveToPrimitive_String, BUILTIN, kNoExtraICState, \ 160 TFS(NonPrimitiveToPrimitive_String, BUILTIN, kNoExtraICState, \
184 TypeConversion) \ 161 TypeConversion) \
185 TFS(StringToNumber, BUILTIN, kNoExtraICState, TypeConversion) \ 162 TFS(StringToNumber, BUILTIN, kNoExtraICState, TypeConversion) \
186 TFS(ToName, BUILTIN, kNoExtraICState, TypeConversion) \ 163 TFS(ToName, BUILTIN, kNoExtraICState, TypeConversion) \
187 TFS(NonNumberToNumber, BUILTIN, kNoExtraICState, TypeConversion) \ 164 TFS(NonNumberToNumber, BUILTIN, kNoExtraICState, TypeConversion) \
188 TFS(ToNumber, BUILTIN, kNoExtraICState, TypeConversion) \ 165 TFS(ToNumber, BUILTIN, kNoExtraICState, TypeConversion) \
189 \ 166 \
167 /* Handlers */ \
168 ASH(KeyedLoadIC_Megamorphic, KEYED_LOAD_IC, kNoExtraICState) \
169 TFS(KeyedLoadIC_Megamorphic_TF, KEYED_LOAD_IC, kNoExtraICState, \
170 LoadWithVector) \
171 ASM(KeyedLoadIC_Miss) \
172 ASH(KeyedLoadIC_Slow, HANDLER, Code::KEYED_LOAD_IC) \
173 ASH(KeyedStoreIC_Megamorphic, KEYED_STORE_IC, kNoExtraICState) \
174 ASH(KeyedStoreIC_Megamorphic_Strict, KEYED_STORE_IC, \
175 StoreICState::kStrictModeState) \
176 ASM(KeyedStoreIC_Miss) \
177 ASH(KeyedStoreIC_Slow, HANDLER, Code::KEYED_STORE_IC) \
178 TFS(LoadGlobalIC_Miss, BUILTIN, kNoExtraICState, LoadGlobalWithVector) \
179 TFS(LoadGlobalIC_Slow, HANDLER, Code::LOAD_GLOBAL_IC, LoadGlobalWithVector) \
180 ASH(LoadIC_Getter_ForDeopt, LOAD_IC, kNoExtraICState) \
181 TFS(LoadIC_Miss, BUILTIN, kNoExtraICState, LoadWithVector) \
182 ASH(LoadIC_Normal, HANDLER, Code::LOAD_IC) \
183 TFS(LoadIC_Slow, HANDLER, Code::LOAD_IC, LoadWithVector) \
184 TFS(StoreIC_Miss, BUILTIN, kNoExtraICState, StoreWithVector) \
185 ASH(StoreIC_Normal, HANDLER, Code::STORE_IC) \
186 ASH(StoreIC_Setter_ForDeopt, STORE_IC, StoreICState::kStrictModeState) \
187 TFS(StoreIC_SlowSloppy, HANDLER, Code::STORE_IC, StoreWithVector) \
188 TFS(StoreIC_SlowStrict, HANDLER, Code::STORE_IC, StoreWithVector) \
189 \
190 /* Built-in functions for Javascript */ \ 190 /* Built-in functions for Javascript */ \
191 /* Special internal builtins */ \ 191 /* Special internal builtins */ \
192 CPP(EmptyFunction) \ 192 CPP(EmptyFunction) \
193 CPP(Illegal) \ 193 CPP(Illegal) \
194 CPP(RestrictedFunctionPropertiesThrower) \ 194 CPP(RestrictedFunctionPropertiesThrower) \
195 CPP(RestrictedStrictArgumentsPropertiesThrower) \ 195 CPP(RestrictedStrictArgumentsPropertiesThrower) \
196 CPP(UnsupportedThrower) \ 196 CPP(UnsupportedThrower) \
197 \ 197 \
198 /* Array */ \ 198 /* Array */ \
199 ASM(ArrayCode) \ 199 ASM(ArrayCode) \
(...skipping 518 matching lines...) Expand 10 before | Expand all | Expand 10 after
718 718
719 friend class Isolate; 719 friend class Isolate;
720 720
721 DISALLOW_COPY_AND_ASSIGN(Builtins); 721 DISALLOW_COPY_AND_ASSIGN(Builtins);
722 }; 722 };
723 723
724 } // namespace internal 724 } // namespace internal
725 } // namespace v8 725 } // namespace v8
726 726
727 #endif // V8_BUILTINS_BUILTINS_H_ 727 #endif // V8_BUILTINS_BUILTINS_H_
OLDNEW
« no previous file with comments | « no previous file | src/code-stub-assembler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698