| 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 |