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

Side by Side Diff: src/builtins.h

Issue 2052763003: [ic] [stubs] Remove InlineCacheState field from the code flags. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 6 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/builtins.cc » ('j') | src/objects.cc » ('J')
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_H_ 5 #ifndef V8_BUILTINS_H_
6 #define V8_BUILTINS_H_ 6 #define V8_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 28 matching lines...) Expand all
39 #define CODE_AGE_LIST(V) \ 39 #define CODE_AGE_LIST(V) \
40 CODE_AGE_LIST_WITH_ARG(CODE_AGE_LIST_IGNORE_ARG, V) 40 CODE_AGE_LIST_WITH_ARG(CODE_AGE_LIST_IGNORE_ARG, V)
41 41
42 #define CODE_AGE_LIST_COMPLETE(V) \ 42 #define CODE_AGE_LIST_COMPLETE(V) \
43 V(ToBeExecutedOnce) \ 43 V(ToBeExecutedOnce) \
44 V(NotExecuted) \ 44 V(NotExecuted) \
45 V(ExecutedOnce) \ 45 V(ExecutedOnce) \
46 V(NoAge) \ 46 V(NoAge) \
47 CODE_AGE_LIST_WITH_ARG(CODE_AGE_LIST_IGNORE_ARG, V) 47 CODE_AGE_LIST_WITH_ARG(CODE_AGE_LIST_IGNORE_ARG, V)
48 48
49 #define DECLARE_CODE_AGE_BUILTIN(C, V) \ 49 #define DECLARE_CODE_AGE_BUILTIN(C, V) \
50 V(Make##C##CodeYoungAgainOddMarking, BUILTIN, \ 50 V(Make##C##CodeYoungAgainOddMarking, BUILTIN, kNoExtraICState) \
51 UNINITIALIZED, kNoExtraICState) \ 51 V(Make##C##CodeYoungAgainEvenMarking, BUILTIN, kNoExtraICState)
52 V(Make##C##CodeYoungAgainEvenMarking, BUILTIN, \
53 UNINITIALIZED, kNoExtraICState)
54
55 52
56 // Define list of builtins implemented in C++. 53 // Define list of builtins implemented in C++.
57 #define BUILTIN_LIST_C(V) \ 54 #define BUILTIN_LIST_C(V) \
58 V(Illegal, kNone) \ 55 V(Illegal, kNone) \
59 \ 56 \
60 V(EmptyFunction, kNone) \ 57 V(EmptyFunction, kNone) \
61 \ 58 \
62 V(ArrayConcat, kNone) \ 59 V(ArrayConcat, kNone) \
63 V(ArrayPop, kNone) \ 60 V(ArrayPop, kNone) \
64 V(ArrayPush, kNone) \ 61 V(ArrayPush, kNone) \
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
188 V(TypedArrayPrototypeBuffer, kNone) \ 185 V(TypedArrayPrototypeBuffer, kNone) \
189 \ 186 \
190 V(HandleApiCall, kTargetAndNewTarget) \ 187 V(HandleApiCall, kTargetAndNewTarget) \
191 V(HandleApiCallAsFunction, kNone) \ 188 V(HandleApiCallAsFunction, kNone) \
192 V(HandleApiCallAsConstructor, kNone) \ 189 V(HandleApiCallAsConstructor, kNone) \
193 \ 190 \
194 V(RestrictedFunctionPropertiesThrower, kNone) \ 191 V(RestrictedFunctionPropertiesThrower, kNone) \
195 V(RestrictedStrictArgumentsPropertiesThrower, kNone) 192 V(RestrictedStrictArgumentsPropertiesThrower, kNone)
196 193
197 // Define list of builtins implemented in assembly. 194 // Define list of builtins implemented in assembly.
198 #define BUILTIN_LIST_A(V) \ 195 #define BUILTIN_LIST_A(V) \
199 V(AllocateInNewSpace, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 196 V(AllocateInNewSpace, BUILTIN, kNoExtraICState) \
200 V(AllocateInOldSpace, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 197 V(AllocateInOldSpace, BUILTIN, kNoExtraICState) \
201 \ 198 \
202 V(ArgumentsAdaptorTrampoline, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 199 V(ArgumentsAdaptorTrampoline, BUILTIN, kNoExtraICState) \
203 \ 200 \
204 V(ConstructedNonConstructable, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 201 V(ConstructedNonConstructable, BUILTIN, kNoExtraICState) \
205 \ 202 \
206 V(CallFunction_ReceiverIsNullOrUndefined, BUILTIN, UNINITIALIZED, \ 203 V(CallFunction_ReceiverIsNullOrUndefined, BUILTIN, kNoExtraICState) \
207 kNoExtraICState) \ 204 V(CallFunction_ReceiverIsNotNullOrUndefined, BUILTIN, kNoExtraICState) \
208 V(CallFunction_ReceiverIsNotNullOrUndefined, BUILTIN, UNINITIALIZED, \ 205 V(CallFunction_ReceiverIsAny, BUILTIN, kNoExtraICState) \
209 kNoExtraICState) \ 206 V(TailCallFunction_ReceiverIsNullOrUndefined, BUILTIN, kNoExtraICState) \
210 V(CallFunction_ReceiverIsAny, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 207 V(TailCallFunction_ReceiverIsNotNullOrUndefined, BUILTIN, kNoExtraICState) \
211 V(TailCallFunction_ReceiverIsNullOrUndefined, BUILTIN, UNINITIALIZED, \ 208 V(TailCallFunction_ReceiverIsAny, BUILTIN, kNoExtraICState) \
212 kNoExtraICState) \ 209 V(CallBoundFunction, BUILTIN, kNoExtraICState) \
213 V(TailCallFunction_ReceiverIsNotNullOrUndefined, BUILTIN, UNINITIALIZED, \ 210 V(TailCallBoundFunction, BUILTIN, kNoExtraICState) \
214 kNoExtraICState) \ 211 V(Call_ReceiverIsNullOrUndefined, BUILTIN, kNoExtraICState) \
215 V(TailCallFunction_ReceiverIsAny, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 212 V(Call_ReceiverIsNotNullOrUndefined, BUILTIN, kNoExtraICState) \
216 V(CallBoundFunction, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 213 V(Call_ReceiverIsAny, BUILTIN, kNoExtraICState) \
217 V(TailCallBoundFunction, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 214 V(TailCall_ReceiverIsNullOrUndefined, BUILTIN, kNoExtraICState) \
218 V(Call_ReceiverIsNullOrUndefined, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 215 V(TailCall_ReceiverIsNotNullOrUndefined, BUILTIN, kNoExtraICState) \
219 V(Call_ReceiverIsNotNullOrUndefined, BUILTIN, UNINITIALIZED, \ 216 V(TailCall_ReceiverIsAny, BUILTIN, kNoExtraICState) \
220 kNoExtraICState) \ 217 \
221 V(Call_ReceiverIsAny, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 218 V(ConstructFunction, BUILTIN, kNoExtraICState) \
222 V(TailCall_ReceiverIsNullOrUndefined, BUILTIN, UNINITIALIZED, \ 219 V(ConstructBoundFunction, BUILTIN, kNoExtraICState) \
223 kNoExtraICState) \ 220 V(ConstructProxy, BUILTIN, kNoExtraICState) \
224 V(TailCall_ReceiverIsNotNullOrUndefined, BUILTIN, UNINITIALIZED, \ 221 V(Construct, BUILTIN, kNoExtraICState) \
225 kNoExtraICState) \ 222 \
226 V(TailCall_ReceiverIsAny, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 223 V(StringToNumber, BUILTIN, kNoExtraICState) \
227 \ 224 \
228 V(ConstructFunction, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 225 V(Apply, BUILTIN, kNoExtraICState) \
229 V(ConstructBoundFunction, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 226 \
230 V(ConstructProxy, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 227 V(HandleFastApiCall, BUILTIN, kNoExtraICState) \
231 V(Construct, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 228 \
232 \ 229 V(InOptimizationQueue, BUILTIN, kNoExtraICState) \
233 V(StringToNumber, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 230 V(JSConstructStubGeneric, BUILTIN, kNoExtraICState) \
234 \ 231 V(JSBuiltinsConstructStub, BUILTIN, kNoExtraICState) \
235 V(Apply, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 232 V(JSBuiltinsConstructStubForDerived, BUILTIN, kNoExtraICState) \
236 \ 233 V(JSConstructStubApi, BUILTIN, kNoExtraICState) \
237 V(HandleFastApiCall, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 234 V(JSEntryTrampoline, BUILTIN, kNoExtraICState) \
238 \ 235 V(JSConstructEntryTrampoline, BUILTIN, kNoExtraICState) \
239 V(InOptimizationQueue, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 236 V(ResumeGeneratorTrampoline, BUILTIN, kNoExtraICState) \
240 V(JSConstructStubGeneric, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 237 V(CompileLazy, BUILTIN, kNoExtraICState) \
241 V(JSBuiltinsConstructStub, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 238 V(CompileBaseline, BUILTIN, kNoExtraICState) \
242 V(JSBuiltinsConstructStubForDerived, BUILTIN, UNINITIALIZED, \ 239 V(CompileOptimized, BUILTIN, kNoExtraICState) \
243 kNoExtraICState) \ 240 V(CompileOptimizedConcurrent, BUILTIN, kNoExtraICState) \
244 V(JSConstructStubApi, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 241 V(NotifyDeoptimized, BUILTIN, kNoExtraICState) \
245 V(JSEntryTrampoline, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 242 V(NotifySoftDeoptimized, BUILTIN, kNoExtraICState) \
246 V(JSConstructEntryTrampoline, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 243 V(NotifyLazyDeoptimized, BUILTIN, kNoExtraICState) \
247 V(ResumeGeneratorTrampoline, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 244 V(NotifyStubFailure, BUILTIN, kNoExtraICState) \
248 V(CompileLazy, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 245 V(NotifyStubFailureSaveDoubles, BUILTIN, kNoExtraICState) \
249 V(CompileBaseline, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 246 \
250 V(CompileOptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 247 V(InterpreterEntryTrampoline, BUILTIN, kNoExtraICState) \
251 V(CompileOptimizedConcurrent, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 248 V(InterpreterMarkBaselineOnReturn, BUILTIN, kNoExtraICState) \
252 V(NotifyDeoptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 249 V(InterpreterPushArgsAndCall, BUILTIN, kNoExtraICState) \
253 V(NotifySoftDeoptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 250 V(InterpreterPushArgsAndTailCall, BUILTIN, kNoExtraICState) \
254 V(NotifyLazyDeoptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 251 V(InterpreterPushArgsAndConstruct, BUILTIN, kNoExtraICState) \
255 V(NotifyStubFailure, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 252 V(InterpreterEnterBytecodeDispatch, BUILTIN, kNoExtraICState) \
256 V(NotifyStubFailureSaveDoubles, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 253 \
257 \ 254 V(LoadIC_Miss, BUILTIN, kNoExtraICState) \
258 V(InterpreterEntryTrampoline, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 255 V(KeyedLoadIC_Miss, BUILTIN, kNoExtraICState) \
259 V(InterpreterMarkBaselineOnReturn, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 256 V(StoreIC_Miss, BUILTIN, kNoExtraICState) \
260 V(InterpreterPushArgsAndCall, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 257 V(KeyedStoreIC_Miss, BUILTIN, kNoExtraICState) \
261 V(InterpreterPushArgsAndTailCall, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 258 V(LoadIC_Getter_ForDeopt, LOAD_IC, kNoExtraICState) \
262 V(InterpreterPushArgsAndConstruct, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 259 V(KeyedLoadIC_Megamorphic, KEYED_LOAD_IC, kNoExtraICState) \
263 V(InterpreterEnterBytecodeDispatch, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 260 \
264 \ 261 V(StoreIC_Setter_ForDeopt, STORE_IC, StoreICState::kStrictModeState) \
265 V(LoadIC_Miss, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 262 \
266 V(KeyedLoadIC_Miss, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 263 V(StoreIC_Megamorphic, STORE_IC, kNoExtraICState) \
267 V(StoreIC_Miss, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 264 V(StoreIC_Megamorphic_Strict, STORE_IC, StoreICState::kStrictModeState) \
268 V(KeyedStoreIC_Miss, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 265 \
269 V(LoadIC_Getter_ForDeopt, LOAD_IC, MONOMORPHIC, kNoExtraICState) \ 266 V(KeyedStoreIC_Megamorphic, KEYED_STORE_IC, kNoExtraICState) \
270 V(KeyedLoadIC_Megamorphic, KEYED_LOAD_IC, MEGAMORPHIC, kNoExtraICState) \ 267 V(KeyedStoreIC_Megamorphic_Strict, KEYED_STORE_IC, \
271 \ 268 StoreICState::kStrictModeState) \
272 V(StoreIC_Setter_ForDeopt, STORE_IC, MONOMORPHIC, \ 269 \
273 StoreICState::kStrictModeState) \ 270 V(DatePrototypeGetDate, BUILTIN, kNoExtraICState) \
274 \ 271 V(DatePrototypeGetDay, BUILTIN, kNoExtraICState) \
275 V(StoreIC_Megamorphic, STORE_IC, MEGAMORPHIC, kNoExtraICState) \ 272 V(DatePrototypeGetFullYear, BUILTIN, kNoExtraICState) \
276 V(StoreIC_Megamorphic_Strict, STORE_IC, MEGAMORPHIC, \ 273 V(DatePrototypeGetHours, BUILTIN, kNoExtraICState) \
277 StoreICState::kStrictModeState) \ 274 V(DatePrototypeGetMilliseconds, BUILTIN, kNoExtraICState) \
278 \ 275 V(DatePrototypeGetMinutes, BUILTIN, kNoExtraICState) \
279 V(KeyedStoreIC_Megamorphic, KEYED_STORE_IC, MEGAMORPHIC, kNoExtraICState) \ 276 V(DatePrototypeGetMonth, BUILTIN, kNoExtraICState) \
280 V(KeyedStoreIC_Megamorphic_Strict, KEYED_STORE_IC, MEGAMORPHIC, \ 277 V(DatePrototypeGetSeconds, BUILTIN, kNoExtraICState) \
281 StoreICState::kStrictModeState) \ 278 V(DatePrototypeGetTime, BUILTIN, kNoExtraICState) \
282 \ 279 V(DatePrototypeGetTimezoneOffset, BUILTIN, kNoExtraICState) \
283 V(DatePrototypeGetDate, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 280 V(DatePrototypeGetUTCDate, BUILTIN, kNoExtraICState) \
284 V(DatePrototypeGetDay, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 281 V(DatePrototypeGetUTCDay, BUILTIN, kNoExtraICState) \
285 V(DatePrototypeGetFullYear, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 282 V(DatePrototypeGetUTCFullYear, BUILTIN, kNoExtraICState) \
286 V(DatePrototypeGetHours, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 283 V(DatePrototypeGetUTCHours, BUILTIN, kNoExtraICState) \
287 V(DatePrototypeGetMilliseconds, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 284 V(DatePrototypeGetUTCMilliseconds, BUILTIN, kNoExtraICState) \
288 V(DatePrototypeGetMinutes, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 285 V(DatePrototypeGetUTCMinutes, BUILTIN, kNoExtraICState) \
289 V(DatePrototypeGetMonth, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 286 V(DatePrototypeGetUTCMonth, BUILTIN, kNoExtraICState) \
290 V(DatePrototypeGetSeconds, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 287 V(DatePrototypeGetUTCSeconds, BUILTIN, kNoExtraICState) \
291 V(DatePrototypeGetTime, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 288 \
292 V(DatePrototypeGetTimezoneOffset, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 289 V(FunctionPrototypeApply, BUILTIN, kNoExtraICState) \
293 V(DatePrototypeGetUTCDate, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 290 V(FunctionPrototypeCall, BUILTIN, kNoExtraICState) \
294 V(DatePrototypeGetUTCDay, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 291 \
295 V(DatePrototypeGetUTCFullYear, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 292 V(ReflectApply, BUILTIN, kNoExtraICState) \
296 V(DatePrototypeGetUTCHours, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 293 V(ReflectConstruct, BUILTIN, kNoExtraICState) \
297 V(DatePrototypeGetUTCMilliseconds, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 294 \
298 V(DatePrototypeGetUTCMinutes, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 295 V(InternalArrayCode, BUILTIN, kNoExtraICState) \
299 V(DatePrototypeGetUTCMonth, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 296 V(ArrayCode, BUILTIN, kNoExtraICState) \
300 V(DatePrototypeGetUTCSeconds, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 297 \
301 \ 298 V(MathMax, BUILTIN, kNoExtraICState) \
302 V(FunctionPrototypeApply, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 299 V(MathMin, BUILTIN, kNoExtraICState) \
303 V(FunctionPrototypeCall, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 300 \
304 \ 301 V(NumberConstructor, BUILTIN, kNoExtraICState) \
305 V(ReflectApply, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 302 V(NumberConstructor_ConstructStub, BUILTIN, kNoExtraICState) \
306 V(ReflectConstruct, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 303 \
307 \ 304 V(StringConstructor, BUILTIN, kNoExtraICState) \
308 V(InternalArrayCode, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 305 V(StringConstructor_ConstructStub, BUILTIN, kNoExtraICState) \
309 V(ArrayCode, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 306 \
310 \ 307 V(OnStackReplacement, BUILTIN, kNoExtraICState) \
311 V(MathMax, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 308 V(InterruptCheck, BUILTIN, kNoExtraICState) \
312 V(MathMin, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 309 V(StackCheck, BUILTIN, kNoExtraICState) \
313 \ 310 \
314 V(NumberConstructor, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 311 V(MarkCodeAsToBeExecutedOnce, BUILTIN, kNoExtraICState) \
315 V(NumberConstructor_ConstructStub, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 312 V(MarkCodeAsExecutedOnce, BUILTIN, kNoExtraICState) \
316 \ 313 V(MarkCodeAsExecutedTwice, BUILTIN, kNoExtraICState) \
317 V(StringConstructor, BUILTIN, UNINITIALIZED, kNoExtraICState) \
318 V(StringConstructor_ConstructStub, BUILTIN, UNINITIALIZED, kNoExtraICState) \
319 \
320 V(OnStackReplacement, BUILTIN, UNINITIALIZED, kNoExtraICState) \
321 V(InterruptCheck, BUILTIN, UNINITIALIZED, kNoExtraICState) \
322 V(StackCheck, BUILTIN, UNINITIALIZED, kNoExtraICState) \
323 \
324 V(MarkCodeAsToBeExecutedOnce, BUILTIN, UNINITIALIZED, kNoExtraICState) \
325 V(MarkCodeAsExecutedOnce, BUILTIN, UNINITIALIZED, kNoExtraICState) \
326 V(MarkCodeAsExecutedTwice, BUILTIN, UNINITIALIZED, kNoExtraICState) \
327 CODE_AGE_LIST_WITH_ARG(DECLARE_CODE_AGE_BUILTIN, V) 314 CODE_AGE_LIST_WITH_ARG(DECLARE_CODE_AGE_BUILTIN, V)
328 315
329 // Define list of builtins implemented in TurboFan (with JS linkage). 316 // Define list of builtins implemented in TurboFan (with JS linkage).
330 #define BUILTIN_LIST_T(V) \ 317 #define BUILTIN_LIST_T(V) \
331 V(FunctionPrototypeHasInstance, 2) \ 318 V(FunctionPrototypeHasInstance, 2) \
332 V(GeneratorPrototypeNext, 2) \ 319 V(GeneratorPrototypeNext, 2) \
333 V(GeneratorPrototypeReturn, 2) \ 320 V(GeneratorPrototypeReturn, 2) \
334 V(GeneratorPrototypeThrow, 2) \ 321 V(GeneratorPrototypeThrow, 2) \
335 V(MathCeil, 2) \ 322 V(MathCeil, 2) \
336 V(MathClz32, 2) \ 323 V(MathClz32, 2) \
(...skipping 16 matching lines...) Expand all
353 // Define list of builtin handlers implemented in assembly. 340 // Define list of builtin handlers implemented in assembly.
354 #define BUILTIN_LIST_H(V) \ 341 #define BUILTIN_LIST_H(V) \
355 V(LoadIC_Slow, LOAD_IC) \ 342 V(LoadIC_Slow, LOAD_IC) \
356 V(KeyedLoadIC_Slow, KEYED_LOAD_IC) \ 343 V(KeyedLoadIC_Slow, KEYED_LOAD_IC) \
357 V(StoreIC_Slow, STORE_IC) \ 344 V(StoreIC_Slow, STORE_IC) \
358 V(KeyedStoreIC_Slow, KEYED_STORE_IC) \ 345 V(KeyedStoreIC_Slow, KEYED_STORE_IC) \
359 V(LoadIC_Normal, LOAD_IC) \ 346 V(LoadIC_Normal, LOAD_IC) \
360 V(StoreIC_Normal, STORE_IC) 347 V(StoreIC_Normal, STORE_IC)
361 348
362 // Define list of builtins used by the debugger implemented in assembly. 349 // Define list of builtins used by the debugger implemented in assembly.
363 #define BUILTIN_LIST_DEBUG_A(V) \ 350 #define BUILTIN_LIST_DEBUG_A(V) \
364 V(Return_DebugBreak, BUILTIN, DEBUG_STUB, kNoExtraICState) \ 351 V(Return_DebugBreak, DEBUG_STUB, kNoExtraICState) \
365 V(Slot_DebugBreak, BUILTIN, DEBUG_STUB, kNoExtraICState) \ 352 V(Slot_DebugBreak, DEBUG_STUB, kNoExtraICState) \
366 V(FrameDropper_LiveEdit, BUILTIN, DEBUG_STUB, kNoExtraICState) 353 V(FrameDropper_LiveEdit, DEBUG_STUB, kNoExtraICState)
367
368 354
369 class BuiltinFunctionTable; 355 class BuiltinFunctionTable;
370 class ObjectVisitor; 356 class ObjectVisitor;
371 357
372 358
373 class Builtins { 359 class Builtins {
374 public: 360 public:
375 ~Builtins(); 361 ~Builtins();
376 362
377 // Generate all builtin code objects. Should be called once during 363 // Generate all builtin code objects. Should be called once during
378 // isolate initialization. 364 // isolate initialization.
379 void SetUp(Isolate* isolate, bool create_heap_objects); 365 void SetUp(Isolate* isolate, bool create_heap_objects);
380 void TearDown(); 366 void TearDown();
381 367
382 // Garbage collection support. 368 // Garbage collection support.
383 void IterateBuiltins(ObjectVisitor* v); 369 void IterateBuiltins(ObjectVisitor* v);
384 370
385 // Disassembler support. 371 // Disassembler support.
386 const char* Lookup(byte* pc); 372 const char* Lookup(byte* pc);
387 373
388 enum Name { 374 enum Name {
389 #define DEF_ENUM_C(name, ignore) k##name, 375 #define DEF_ENUM_C(name, ignore) k##name,
390 #define DEF_ENUM_A(name, kind, state, extra) k##name, 376 #define DEF_ENUM_A(name, kind, extra) k##name,
391 #define DEF_ENUM_T(name, argc) k##name, 377 #define DEF_ENUM_T(name, argc) k##name,
392 #define DEF_ENUM_H(name, kind) k##name, 378 #define DEF_ENUM_H(name, kind) k##name,
393 BUILTIN_LIST_C(DEF_ENUM_C) BUILTIN_LIST_A(DEF_ENUM_A) 379 BUILTIN_LIST_C(DEF_ENUM_C) BUILTIN_LIST_A(DEF_ENUM_A)
394 BUILTIN_LIST_T(DEF_ENUM_T) BUILTIN_LIST_H(DEF_ENUM_H) 380 BUILTIN_LIST_T(DEF_ENUM_T) BUILTIN_LIST_H(DEF_ENUM_H)
395 BUILTIN_LIST_DEBUG_A(DEF_ENUM_A) 381 BUILTIN_LIST_DEBUG_A(DEF_ENUM_A)
396 #undef DEF_ENUM_C 382 #undef DEF_ENUM_C
397 #undef DEF_ENUM_A 383 #undef DEF_ENUM_A
398 #undef DEF_ENUM_T 384 #undef DEF_ENUM_T
399 #undef DEF_ENUM_H 385 #undef DEF_ENUM_H
400 builtin_count 386 builtin_count
401 }; 387 };
402 388
403 enum CFunctionId { 389 enum CFunctionId {
404 #define DEF_ENUM_C(name, ignore) c_##name, 390 #define DEF_ENUM_C(name, ignore) c_##name,
405 BUILTIN_LIST_C(DEF_ENUM_C) 391 BUILTIN_LIST_C(DEF_ENUM_C)
406 #undef DEF_ENUM_C 392 #undef DEF_ENUM_C
407 cfunction_count 393 cfunction_count
408 }; 394 };
409 395
410 #define DECLARE_BUILTIN_ACCESSOR_C(name, ignore) Handle<Code> name(); 396 #define DECLARE_BUILTIN_ACCESSOR_C(name, ignore) Handle<Code> name();
411 #define DECLARE_BUILTIN_ACCESSOR_A(name, kind, state, extra) \ 397 #define DECLARE_BUILTIN_ACCESSOR_A(name, kind, extra) Handle<Code> name();
412 Handle<Code> name();
413 #define DECLARE_BUILTIN_ACCESSOR_T(name, argc) Handle<Code> name(); 398 #define DECLARE_BUILTIN_ACCESSOR_T(name, argc) Handle<Code> name();
414 #define DECLARE_BUILTIN_ACCESSOR_H(name, kind) Handle<Code> name(); 399 #define DECLARE_BUILTIN_ACCESSOR_H(name, kind) Handle<Code> name();
415 BUILTIN_LIST_C(DECLARE_BUILTIN_ACCESSOR_C) 400 BUILTIN_LIST_C(DECLARE_BUILTIN_ACCESSOR_C)
416 BUILTIN_LIST_A(DECLARE_BUILTIN_ACCESSOR_A) 401 BUILTIN_LIST_A(DECLARE_BUILTIN_ACCESSOR_A)
417 BUILTIN_LIST_T(DECLARE_BUILTIN_ACCESSOR_T) 402 BUILTIN_LIST_T(DECLARE_BUILTIN_ACCESSOR_T)
418 BUILTIN_LIST_H(DECLARE_BUILTIN_ACCESSOR_H) 403 BUILTIN_LIST_H(DECLARE_BUILTIN_ACCESSOR_H)
419 BUILTIN_LIST_DEBUG_A(DECLARE_BUILTIN_ACCESSOR_A) 404 BUILTIN_LIST_DEBUG_A(DECLARE_BUILTIN_ACCESSOR_A)
420 #undef DECLARE_BUILTIN_ACCESSOR_C 405 #undef DECLARE_BUILTIN_ACCESSOR_C
421 #undef DECLARE_BUILTIN_ACCESSOR_A 406 #undef DECLARE_BUILTIN_ACCESSOR_A
422 #undef DECLARE_BUILTIN_ACCESSOR_T 407 #undef DECLARE_BUILTIN_ACCESSOR_T
(...skipping 308 matching lines...) Expand 10 before | Expand all | Expand 10 after
731 friend class BuiltinFunctionTable; 716 friend class BuiltinFunctionTable;
732 friend class Isolate; 717 friend class Isolate;
733 718
734 DISALLOW_COPY_AND_ASSIGN(Builtins); 719 DISALLOW_COPY_AND_ASSIGN(Builtins);
735 }; 720 };
736 721
737 } // namespace internal 722 } // namespace internal
738 } // namespace v8 723 } // namespace v8
739 724
740 #endif // V8_BUILTINS_H_ 725 #endif // V8_BUILTINS_H_
OLDNEW
« no previous file with comments | « no previous file | src/builtins.cc » ('j') | src/objects.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698