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