OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
59 V(HandleApiCallConstruct, NEEDS_CALLED_FUNCTION) \ | 59 V(HandleApiCallConstruct, NEEDS_CALLED_FUNCTION) \ |
60 V(HandleApiCallAsFunction, NO_EXTRA_ARGUMENTS) \ | 60 V(HandleApiCallAsFunction, NO_EXTRA_ARGUMENTS) \ |
61 V(HandleApiCallAsConstructor, NO_EXTRA_ARGUMENTS) \ | 61 V(HandleApiCallAsConstructor, NO_EXTRA_ARGUMENTS) \ |
62 \ | 62 \ |
63 V(StrictModePoisonPill, NO_EXTRA_ARGUMENTS) | 63 V(StrictModePoisonPill, NO_EXTRA_ARGUMENTS) |
64 | 64 |
65 // Define list of builtins implemented in assembly. | 65 // Define list of builtins implemented in assembly. |
66 #define BUILTIN_LIST_A(V) \ | 66 #define BUILTIN_LIST_A(V) \ |
67 V(ArgumentsAdaptorTrampoline, BUILTIN, UNINITIALIZED, \ | 67 V(ArgumentsAdaptorTrampoline, BUILTIN, UNINITIALIZED, \ |
68 Code::kNoExtraICState) \ | 68 Code::kNoExtraICState) \ |
| 69 V(InRecompileQueue, BUILTIN, UNINITIALIZED, \ |
| 70 Code::kNoExtraICState) \ |
69 V(JSConstructStubCountdown, BUILTIN, UNINITIALIZED, \ | 71 V(JSConstructStubCountdown, BUILTIN, UNINITIALIZED, \ |
70 Code::kNoExtraICState) \ | 72 Code::kNoExtraICState) \ |
71 V(JSConstructStubGeneric, BUILTIN, UNINITIALIZED, \ | 73 V(JSConstructStubGeneric, BUILTIN, UNINITIALIZED, \ |
72 Code::kNoExtraICState) \ | 74 Code::kNoExtraICState) \ |
73 V(JSConstructStubApi, BUILTIN, UNINITIALIZED, \ | 75 V(JSConstructStubApi, BUILTIN, UNINITIALIZED, \ |
74 Code::kNoExtraICState) \ | 76 Code::kNoExtraICState) \ |
75 V(JSEntryTrampoline, BUILTIN, UNINITIALIZED, \ | 77 V(JSEntryTrampoline, BUILTIN, UNINITIALIZED, \ |
76 Code::kNoExtraICState) \ | 78 Code::kNoExtraICState) \ |
77 V(JSConstructEntryTrampoline, BUILTIN, UNINITIALIZED, \ | 79 V(JSConstructEntryTrampoline, BUILTIN, UNINITIALIZED, \ |
78 Code::kNoExtraICState) \ | 80 Code::kNoExtraICState) \ |
79 V(LazyCompile, BUILTIN, UNINITIALIZED, \ | 81 V(LazyCompile, BUILTIN, UNINITIALIZED, \ |
80 Code::kNoExtraICState) \ | 82 Code::kNoExtraICState) \ |
81 V(LazyRecompile, BUILTIN, UNINITIALIZED, \ | 83 V(LazyRecompile, BUILTIN, UNINITIALIZED, \ |
82 Code::kNoExtraICState) \ | 84 Code::kNoExtraICState) \ |
| 85 V(ParallelRecompile, BUILTIN, UNINITIALIZED, \ |
| 86 Code::kNoExtraICState) \ |
83 V(NotifyDeoptimized, BUILTIN, UNINITIALIZED, \ | 87 V(NotifyDeoptimized, BUILTIN, UNINITIALIZED, \ |
84 Code::kNoExtraICState) \ | 88 Code::kNoExtraICState) \ |
85 V(NotifyLazyDeoptimized, BUILTIN, UNINITIALIZED, \ | 89 V(NotifyLazyDeoptimized, BUILTIN, UNINITIALIZED, \ |
86 Code::kNoExtraICState) \ | 90 Code::kNoExtraICState) \ |
87 V(NotifyOSR, BUILTIN, UNINITIALIZED, \ | 91 V(NotifyOSR, BUILTIN, UNINITIALIZED, \ |
88 Code::kNoExtraICState) \ | 92 Code::kNoExtraICState) \ |
89 \ | 93 \ |
90 V(LoadIC_Miss, BUILTIN, UNINITIALIZED, \ | 94 V(LoadIC_Miss, BUILTIN, UNINITIALIZED, \ |
91 Code::kNoExtraICState) \ | 95 Code::kNoExtraICState) \ |
92 V(KeyedLoadIC_Miss, BUILTIN, UNINITIALIZED, \ | 96 V(KeyedLoadIC_Miss, BUILTIN, UNINITIALIZED, \ |
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
340 // IterateBuiltins() above which assumes Object**'s for the callback | 344 // IterateBuiltins() above which assumes Object**'s for the callback |
341 // function f, we use an Object* array here. | 345 // function f, we use an Object* array here. |
342 Object* builtins_[builtin_count]; | 346 Object* builtins_[builtin_count]; |
343 const char* names_[builtin_count]; | 347 const char* names_[builtin_count]; |
344 static const char* const javascript_names_[id_count]; | 348 static const char* const javascript_names_[id_count]; |
345 static int const javascript_argc_[id_count]; | 349 static int const javascript_argc_[id_count]; |
346 | 350 |
347 static void Generate_Adaptor(MacroAssembler* masm, | 351 static void Generate_Adaptor(MacroAssembler* masm, |
348 CFunctionId id, | 352 CFunctionId id, |
349 BuiltinExtraArguments extra_args); | 353 BuiltinExtraArguments extra_args); |
| 354 static void Generate_InRecompileQueue(MacroAssembler* masm); |
| 355 static void Generate_ParallelRecompile(MacroAssembler* masm); |
350 static void Generate_JSConstructStubCountdown(MacroAssembler* masm); | 356 static void Generate_JSConstructStubCountdown(MacroAssembler* masm); |
351 static void Generate_JSConstructStubGeneric(MacroAssembler* masm); | 357 static void Generate_JSConstructStubGeneric(MacroAssembler* masm); |
352 static void Generate_JSConstructStubApi(MacroAssembler* masm); | 358 static void Generate_JSConstructStubApi(MacroAssembler* masm); |
353 static void Generate_JSEntryTrampoline(MacroAssembler* masm); | 359 static void Generate_JSEntryTrampoline(MacroAssembler* masm); |
354 static void Generate_JSConstructEntryTrampoline(MacroAssembler* masm); | 360 static void Generate_JSConstructEntryTrampoline(MacroAssembler* masm); |
355 static void Generate_LazyCompile(MacroAssembler* masm); | 361 static void Generate_LazyCompile(MacroAssembler* masm); |
356 static void Generate_LazyRecompile(MacroAssembler* masm); | 362 static void Generate_LazyRecompile(MacroAssembler* masm); |
357 static void Generate_NotifyDeoptimized(MacroAssembler* masm); | 363 static void Generate_NotifyDeoptimized(MacroAssembler* masm); |
358 static void Generate_NotifyLazyDeoptimized(MacroAssembler* masm); | 364 static void Generate_NotifyLazyDeoptimized(MacroAssembler* masm); |
359 static void Generate_NotifyOSR(MacroAssembler* masm); | 365 static void Generate_NotifyOSR(MacroAssembler* masm); |
(...skipping 15 matching lines...) Expand all Loading... |
375 | 381 |
376 friend class BuiltinFunctionTable; | 382 friend class BuiltinFunctionTable; |
377 friend class Isolate; | 383 friend class Isolate; |
378 | 384 |
379 DISALLOW_COPY_AND_ASSIGN(Builtins); | 385 DISALLOW_COPY_AND_ASSIGN(Builtins); |
380 }; | 386 }; |
381 | 387 |
382 } } // namespace v8::internal | 388 } } // namespace v8::internal |
383 | 389 |
384 #endif // V8_BUILTINS_H_ | 390 #endif // V8_BUILTINS_H_ |
OLD | NEW |