OLD | NEW |
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 namespace v8 { | 8 namespace v8 { |
9 namespace internal { | 9 namespace internal { |
10 | 10 |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
60 V(HandleApiCallAsConstructor, NO_EXTRA_ARGUMENTS) \ | 60 V(HandleApiCallAsConstructor, NO_EXTRA_ARGUMENTS) \ |
61 \ | 61 \ |
62 V(StrictModePoisonPill, NO_EXTRA_ARGUMENTS) \ | 62 V(StrictModePoisonPill, NO_EXTRA_ARGUMENTS) \ |
63 V(GeneratorPoisonPill, NO_EXTRA_ARGUMENTS) | 63 V(GeneratorPoisonPill, 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, kNoExtraICState) \ | 67 V(ArgumentsAdaptorTrampoline, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
68 V(InOptimizationQueue, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 68 V(InOptimizationQueue, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
69 V(JSConstructStubGeneric, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 69 V(JSConstructStubGeneric, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
| 70 V(JSConstructStubForDerived, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
70 V(JSConstructStubApi, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 71 V(JSConstructStubApi, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
71 V(JSEntryTrampoline, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 72 V(JSEntryTrampoline, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
72 V(JSConstructEntryTrampoline, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 73 V(JSConstructEntryTrampoline, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
73 V(CompileLazy, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 74 V(CompileLazy, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
74 V(CompileOptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 75 V(CompileOptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
75 V(CompileOptimizedConcurrent, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 76 V(CompileOptimizedConcurrent, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
76 V(NotifyDeoptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 77 V(NotifyDeoptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
77 V(NotifySoftDeoptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 78 V(NotifySoftDeoptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
78 V(NotifyLazyDeoptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 79 V(NotifyLazyDeoptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
79 V(NotifyStubFailure, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 80 V(NotifyStubFailure, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
295 static int const javascript_argc_[id_count]; | 296 static int const javascript_argc_[id_count]; |
296 | 297 |
297 static void Generate_Adaptor(MacroAssembler* masm, | 298 static void Generate_Adaptor(MacroAssembler* masm, |
298 CFunctionId id, | 299 CFunctionId id, |
299 BuiltinExtraArguments extra_args); | 300 BuiltinExtraArguments extra_args); |
300 static void Generate_CompileLazy(MacroAssembler* masm); | 301 static void Generate_CompileLazy(MacroAssembler* masm); |
301 static void Generate_InOptimizationQueue(MacroAssembler* masm); | 302 static void Generate_InOptimizationQueue(MacroAssembler* masm); |
302 static void Generate_CompileOptimized(MacroAssembler* masm); | 303 static void Generate_CompileOptimized(MacroAssembler* masm); |
303 static void Generate_CompileOptimizedConcurrent(MacroAssembler* masm); | 304 static void Generate_CompileOptimizedConcurrent(MacroAssembler* masm); |
304 static void Generate_JSConstructStubGeneric(MacroAssembler* masm); | 305 static void Generate_JSConstructStubGeneric(MacroAssembler* masm); |
| 306 static void Generate_JSConstructStubForDerived(MacroAssembler* masm); |
305 static void Generate_JSConstructStubApi(MacroAssembler* masm); | 307 static void Generate_JSConstructStubApi(MacroAssembler* masm); |
306 static void Generate_JSEntryTrampoline(MacroAssembler* masm); | 308 static void Generate_JSEntryTrampoline(MacroAssembler* masm); |
307 static void Generate_JSConstructEntryTrampoline(MacroAssembler* masm); | 309 static void Generate_JSConstructEntryTrampoline(MacroAssembler* masm); |
308 static void Generate_NotifyDeoptimized(MacroAssembler* masm); | 310 static void Generate_NotifyDeoptimized(MacroAssembler* masm); |
309 static void Generate_NotifySoftDeoptimized(MacroAssembler* masm); | 311 static void Generate_NotifySoftDeoptimized(MacroAssembler* masm); |
310 static void Generate_NotifyLazyDeoptimized(MacroAssembler* masm); | 312 static void Generate_NotifyLazyDeoptimized(MacroAssembler* masm); |
311 static void Generate_NotifyStubFailure(MacroAssembler* masm); | 313 static void Generate_NotifyStubFailure(MacroAssembler* masm); |
312 static void Generate_NotifyStubFailureSaveDoubles(MacroAssembler* masm); | 314 static void Generate_NotifyStubFailureSaveDoubles(MacroAssembler* masm); |
313 static void Generate_ArgumentsAdaptorTrampoline(MacroAssembler* masm); | 315 static void Generate_ArgumentsAdaptorTrampoline(MacroAssembler* masm); |
314 | 316 |
(...skipping 26 matching lines...) Expand all Loading... |
341 | 343 |
342 friend class BuiltinFunctionTable; | 344 friend class BuiltinFunctionTable; |
343 friend class Isolate; | 345 friend class Isolate; |
344 | 346 |
345 DISALLOW_COPY_AND_ASSIGN(Builtins); | 347 DISALLOW_COPY_AND_ASSIGN(Builtins); |
346 }; | 348 }; |
347 | 349 |
348 } } // namespace v8::internal | 350 } } // namespace v8::internal |
349 | 351 |
350 #endif // V8_BUILTINS_H_ | 352 #endif // V8_BUILTINS_H_ |
OLD | NEW |