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 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
87 ASM(Construct) \ | 87 ASM(Construct) \ |
88 ASM(JSConstructStubApi) \ | 88 ASM(JSConstructStubApi) \ |
89 ASM(JSConstructStubGeneric) \ | 89 ASM(JSConstructStubGeneric) \ |
90 ASM(JSBuiltinsConstructStub) \ | 90 ASM(JSBuiltinsConstructStub) \ |
91 ASM(JSBuiltinsConstructStubForDerived) \ | 91 ASM(JSBuiltinsConstructStubForDerived) \ |
92 TFS(FastNewClosure, BUILTIN, kNoExtraICState, FastNewClosure) \ | 92 TFS(FastNewClosure, BUILTIN, kNoExtraICState, FastNewClosure) \ |
93 TFS(FastNewFunctionContextEval, BUILTIN, kNoExtraICState, \ | 93 TFS(FastNewFunctionContextEval, BUILTIN, kNoExtraICState, \ |
94 FastNewFunctionContext) \ | 94 FastNewFunctionContext) \ |
95 TFS(FastNewFunctionContextFunction, BUILTIN, kNoExtraICState, \ | 95 TFS(FastNewFunctionContextFunction, BUILTIN, kNoExtraICState, \ |
96 FastNewFunctionContext) \ | 96 FastNewFunctionContext) \ |
| 97 TFS(FastCloneRegExp, BUILTIN, kNoExtraICState, FastCloneRegExp) \ |
| 98 TFS(FastCloneShallowArrayTrack, BUILTIN, kNoExtraICState, \ |
| 99 FastCloneShallowArray) \ |
| 100 TFS(FastCloneShallowArrayDontTrack, BUILTIN, kNoExtraICState, \ |
| 101 FastCloneShallowArray) \ |
| 102 TFS(FastCloneShallowObject0, BUILTIN, kNoExtraICState, \ |
| 103 FastCloneShallowObject) \ |
| 104 TFS(FastCloneShallowObject1, BUILTIN, kNoExtraICState, \ |
| 105 FastCloneShallowObject) \ |
| 106 TFS(FastCloneShallowObject2, BUILTIN, kNoExtraICState, \ |
| 107 FastCloneShallowObject) \ |
| 108 TFS(FastCloneShallowObject3, BUILTIN, kNoExtraICState, \ |
| 109 FastCloneShallowObject) \ |
| 110 TFS(FastCloneShallowObject4, BUILTIN, kNoExtraICState, \ |
| 111 FastCloneShallowObject) \ |
| 112 TFS(FastCloneShallowObject5, BUILTIN, kNoExtraICState, \ |
| 113 FastCloneShallowObject) \ |
| 114 TFS(FastCloneShallowObject6, BUILTIN, kNoExtraICState, \ |
| 115 FastCloneShallowObject) \ |
97 \ | 116 \ |
98 /* Apply and entries */ \ | 117 /* Apply and entries */ \ |
99 ASM(Apply) \ | 118 ASM(Apply) \ |
100 ASM(JSEntryTrampoline) \ | 119 ASM(JSEntryTrampoline) \ |
101 ASM(JSConstructEntryTrampoline) \ | 120 ASM(JSConstructEntryTrampoline) \ |
102 ASM(ResumeGeneratorTrampoline) \ | 121 ASM(ResumeGeneratorTrampoline) \ |
103 \ | 122 \ |
104 /* Stack and interrupt check */ \ | 123 /* Stack and interrupt check */ \ |
105 ASM(InterruptCheck) \ | 124 ASM(InterruptCheck) \ |
106 ASM(StackCheck) \ | 125 ASM(StackCheck) \ |
(...skipping 670 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
777 TailCallMode tail_call_mode = TailCallMode::kDisallow); | 796 TailCallMode tail_call_mode = TailCallMode::kDisallow); |
778 Handle<Code> CallBoundFunction(TailCallMode tail_call_mode); | 797 Handle<Code> CallBoundFunction(TailCallMode tail_call_mode); |
779 Handle<Code> NonPrimitiveToPrimitive( | 798 Handle<Code> NonPrimitiveToPrimitive( |
780 ToPrimitiveHint hint = ToPrimitiveHint::kDefault); | 799 ToPrimitiveHint hint = ToPrimitiveHint::kDefault); |
781 Handle<Code> OrdinaryToPrimitive(OrdinaryToPrimitiveHint hint); | 800 Handle<Code> OrdinaryToPrimitive(OrdinaryToPrimitiveHint hint); |
782 Handle<Code> InterpreterPushArgsAndCall( | 801 Handle<Code> InterpreterPushArgsAndCall( |
783 TailCallMode tail_call_mode, | 802 TailCallMode tail_call_mode, |
784 CallableType function_type = CallableType::kAny); | 803 CallableType function_type = CallableType::kAny); |
785 Handle<Code> InterpreterPushArgsAndConstruct(CallableType function_type); | 804 Handle<Code> InterpreterPushArgsAndConstruct(CallableType function_type); |
786 Handle<Code> NewFunctionContext(ScopeType scope_type); | 805 Handle<Code> NewFunctionContext(ScopeType scope_type); |
| 806 Handle<Code> NewCloneShallowArray(AllocationSiteMode allocation_mode); |
| 807 Handle<Code> NewCloneShallowObject(int length); |
787 | 808 |
788 Code* builtin(Name name) { | 809 Code* builtin(Name name) { |
789 // Code::cast cannot be used here since we access builtins | 810 // Code::cast cannot be used here since we access builtins |
790 // during the marking phase of mark sweep. See IC::Clear. | 811 // during the marking phase of mark sweep. See IC::Clear. |
791 return reinterpret_cast<Code*>(builtins_[name]); | 812 return reinterpret_cast<Code*>(builtins_[name]); |
792 } | 813 } |
793 | 814 |
794 Address builtin_address(Name name) { | 815 Address builtin_address(Name name) { |
795 return reinterpret_cast<Address>(&builtins_[name]); | 816 return reinterpret_cast<Address>(&builtins_[name]); |
796 } | 817 } |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
862 | 883 |
863 friend class Isolate; | 884 friend class Isolate; |
864 | 885 |
865 DISALLOW_COPY_AND_ASSIGN(Builtins); | 886 DISALLOW_COPY_AND_ASSIGN(Builtins); |
866 }; | 887 }; |
867 | 888 |
868 } // namespace internal | 889 } // namespace internal |
869 } // namespace v8 | 890 } // namespace v8 |
870 | 891 |
871 #endif // V8_BUILTINS_BUILTINS_H_ | 892 #endif // V8_BUILTINS_BUILTINS_H_ |
OLD | NEW |