Revision f230a1cf deps/v8/src/builtins.h
deps/v8/src/builtins.h | ||
---|---|---|
50 | 50 |
#define CODE_AGE_LIST(V) \ |
51 | 51 |
CODE_AGE_LIST_WITH_ARG(CODE_AGE_LIST_IGNORE_ARG, V) |
52 | 52 |
|
53 |
#define CODE_AGE_LIST_WITH_NO_AGE(V) \ |
|
54 |
V(NoAge) \ |
|
55 |
CODE_AGE_LIST_WITH_ARG(CODE_AGE_LIST_IGNORE_ARG, V) |
|
56 |
|
|
53 | 57 |
#define DECLARE_CODE_AGE_BUILTIN(C, V) \ |
54 | 58 |
V(Make##C##CodeYoungAgainOddMarking, BUILTIN, \ |
55 | 59 |
UNINITIALIZED, Code::kNoExtraICState) \ |
... | ... | |
63 | 67 |
\ |
64 | 68 |
V(EmptyFunction, NO_EXTRA_ARGUMENTS) \ |
65 | 69 |
\ |
66 |
V(InternalArrayCodeGeneric, NO_EXTRA_ARGUMENTS) \ |
|
67 |
V(ArrayCodeGeneric, NO_EXTRA_ARGUMENTS) \ |
|
68 |
\ |
|
69 | 70 |
V(ArrayPush, NO_EXTRA_ARGUMENTS) \ |
70 | 71 |
V(ArrayPop, NO_EXTRA_ARGUMENTS) \ |
71 | 72 |
V(ArrayShift, NO_EXTRA_ARGUMENTS) \ |
... | ... | |
111 | 112 |
Code::kNoExtraICState) \ |
112 | 113 |
V(NotifyStubFailure, BUILTIN, UNINITIALIZED, \ |
113 | 114 |
Code::kNoExtraICState) \ |
114 |
V(NotifyOSR, BUILTIN, UNINITIALIZED, \ |
|
115 |
Code::kNoExtraICState) \ |
|
116 | 115 |
\ |
117 | 116 |
V(LoadIC_Miss, BUILTIN, UNINITIALIZED, \ |
118 | 117 |
Code::kNoExtraICState) \ |
... | ... | |
120 | 119 |
Code::kNoExtraICState) \ |
121 | 120 |
V(KeyedLoadIC_MissForceGeneric, BUILTIN, UNINITIALIZED, \ |
122 | 121 |
Code::kNoExtraICState) \ |
123 |
V(KeyedLoadIC_Slow, STUB, MONOMORPHIC, \ |
|
124 |
Code::kNoExtraICState) \ |
|
125 | 122 |
V(StoreIC_Miss, BUILTIN, UNINITIALIZED, \ |
126 | 123 |
Code::kNoExtraICState) \ |
127 |
V(StoreIC_Slow, BUILTIN, UNINITIALIZED, \ |
|
128 |
Code::kNoExtraICState) \ |
|
129 | 124 |
V(KeyedStoreIC_Miss, BUILTIN, UNINITIALIZED, \ |
130 | 125 |
Code::kNoExtraICState) \ |
131 | 126 |
V(KeyedStoreIC_MissForceGeneric, BUILTIN, UNINITIALIZED, \ |
132 | 127 |
Code::kNoExtraICState) \ |
133 |
V(KeyedStoreIC_Slow, BUILTIN, UNINITIALIZED, \ |
|
134 |
Code::kNoExtraICState) \ |
|
135 | 128 |
V(LoadIC_Initialize, LOAD_IC, UNINITIALIZED, \ |
136 | 129 |
Code::kNoExtraICState) \ |
137 | 130 |
V(LoadIC_PreMonomorphic, LOAD_IC, PREMONOMORPHIC, \ |
138 | 131 |
Code::kNoExtraICState) \ |
139 |
V(LoadIC_Normal, LOAD_IC, MONOMORPHIC, \ |
|
140 |
Code::kNoExtraICState) \ |
|
141 | 132 |
V(LoadIC_Megamorphic, LOAD_IC, MEGAMORPHIC, \ |
142 | 133 |
Code::kNoExtraICState) \ |
143 | 134 |
V(LoadIC_Getter_ForDeopt, LOAD_IC, MONOMORPHIC, \ |
144 | 135 |
Code::kNoExtraICState) \ |
145 |
V(LoadIC_Slow, STUB, MONOMORPHIC, \ |
|
146 |
Code::kNoExtraICState) \ |
|
147 | 136 |
\ |
148 | 137 |
V(KeyedLoadIC_Initialize, KEYED_LOAD_IC, UNINITIALIZED, \ |
149 | 138 |
Code::kNoExtraICState) \ |
... | ... | |
162 | 151 |
Code::kNoExtraICState) \ |
163 | 152 |
V(StoreIC_PreMonomorphic, STORE_IC, PREMONOMORPHIC, \ |
164 | 153 |
Code::kNoExtraICState) \ |
165 |
V(StoreIC_Normal, STORE_IC, MONOMORPHIC, \ |
|
166 |
Code::kNoExtraICState) \ |
|
167 | 154 |
V(StoreIC_Megamorphic, STORE_IC, MEGAMORPHIC, \ |
168 | 155 |
Code::kNoExtraICState) \ |
169 | 156 |
V(StoreIC_Generic, STORE_IC, GENERIC, \ |
... | ... | |
176 | 163 |
kStrictMode) \ |
177 | 164 |
V(StoreIC_PreMonomorphic_Strict, STORE_IC, PREMONOMORPHIC, \ |
178 | 165 |
kStrictMode) \ |
179 |
V(StoreIC_Normal_Strict, STORE_IC, MONOMORPHIC, \ |
|
180 |
kStrictMode) \ |
|
181 | 166 |
V(StoreIC_Megamorphic_Strict, STORE_IC, MEGAMORPHIC, \ |
182 | 167 |
kStrictMode) \ |
183 | 168 |
V(StoreIC_GlobalProxy_Strict, STORE_IC, GENERIC, \ |
... | ... | |
219 | 204 |
Code::kNoExtraICState) \ |
220 | 205 |
V(InterruptCheck, BUILTIN, UNINITIALIZED, \ |
221 | 206 |
Code::kNoExtraICState) \ |
207 |
V(OsrAfterStackCheck, BUILTIN, UNINITIALIZED, \ |
|
208 |
Code::kNoExtraICState) \ |
|
222 | 209 |
V(StackCheck, BUILTIN, UNINITIALIZED, \ |
223 | 210 |
Code::kNoExtraICState) \ |
211 |
\ |
|
212 |
V(MarkCodeAsExecutedOnce, BUILTIN, UNINITIALIZED, \ |
|
213 |
Code::kNoExtraICState) \ |
|
214 |
V(MarkCodeAsExecutedTwice, BUILTIN, UNINITIALIZED, \ |
|
215 |
Code::kNoExtraICState) \ |
|
224 | 216 |
CODE_AGE_LIST_WITH_ARG(DECLARE_CODE_AGE_BUILTIN, V) |
225 | 217 |
|
218 |
// Define list of builtin handlers implemented in assembly. |
|
219 |
#define BUILTIN_LIST_H(V) \ |
|
220 |
V(LoadIC_Slow, LOAD_IC, Code::kNoExtraICState) \ |
|
221 |
V(KeyedLoadIC_Slow, KEYED_LOAD_IC, Code::kNoExtraICState) \ |
|
222 |
V(StoreIC_Slow, STORE_IC, Code::kNoExtraICState) \ |
|
223 |
V(StoreIC_Slow_Strict, STORE_IC, kStrictMode) \ |
|
224 |
V(KeyedStoreIC_Slow, KEYED_STORE_IC, Code::kNoExtraICState)\ |
|
225 |
V(KeyedStoreIC_Slow_Strict, KEYED_STORE_IC, kStrictMode) \ |
|
226 |
V(LoadIC_Normal, LOAD_IC, Code::kNoExtraICState) \ |
|
227 |
V(StoreIC_Normal, STORE_IC, Code::kNoExtraICState) \ |
|
228 |
V(StoreIC_Normal_Strict, STORE_IC, kStrictMode) |
|
229 |
|
|
226 | 230 |
#ifdef ENABLE_DEBUGGER_SUPPORT |
227 | 231 |
// Define list of builtins used by the debugger implemented in assembly. |
228 | 232 |
#define BUILTIN_LIST_DEBUG_A(V) \ |
... | ... | |
310 | 314 |
enum Name { |
311 | 315 |
#define DEF_ENUM_C(name, ignore) k##name, |
312 | 316 |
#define DEF_ENUM_A(name, kind, state, extra) k##name, |
317 |
#define DEF_ENUM_H(name, kind, extra) k##name, |
|
313 | 318 |
BUILTIN_LIST_C(DEF_ENUM_C) |
314 | 319 |
BUILTIN_LIST_A(DEF_ENUM_A) |
320 |
BUILTIN_LIST_H(DEF_ENUM_H) |
|
315 | 321 |
BUILTIN_LIST_DEBUG_A(DEF_ENUM_A) |
316 | 322 |
#undef DEF_ENUM_C |
317 | 323 |
#undef DEF_ENUM_A |
... | ... | |
335 | 341 |
#define DECLARE_BUILTIN_ACCESSOR_C(name, ignore) Handle<Code> name(); |
336 | 342 |
#define DECLARE_BUILTIN_ACCESSOR_A(name, kind, state, extra) \ |
337 | 343 |
Handle<Code> name(); |
344 |
#define DECLARE_BUILTIN_ACCESSOR_H(name, kind, extra) Handle<Code> name(); |
|
338 | 345 |
BUILTIN_LIST_C(DECLARE_BUILTIN_ACCESSOR_C) |
339 | 346 |
BUILTIN_LIST_A(DECLARE_BUILTIN_ACCESSOR_A) |
347 |
BUILTIN_LIST_H(DECLARE_BUILTIN_ACCESSOR_H) |
|
340 | 348 |
BUILTIN_LIST_DEBUG_A(DECLARE_BUILTIN_ACCESSOR_A) |
341 | 349 |
#undef DECLARE_BUILTIN_ACCESSOR_C |
342 | 350 |
#undef DECLARE_BUILTIN_ACCESSOR_A |
... | ... | |
391 | 399 |
static void Generate_NotifyDeoptimized(MacroAssembler* masm); |
392 | 400 |
static void Generate_NotifySoftDeoptimized(MacroAssembler* masm); |
393 | 401 |
static void Generate_NotifyLazyDeoptimized(MacroAssembler* masm); |
394 |
static void Generate_NotifyOSR(MacroAssembler* masm); |
|
395 | 402 |
static void Generate_NotifyStubFailure(MacroAssembler* masm); |
396 | 403 |
static void Generate_ArgumentsAdaptorTrampoline(MacroAssembler* masm); |
397 | 404 |
|
... | ... | |
403 | 410 |
|
404 | 411 |
static void Generate_StringConstructCode(MacroAssembler* masm); |
405 | 412 |
static void Generate_OnStackReplacement(MacroAssembler* masm); |
406 |
|
|
413 |
static void Generate_OsrAfterStackCheck(MacroAssembler* masm); |
|
407 | 414 |
static void Generate_InterruptCheck(MacroAssembler* masm); |
408 | 415 |
static void Generate_StackCheck(MacroAssembler* masm); |
409 | 416 |
|
... | ... | |
415 | 422 |
CODE_AGE_LIST(DECLARE_CODE_AGE_BUILTIN_GENERATOR) |
416 | 423 |
#undef DECLARE_CODE_AGE_BUILTIN_GENERATOR |
417 | 424 |
|
425 |
static void Generate_MarkCodeAsExecutedOnce(MacroAssembler* masm); |
|
426 |
static void Generate_MarkCodeAsExecutedTwice(MacroAssembler* masm); |
|
427 |
|
|
418 | 428 |
static void InitBuiltinFunctionTable(); |
419 | 429 |
|
420 | 430 |
bool initialized_; |
Also available in: Unified diff