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 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
43 // Args: name | 43 // Args: name |
44 // ASH: Handlers implemented in platform-dependent assembly. | 44 // ASH: Handlers implemented in platform-dependent assembly. |
45 // Args: name, code kind, extra IC state | 45 // Args: name, code kind, extra IC state |
46 // DBG: Builtin in platform-dependent assembly, used by the debugger. | 46 // DBG: Builtin in platform-dependent assembly, used by the debugger. |
47 // Args: name | 47 // Args: name |
48 #define BUILTIN_LIST(CPP, API, TFJ, TFS, ASM, ASH, DBG) \ | 48 #define BUILTIN_LIST(CPP, API, TFJ, TFS, ASM, ASH, DBG) \ |
49 ASM(Abort) \ | 49 ASM(Abort) \ |
50 /* Code aging */ \ | 50 /* Code aging */ \ |
51 CODE_AGE_LIST_WITH_ARG(DECLARE_CODE_AGE_BUILTIN, ASM) \ | 51 CODE_AGE_LIST_WITH_ARG(DECLARE_CODE_AGE_BUILTIN, ASM) \ |
52 \ | 52 \ |
| 53 /* Declared first for dependency reasons */ \ |
| 54 ASM(CompileLazy) \ |
53 TFS(ToObject, BUILTIN, kNoExtraICState, TypeConversion) \ | 55 TFS(ToObject, BUILTIN, kNoExtraICState, TypeConversion) \ |
54 \ | 56 \ |
55 /* Calls */ \ | 57 /* Calls */ \ |
56 ASM(ArgumentsAdaptorTrampoline) \ | 58 ASM(ArgumentsAdaptorTrampoline) \ |
57 /* ES6 section 9.2.1 [[Call]] ( thisArgument, argumentsList) */ \ | 59 /* ES6 section 9.2.1 [[Call]] ( thisArgument, argumentsList) */ \ |
58 ASM(CallFunction_ReceiverIsNullOrUndefined) \ | 60 ASM(CallFunction_ReceiverIsNullOrUndefined) \ |
59 ASM(CallFunction_ReceiverIsNotNullOrUndefined) \ | 61 ASM(CallFunction_ReceiverIsNotNullOrUndefined) \ |
60 ASM(CallFunction_ReceiverIsAny) \ | 62 ASM(CallFunction_ReceiverIsAny) \ |
61 ASM(TailCallFunction_ReceiverIsNullOrUndefined) \ | 63 ASM(TailCallFunction_ReceiverIsNullOrUndefined) \ |
62 ASM(TailCallFunction_ReceiverIsNotNullOrUndefined) \ | 64 ASM(TailCallFunction_ReceiverIsNotNullOrUndefined) \ |
(...skipping 16 matching lines...) Expand all Loading... |
79 ASM(ConstructBoundFunction) \ | 81 ASM(ConstructBoundFunction) \ |
80 ASM(ConstructedNonConstructable) \ | 82 ASM(ConstructedNonConstructable) \ |
81 /* ES6 section 9.5.14 [[Construct]] ( argumentsList, newTarget) */ \ | 83 /* ES6 section 9.5.14 [[Construct]] ( argumentsList, newTarget) */ \ |
82 ASM(ConstructProxy) \ | 84 ASM(ConstructProxy) \ |
83 /* ES6 section 7.3.13 Construct (F, [argumentsList], [newTarget]) */ \ | 85 /* ES6 section 7.3.13 Construct (F, [argumentsList], [newTarget]) */ \ |
84 ASM(Construct) \ | 86 ASM(Construct) \ |
85 ASM(JSConstructStubApi) \ | 87 ASM(JSConstructStubApi) \ |
86 ASM(JSConstructStubGeneric) \ | 88 ASM(JSConstructStubGeneric) \ |
87 ASM(JSBuiltinsConstructStub) \ | 89 ASM(JSBuiltinsConstructStub) \ |
88 ASM(JSBuiltinsConstructStubForDerived) \ | 90 ASM(JSBuiltinsConstructStubForDerived) \ |
| 91 TFS(FastNewClosure, BUILTIN, kNoExtraICState, FastNewClosure) \ |
89 \ | 92 \ |
90 /* Apply and entries */ \ | 93 /* Apply and entries */ \ |
91 ASM(Apply) \ | 94 ASM(Apply) \ |
92 ASM(JSEntryTrampoline) \ | 95 ASM(JSEntryTrampoline) \ |
93 ASM(JSConstructEntryTrampoline) \ | 96 ASM(JSConstructEntryTrampoline) \ |
94 ASM(ResumeGeneratorTrampoline) \ | 97 ASM(ResumeGeneratorTrampoline) \ |
95 \ | 98 \ |
96 /* Stack and interrupt check */ \ | 99 /* Stack and interrupt check */ \ |
97 ASM(InterruptCheck) \ | 100 ASM(InterruptCheck) \ |
98 ASM(StackCheck) \ | 101 ASM(StackCheck) \ |
(...skipping 15 matching lines...) Expand all Loading... |
114 ASM(InterpreterPushArgsAndTailCall) \ | 117 ASM(InterpreterPushArgsAndTailCall) \ |
115 ASM(InterpreterPushArgsAndTailCallFunction) \ | 118 ASM(InterpreterPushArgsAndTailCallFunction) \ |
116 ASM(InterpreterPushArgsAndConstruct) \ | 119 ASM(InterpreterPushArgsAndConstruct) \ |
117 ASM(InterpreterPushArgsAndConstructFunction) \ | 120 ASM(InterpreterPushArgsAndConstructFunction) \ |
118 ASM(InterpreterPushArgsAndConstructArray) \ | 121 ASM(InterpreterPushArgsAndConstructArray) \ |
119 ASM(InterpreterEnterBytecodeAdvance) \ | 122 ASM(InterpreterEnterBytecodeAdvance) \ |
120 ASM(InterpreterEnterBytecodeDispatch) \ | 123 ASM(InterpreterEnterBytecodeDispatch) \ |
121 ASM(InterpreterOnStackReplacement) \ | 124 ASM(InterpreterOnStackReplacement) \ |
122 \ | 125 \ |
123 /* Code life-cycle */ \ | 126 /* Code life-cycle */ \ |
124 ASM(CompileLazy) \ | |
125 ASM(CompileBaseline) \ | 127 ASM(CompileBaseline) \ |
126 ASM(CompileOptimized) \ | 128 ASM(CompileOptimized) \ |
127 ASM(CompileOptimizedConcurrent) \ | 129 ASM(CompileOptimizedConcurrent) \ |
128 ASM(InOptimizationQueue) \ | 130 ASM(InOptimizationQueue) \ |
129 ASM(InstantiateAsmJs) \ | 131 ASM(InstantiateAsmJs) \ |
130 ASM(MarkCodeAsToBeExecutedOnce) \ | 132 ASM(MarkCodeAsToBeExecutedOnce) \ |
131 ASM(MarkCodeAsExecutedOnce) \ | 133 ASM(MarkCodeAsExecutedOnce) \ |
132 ASM(MarkCodeAsExecutedTwice) \ | 134 ASM(MarkCodeAsExecutedTwice) \ |
133 ASM(NotifyDeoptimized) \ | 135 ASM(NotifyDeoptimized) \ |
134 ASM(NotifySoftDeoptimized) \ | 136 ASM(NotifySoftDeoptimized) \ |
(...skipping 719 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
854 | 856 |
855 friend class Isolate; | 857 friend class Isolate; |
856 | 858 |
857 DISALLOW_COPY_AND_ASSIGN(Builtins); | 859 DISALLOW_COPY_AND_ASSIGN(Builtins); |
858 }; | 860 }; |
859 | 861 |
860 } // namespace internal | 862 } // namespace internal |
861 } // namespace v8 | 863 } // namespace v8 |
862 | 864 |
863 #endif // V8_BUILTINS_BUILTINS_H_ | 865 #endif // V8_BUILTINS_BUILTINS_H_ |
OLD | NEW |