Chromium Code Reviews| 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 |