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_BUILTINS_H_ | 5 #ifndef V8_BUILTINS_BUILTINS_H_ |
6 #define V8_BUILTINS_BUILTINS_H_ | 6 #define V8_BUILTINS_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 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
82 ASM(ConstructedNonConstructable) \ | 82 ASM(ConstructedNonConstructable) \ |
83 /* ES6 section 9.5.14 [[Construct]] ( argumentsList, newTarget) */ \ | 83 /* ES6 section 9.5.14 [[Construct]] ( argumentsList, newTarget) */ \ |
84 ASM(ConstructProxy) \ | 84 ASM(ConstructProxy) \ |
85 /* ES6 section 7.3.13 Construct (F, [argumentsList], [newTarget]) */ \ | 85 /* ES6 section 7.3.13 Construct (F, [argumentsList], [newTarget]) */ \ |
86 ASM(Construct) \ | 86 ASM(Construct) \ |
87 ASM(JSConstructStubApi) \ | 87 ASM(JSConstructStubApi) \ |
88 ASM(JSConstructStubGeneric) \ | 88 ASM(JSConstructStubGeneric) \ |
89 ASM(JSBuiltinsConstructStub) \ | 89 ASM(JSBuiltinsConstructStub) \ |
90 ASM(JSBuiltinsConstructStubForDerived) \ | 90 ASM(JSBuiltinsConstructStubForDerived) \ |
91 TFS(FastNewClosure, BUILTIN, kNoExtraICState, FastNewClosure) \ | 91 TFS(FastNewClosure, BUILTIN, kNoExtraICState, FastNewClosure) \ |
92 TFS(FastNewFunctionContext_Eval, BUILTIN, kNoExtraICState, \ | |
danno
2016/12/29 10:19:29
total nit, but not many of the other builtins have
mvstanton
2016/12/29 11:10:33
Done.
| |
93 FastNewFunctionContext) \ | |
94 TFS(FastNewFunctionContext_Function, BUILTIN, kNoExtraICState, \ | |
95 FastNewFunctionContext) \ | |
92 \ | 96 \ |
93 /* Apply and entries */ \ | 97 /* Apply and entries */ \ |
94 ASM(Apply) \ | 98 ASM(Apply) \ |
95 ASM(JSEntryTrampoline) \ | 99 ASM(JSEntryTrampoline) \ |
96 ASM(JSConstructEntryTrampoline) \ | 100 ASM(JSConstructEntryTrampoline) \ |
97 ASM(ResumeGeneratorTrampoline) \ | 101 ASM(ResumeGeneratorTrampoline) \ |
98 \ | 102 \ |
99 /* Stack and interrupt check */ \ | 103 /* Stack and interrupt check */ \ |
100 ASM(InterruptCheck) \ | 104 ASM(InterruptCheck) \ |
101 ASM(StackCheck) \ | 105 ASM(StackCheck) \ |
(...skipping 669 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
771 Handle<Code> Call(ConvertReceiverMode = ConvertReceiverMode::kAny, | 775 Handle<Code> Call(ConvertReceiverMode = ConvertReceiverMode::kAny, |
772 TailCallMode tail_call_mode = TailCallMode::kDisallow); | 776 TailCallMode tail_call_mode = TailCallMode::kDisallow); |
773 Handle<Code> CallBoundFunction(TailCallMode tail_call_mode); | 777 Handle<Code> CallBoundFunction(TailCallMode tail_call_mode); |
774 Handle<Code> NonPrimitiveToPrimitive( | 778 Handle<Code> NonPrimitiveToPrimitive( |
775 ToPrimitiveHint hint = ToPrimitiveHint::kDefault); | 779 ToPrimitiveHint hint = ToPrimitiveHint::kDefault); |
776 Handle<Code> OrdinaryToPrimitive(OrdinaryToPrimitiveHint hint); | 780 Handle<Code> OrdinaryToPrimitive(OrdinaryToPrimitiveHint hint); |
777 Handle<Code> InterpreterPushArgsAndCall( | 781 Handle<Code> InterpreterPushArgsAndCall( |
778 TailCallMode tail_call_mode, | 782 TailCallMode tail_call_mode, |
779 CallableType function_type = CallableType::kAny); | 783 CallableType function_type = CallableType::kAny); |
780 Handle<Code> InterpreterPushArgsAndConstruct(CallableType function_type); | 784 Handle<Code> InterpreterPushArgsAndConstruct(CallableType function_type); |
785 Handle<Code> NewFunctionContext(ScopeType scope_type); | |
781 | 786 |
782 Code* builtin(Name name) { | 787 Code* builtin(Name name) { |
783 // Code::cast cannot be used here since we access builtins | 788 // Code::cast cannot be used here since we access builtins |
784 // during the marking phase of mark sweep. See IC::Clear. | 789 // during the marking phase of mark sweep. See IC::Clear. |
785 return reinterpret_cast<Code*>(builtins_[name]); | 790 return reinterpret_cast<Code*>(builtins_[name]); |
786 } | 791 } |
787 | 792 |
788 Address builtin_address(Name name) { | 793 Address builtin_address(Name name) { |
789 return reinterpret_cast<Address>(&builtins_[name]); | 794 return reinterpret_cast<Address>(&builtins_[name]); |
790 } | 795 } |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
856 | 861 |
857 friend class Isolate; | 862 friend class Isolate; |
858 | 863 |
859 DISALLOW_COPY_AND_ASSIGN(Builtins); | 864 DISALLOW_COPY_AND_ASSIGN(Builtins); |
860 }; | 865 }; |
861 | 866 |
862 } // namespace internal | 867 } // namespace internal |
863 } // namespace v8 | 868 } // namespace v8 |
864 | 869 |
865 #endif // V8_BUILTINS_BUILTINS_H_ | 870 #endif // V8_BUILTINS_BUILTINS_H_ |
OLD | NEW |