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

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

Issue 2168273004: [builtins] move conversions, debugger, handlers, interpreter builtins. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: rebase yet again Created 4 years, 4 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 | « BUILD.gn ('k') | src/builtins/builtins.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 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 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
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 */ \ 52 /* Handlers */ \
53 ASH(KeyedLoadIC_Megamorphic, KEYED_LOAD_IC, kNoExtraICState) \
53 ASM(KeyedLoadIC_Miss) \ 54 ASM(KeyedLoadIC_Miss) \
54 ASM(KeyedStoreIC_Miss) \ 55 ASH(KeyedLoadIC_Slow, HANDLER, Code::KEYED_LOAD_IC) \
55 ASH(LoadIC_Getter_ForDeopt, LOAD_IC, kNoExtraICState) \
56 ASH(KeyedLoadIC_Megamorphic, KEYED_LOAD_IC, kNoExtraICState) \
57 ASH(StoreIC_Setter_ForDeopt, STORE_IC, StoreICState::kStrictModeState) \
58 ASH(KeyedStoreIC_Megamorphic, KEYED_STORE_IC, kNoExtraICState) \ 56 ASH(KeyedStoreIC_Megamorphic, KEYED_STORE_IC, kNoExtraICState) \
59 ASH(KeyedStoreIC_Megamorphic_Strict, KEYED_STORE_IC, \ 57 ASH(KeyedStoreIC_Megamorphic_Strict, KEYED_STORE_IC, \
60 StoreICState::kStrictModeState) \ 58 StoreICState::kStrictModeState) \
61 ASH(KeyedLoadIC_Slow, HANDLER, Code::KEYED_LOAD_IC) \ 59 ASM(KeyedStoreIC_Miss) \
62 ASH(KeyedStoreIC_Slow, HANDLER, Code::KEYED_STORE_IC) \ 60 ASH(KeyedStoreIC_Slow, HANDLER, Code::KEYED_STORE_IC) \
63 ASH(LoadIC_Normal, HANDLER, Code::LOAD_IC) \
64 ASH(StoreIC_Normal, HANDLER, Code::STORE_IC) \
65 TFS(LoadGlobalIC_Miss, BUILTIN, kNoExtraICState, LoadGlobalWithVector) \ 61 TFS(LoadGlobalIC_Miss, BUILTIN, kNoExtraICState, LoadGlobalWithVector) \
62 TFS(LoadGlobalIC_SlowInsideTypeof, HANDLER, Code::LOAD_GLOBAL_IC, \
63 LoadGlobalWithVector) \
66 TFS(LoadGlobalIC_SlowNotInsideTypeof, HANDLER, Code::LOAD_GLOBAL_IC, \ 64 TFS(LoadGlobalIC_SlowNotInsideTypeof, HANDLER, Code::LOAD_GLOBAL_IC, \
67 LoadGlobalWithVector) \ 65 LoadGlobalWithVector) \
68 TFS(LoadGlobalIC_SlowInsideTypeof, HANDLER, Code::LOAD_GLOBAL_IC, \ 66 ASH(LoadIC_Getter_ForDeopt, LOAD_IC, kNoExtraICState) \
69 LoadGlobalWithVector) \
70 TFS(LoadIC_Miss, BUILTIN, kNoExtraICState, LoadWithVector) \ 67 TFS(LoadIC_Miss, BUILTIN, kNoExtraICState, LoadWithVector) \
68 ASH(LoadIC_Normal, HANDLER, Code::LOAD_IC) \
71 TFS(LoadIC_Slow, HANDLER, Code::LOAD_IC, LoadWithVector) \ 69 TFS(LoadIC_Slow, HANDLER, Code::LOAD_IC, LoadWithVector) \
72 TFS(StoreIC_Miss, BUILTIN, kNoExtraICState, StoreWithVector) \ 70 TFS(StoreIC_Miss, BUILTIN, kNoExtraICState, StoreWithVector) \
71 ASH(StoreIC_Normal, HANDLER, Code::STORE_IC) \
72 ASH(StoreIC_Setter_ForDeopt, STORE_IC, StoreICState::kStrictModeState) \
73 TFS(StoreIC_SlowSloppy, HANDLER, Code::STORE_IC, StoreWithVector) \ 73 TFS(StoreIC_SlowSloppy, HANDLER, Code::STORE_IC, StoreWithVector) \
74 TFS(StoreIC_SlowStrict, HANDLER, Code::STORE_IC, StoreWithVector) \ 74 TFS(StoreIC_SlowStrict, HANDLER, Code::STORE_IC, StoreWithVector) \
75 \ 75 \
76 /* Code aging */ \ 76 /* Code aging */ \
77 CODE_AGE_LIST_WITH_ARG(DECLARE_CODE_AGE_BUILTIN, ASM) \ 77 CODE_AGE_LIST_WITH_ARG(DECLARE_CODE_AGE_BUILTIN, ASM) \
78 \ 78 \
79 /* Calls */ \ 79 /* Calls */ \
80 ASM(ArgumentsAdaptorTrampoline) \ 80 ASM(ArgumentsAdaptorTrampoline) \
81 /* ES6 section 9.2.1 [[Call]] ( thisArgument, argumentsList) */ \ 81 /* ES6 section 9.2.1 [[Call]] ( thisArgument, argumentsList) */ \
82 ASM(CallFunction_ReceiverIsNullOrUndefined) \ 82 ASM(CallFunction_ReceiverIsNullOrUndefined) \
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
117 ASM(JSConstructEntryTrampoline) \ 117 ASM(JSConstructEntryTrampoline) \
118 ASM(ResumeGeneratorTrampoline) \ 118 ASM(ResumeGeneratorTrampoline) \
119 \ 119 \
120 /* Stack and interrupt check */ \ 120 /* Stack and interrupt check */ \
121 ASM(InterruptCheck) \ 121 ASM(InterruptCheck) \
122 ASM(StackCheck) \ 122 ASM(StackCheck) \
123 \ 123 \
124 /* Interpreter */ \ 124 /* Interpreter */ \
125 ASM(InterpreterEntryTrampoline) \ 125 ASM(InterpreterEntryTrampoline) \
126 ASM(InterpreterMarkBaselineOnReturn) \ 126 ASM(InterpreterMarkBaselineOnReturn) \
127 ASM(InterpreterPushArgsAndCall) \
127 ASM(InterpreterPushArgsAndCallFunction) \ 128 ASM(InterpreterPushArgsAndCallFunction) \
129 ASM(InterpreterPushArgsAndConstruct) \
130 ASM(InterpreterPushArgsAndTailCall) \
128 ASM(InterpreterPushArgsAndTailCallFunction) \ 131 ASM(InterpreterPushArgsAndTailCallFunction) \
129 ASM(InterpreterPushArgsAndCall) \
130 ASM(InterpreterPushArgsAndTailCall) \
131 ASM(InterpreterPushArgsAndConstruct) \
132 ASM(InterpreterEnterBytecodeDispatch) \ 132 ASM(InterpreterEnterBytecodeDispatch) \
133 \ 133 \
134 /* Code life-cycle */ \ 134 /* Code life-cycle */ \
135 ASM(CompileLazy) \ 135 ASM(CompileLazy) \
136 ASM(CompileBaseline) \ 136 ASM(CompileBaseline) \
137 ASM(CompileOptimized) \ 137 ASM(CompileOptimized) \
138 ASM(CompileOptimizedConcurrent) \ 138 ASM(CompileOptimizedConcurrent) \
139 ASM(InOptimizationQueue) \ 139 ASM(InOptimizationQueue) \
140 ASM(InstantiateAsmJs) \ 140 ASM(InstantiateAsmJs) \
141 ASM(MarkCodeAsToBeExecutedOnce) \ 141 ASM(MarkCodeAsToBeExecutedOnce) \
(...skipping 10 matching lines...) Expand all
152 API(HandleApiCall) \ 152 API(HandleApiCall) \
153 API(HandleApiCallAsFunction) \ 153 API(HandleApiCallAsFunction) \
154 API(HandleApiCallAsConstructor) \ 154 API(HandleApiCallAsConstructor) \
155 ASM(HandleFastApiCall) \ 155 ASM(HandleFastApiCall) \
156 \ 156 \
157 /* Adapters for Turbofan into runtime */ \ 157 /* Adapters for Turbofan into runtime */ \
158 ASM(AllocateInNewSpace) \ 158 ASM(AllocateInNewSpace) \
159 ASM(AllocateInOldSpace) \ 159 ASM(AllocateInOldSpace) \
160 \ 160 \
161 /* Debugger */ \ 161 /* Debugger */ \
162 DBG(FrameDropper_LiveEdit) \
162 DBG(Return_DebugBreak) \ 163 DBG(Return_DebugBreak) \
163 DBG(Slot_DebugBreak) \ 164 DBG(Slot_DebugBreak) \
164 DBG(FrameDropper_LiveEdit) \
165 \ 165 \
166 /* Type conversions */ \ 166 /* Type conversions */ \
167 TFS(ToBoolean, BUILTIN, kNoExtraICState, TypeConversion) \ 167 TFS(ToBoolean, BUILTIN, kNoExtraICState, TypeConversion) \
168 TFS(OrdinaryToPrimitive_Number, BUILTIN, kNoExtraICState, TypeConversion) \ 168 TFS(OrdinaryToPrimitive_Number, BUILTIN, kNoExtraICState, TypeConversion) \
169 TFS(OrdinaryToPrimitive_String, BUILTIN, kNoExtraICState, TypeConversion) \ 169 TFS(OrdinaryToPrimitive_String, BUILTIN, kNoExtraICState, TypeConversion) \
170 TFS(NonPrimitiveToPrimitive_Default, BUILTIN, kNoExtraICState, \ 170 TFS(NonPrimitiveToPrimitive_Default, BUILTIN, kNoExtraICState, \
171 TypeConversion) \ 171 TypeConversion) \
172 TFS(NonPrimitiveToPrimitive_Number, BUILTIN, kNoExtraICState, \ 172 TFS(NonPrimitiveToPrimitive_Number, BUILTIN, kNoExtraICState, \
173 TypeConversion) \ 173 TypeConversion) \
174 TFS(NonPrimitiveToPrimitive_String, BUILTIN, kNoExtraICState, \ 174 TFS(NonPrimitiveToPrimitive_String, BUILTIN, kNoExtraICState, \
(...skipping 468 matching lines...) Expand 10 before | Expand all | Expand 10 after
643 643
644 friend class Isolate; 644 friend class Isolate;
645 645
646 DISALLOW_COPY_AND_ASSIGN(Builtins); 646 DISALLOW_COPY_AND_ASSIGN(Builtins);
647 }; 647 };
648 648
649 } // namespace internal 649 } // namespace internal
650 } // namespace v8 650 } // namespace v8
651 651
652 #endif // V8_BUILTINS_BUILTINS_H_ 652 #endif // V8_BUILTINS_BUILTINS_H_
OLDNEW
« no previous file with comments | « BUILD.gn ('k') | src/builtins/builtins.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698