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 #include "src/base/flags.h" | 8 #include "src/base/flags.h" |
9 #include "src/handles.h" | 9 #include "src/handles.h" |
10 | 10 |
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
165 \ | 165 \ |
166 V(HandleApiCall, kTargetAndNewTarget) \ | 166 V(HandleApiCall, kTargetAndNewTarget) \ |
167 V(HandleApiCallAsFunction, kNone) \ | 167 V(HandleApiCallAsFunction, kNone) \ |
168 V(HandleApiCallAsConstructor, kNone) \ | 168 V(HandleApiCallAsConstructor, kNone) \ |
169 \ | 169 \ |
170 V(RestrictedFunctionPropertiesThrower, kNone) \ | 170 V(RestrictedFunctionPropertiesThrower, kNone) \ |
171 V(RestrictedStrictArgumentsPropertiesThrower, kNone) | 171 V(RestrictedStrictArgumentsPropertiesThrower, kNone) |
172 | 172 |
173 // Define list of builtins implemented in assembly. | 173 // Define list of builtins implemented in assembly. |
174 #define BUILTIN_LIST_A(V) \ | 174 #define BUILTIN_LIST_A(V) \ |
175 V(AllocateInNewSpace, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | |
176 V(AllocateInOldSpace, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | |
177 \ | |
178 V(ArgumentsAdaptorTrampoline, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 175 V(ArgumentsAdaptorTrampoline, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
179 \ | 176 \ |
180 V(ConstructedNonConstructable, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 177 V(ConstructedNonConstructable, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
181 \ | 178 \ |
182 V(CallFunction_ReceiverIsNullOrUndefined, BUILTIN, UNINITIALIZED, \ | 179 V(CallFunction_ReceiverIsNullOrUndefined, BUILTIN, UNINITIALIZED, \ |
183 kNoExtraICState) \ | 180 kNoExtraICState) \ |
184 V(CallFunction_ReceiverIsNotNullOrUndefined, BUILTIN, UNINITIALIZED, \ | 181 V(CallFunction_ReceiverIsNotNullOrUndefined, BUILTIN, UNINITIALIZED, \ |
185 kNoExtraICState) \ | 182 kNoExtraICState) \ |
186 V(CallFunction_ReceiverIsAny, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 183 V(CallFunction_ReceiverIsAny, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
187 V(TailCallFunction_ReceiverIsNullOrUndefined, BUILTIN, UNINITIALIZED, \ | 184 V(TailCallFunction_ReceiverIsNullOrUndefined, BUILTIN, UNINITIALIZED, \ |
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
435 | 432 |
436 // Note: These are always Code objects, but to conform with | 433 // Note: These are always Code objects, but to conform with |
437 // IterateBuiltins() above which assumes Object**'s for the callback | 434 // IterateBuiltins() above which assumes Object**'s for the callback |
438 // function f, we use an Object* array here. | 435 // function f, we use an Object* array here. |
439 Object* builtins_[builtin_count]; | 436 Object* builtins_[builtin_count]; |
440 const char* names_[builtin_count]; | 437 const char* names_[builtin_count]; |
441 | 438 |
442 static void Generate_Adaptor(MacroAssembler* masm, | 439 static void Generate_Adaptor(MacroAssembler* masm, |
443 CFunctionId id, | 440 CFunctionId id, |
444 BuiltinExtraArguments extra_args); | 441 BuiltinExtraArguments extra_args); |
445 static void Generate_AllocateInNewSpace(MacroAssembler* masm); | |
446 static void Generate_AllocateInOldSpace(MacroAssembler* masm); | |
447 static void Generate_ConstructedNonConstructable(MacroAssembler* masm); | 442 static void Generate_ConstructedNonConstructable(MacroAssembler* masm); |
448 static void Generate_CompileLazy(MacroAssembler* masm); | 443 static void Generate_CompileLazy(MacroAssembler* masm); |
449 static void Generate_CompileBaseline(MacroAssembler* masm); | 444 static void Generate_CompileBaseline(MacroAssembler* masm); |
450 static void Generate_InOptimizationQueue(MacroAssembler* masm); | 445 static void Generate_InOptimizationQueue(MacroAssembler* masm); |
451 static void Generate_CompileOptimized(MacroAssembler* masm); | 446 static void Generate_CompileOptimized(MacroAssembler* masm); |
452 static void Generate_CompileOptimizedConcurrent(MacroAssembler* masm); | 447 static void Generate_CompileOptimizedConcurrent(MacroAssembler* masm); |
453 static void Generate_JSConstructStubGeneric(MacroAssembler* masm); | 448 static void Generate_JSConstructStubGeneric(MacroAssembler* masm); |
454 static void Generate_JSBuiltinsConstructStub(MacroAssembler* masm); | 449 static void Generate_JSBuiltinsConstructStub(MacroAssembler* masm); |
455 static void Generate_JSBuiltinsConstructStubForDerived(MacroAssembler* masm); | 450 static void Generate_JSBuiltinsConstructStubForDerived(MacroAssembler* masm); |
456 static void Generate_JSConstructStubApi(MacroAssembler* masm); | 451 static void Generate_JSConstructStubApi(MacroAssembler* masm); |
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
682 friend class BuiltinFunctionTable; | 677 friend class BuiltinFunctionTable; |
683 friend class Isolate; | 678 friend class Isolate; |
684 | 679 |
685 DISALLOW_COPY_AND_ASSIGN(Builtins); | 680 DISALLOW_COPY_AND_ASSIGN(Builtins); |
686 }; | 681 }; |
687 | 682 |
688 } // namespace internal | 683 } // namespace internal |
689 } // namespace v8 | 684 } // namespace v8 |
690 | 685 |
691 #endif // V8_BUILTINS_H_ | 686 #endif // V8_BUILTINS_H_ |
OLD | NEW |