Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(587)

Side by Side Diff: src/builtins/builtins-definitions.h

Issue 2777203007: [builtins] Introduce new TFC macro and auto-generate TFS descriptors (Closed)
Patch Set: Rebase Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/builtins/builtins-async-generator-gen.cc ('k') | src/builtins/builtins-descriptors.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2017 the V8 project authors. All rights reserved. 1 // Copyright 2017 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_DEFINITIONS_H_ 5 #ifndef V8_BUILTINS_BUILTINS_DEFINITIONS_H_
6 #define V8_BUILTINS_BUILTINS_DEFINITIONS_H_ 6 #define V8_BUILTINS_BUILTINS_DEFINITIONS_H_
7 7
8 namespace v8 { 8 namespace v8 {
9 namespace internal { 9 namespace internal {
10 10
(...skipping 17 matching lines...) Expand all
28 28
29 #define DECLARE_CODE_AGE_BUILTIN(C, V) V(Make##C##CodeYoungAgain) 29 #define DECLARE_CODE_AGE_BUILTIN(C, V) V(Make##C##CodeYoungAgain)
30 30
31 // CPP: Builtin in C++. Entered via BUILTIN_EXIT frame. 31 // CPP: Builtin in C++. Entered via BUILTIN_EXIT frame.
32 // Args: name 32 // Args: name
33 // API: Builtin in C++ for API callbacks. Entered via EXIT frame. 33 // API: Builtin in C++ for API callbacks. Entered via EXIT frame.
34 // Args: name 34 // Args: name
35 // TFJ: Builtin in Turbofan, with JS linkage (callable as Javascript function). 35 // TFJ: Builtin in Turbofan, with JS linkage (callable as Javascript function).
36 // Args: name, arguments count, explicit argument names... 36 // Args: name, arguments count, explicit argument names...
37 // TFS: Builtin in Turbofan, with CodeStub linkage. 37 // TFS: Builtin in Turbofan, with CodeStub linkage.
38 // Args: name, explicit argument names...
39 // TFC: Builtin in Turbofan, with CodeStub linkage and custom descriptor.
38 // Args: name, interface descriptor, return_size 40 // Args: name, interface descriptor, return_size
39 // TFH: Handlers in Turbofan, with CodeStub linkage. 41 // TFH: Handlers in Turbofan, with CodeStub linkage.
40 // Args: name, code kind, extra IC state, interface descriptor 42 // Args: name, code kind, extra IC state, interface descriptor
41 // ASM: Builtin in platform-dependent assembly. 43 // ASM: Builtin in platform-dependent assembly.
42 // Args: name 44 // Args: name
43 // DBG: Builtin in platform-dependent assembly, used by the debugger. 45 // DBG: Builtin in platform-dependent assembly, used by the debugger.
44 // Args: name 46 // Args: name
45 47
46 #define BUILTIN_LIST_BASE(CPP, API, TFJ, TFS, TFH, ASM, DBG) \ 48 #define BUILTIN_LIST_BASE(CPP, API, TFJ, TFC, TFS, TFH, ASM, DBG) \
47 ASM(Abort) \ 49 ASM(Abort) \
48 /* Code aging */ \ 50 /* Code aging */ \
49 CODE_AGE_LIST_WITH_ARG(DECLARE_CODE_AGE_BUILTIN, ASM) \ 51 CODE_AGE_LIST_WITH_ARG(DECLARE_CODE_AGE_BUILTIN, ASM) \
50 \ 52 \
51 /* Declared first for dependency reasons */ \ 53 /* Declared first for dependency reasons */ \
52 ASM(CompileLazy) \ 54 ASM(CompileLazy) \
53 TFS(ToObject, TypeConversion, 1) \ 55 TFC(ToObject, TypeConversion, 1) \
54 TFS(FastNewObject, FastNewObject, 1) \ 56 TFC(FastNewObject, FastNewObject, 1) \
55 TFS(HasProperty, HasProperty, 1) \ 57 TFS(HasProperty, kKey, kObject) \
56 \ 58 \
57 /* Calls */ \ 59 /* Calls */ \
58 ASM(ArgumentsAdaptorTrampoline) \ 60 ASM(ArgumentsAdaptorTrampoline) \
59 /* ES6 section 9.2.1 [[Call]] ( thisArgument, argumentsList) */ \ 61 /* ES6 section 9.2.1 [[Call]] ( thisArgument, argumentsList) */ \
60 ASM(CallFunction_ReceiverIsNullOrUndefined) \ 62 ASM(CallFunction_ReceiverIsNullOrUndefined) \
61 ASM(CallFunction_ReceiverIsNotNullOrUndefined) \ 63 ASM(CallFunction_ReceiverIsNotNullOrUndefined) \
62 ASM(CallFunction_ReceiverIsAny) \ 64 ASM(CallFunction_ReceiverIsAny) \
63 ASM(TailCallFunction_ReceiverIsNullOrUndefined) \ 65 ASM(TailCallFunction_ReceiverIsNullOrUndefined) \
64 ASM(TailCallFunction_ReceiverIsNotNullOrUndefined) \ 66 ASM(TailCallFunction_ReceiverIsNotNullOrUndefined) \
65 ASM(TailCallFunction_ReceiverIsAny) \ 67 ASM(TailCallFunction_ReceiverIsAny) \
(...skipping 19 matching lines...) Expand all
85 ASM(ConstructedNonConstructable) \ 87 ASM(ConstructedNonConstructable) \
86 /* ES6 section 9.5.14 [[Construct]] ( argumentsList, newTarget) */ \ 88 /* ES6 section 9.5.14 [[Construct]] ( argumentsList, newTarget) */ \
87 ASM(ConstructProxy) \ 89 ASM(ConstructProxy) \
88 /* ES6 section 7.3.13 Construct (F, [argumentsList], [newTarget]) */ \ 90 /* ES6 section 7.3.13 Construct (F, [argumentsList], [newTarget]) */ \
89 ASM(Construct) \ 91 ASM(Construct) \
90 ASM(ConstructWithSpread) \ 92 ASM(ConstructWithSpread) \
91 ASM(JSConstructStubApi) \ 93 ASM(JSConstructStubApi) \
92 ASM(JSConstructStubGeneric) \ 94 ASM(JSConstructStubGeneric) \
93 ASM(JSBuiltinsConstructStub) \ 95 ASM(JSBuiltinsConstructStub) \
94 ASM(JSBuiltinsConstructStubForDerived) \ 96 ASM(JSBuiltinsConstructStubForDerived) \
95 TFS(FastNewClosure, FastNewClosure, 1) \ 97 TFC(FastNewClosure, FastNewClosure, 1) \
96 TFS(FastNewFunctionContextEval, FastNewFunctionContext, 1) \ 98 TFC(FastNewFunctionContextEval, FastNewFunctionContext, 1) \
97 TFS(FastNewFunctionContextFunction, FastNewFunctionContext, 1) \ 99 TFC(FastNewFunctionContextFunction, FastNewFunctionContext, 1) \
98 TFS(FastNewStrictArguments, FastNewArguments, 1) \ 100 TFC(FastNewStrictArguments, FastNewArguments, 1) \
99 TFS(FastNewSloppyArguments, FastNewArguments, 1) \ 101 TFC(FastNewSloppyArguments, FastNewArguments, 1) \
100 TFS(FastNewRestParameter, FastNewArguments, 1) \ 102 TFC(FastNewRestParameter, FastNewArguments, 1) \
101 TFS(FastCloneRegExp, FastCloneRegExp, 1) \ 103 TFC(FastCloneRegExp, FastCloneRegExp, 1) \
102 TFS(FastCloneShallowArrayTrack, FastCloneShallowArray, 1) \ 104 TFC(FastCloneShallowArrayTrack, FastCloneShallowArray, 1) \
103 TFS(FastCloneShallowArrayDontTrack, FastCloneShallowArray, 1) \ 105 TFC(FastCloneShallowArrayDontTrack, FastCloneShallowArray, 1) \
104 TFS(FastCloneShallowObject0, FastCloneShallowObject, 1) \ 106 TFC(FastCloneShallowObject0, FastCloneShallowObject, 1) \
105 TFS(FastCloneShallowObject1, FastCloneShallowObject, 1) \ 107 TFC(FastCloneShallowObject1, FastCloneShallowObject, 1) \
106 TFS(FastCloneShallowObject2, FastCloneShallowObject, 1) \ 108 TFC(FastCloneShallowObject2, FastCloneShallowObject, 1) \
107 TFS(FastCloneShallowObject3, FastCloneShallowObject, 1) \ 109 TFC(FastCloneShallowObject3, FastCloneShallowObject, 1) \
108 TFS(FastCloneShallowObject4, FastCloneShallowObject, 1) \ 110 TFC(FastCloneShallowObject4, FastCloneShallowObject, 1) \
109 TFS(FastCloneShallowObject5, FastCloneShallowObject, 1) \ 111 TFC(FastCloneShallowObject5, FastCloneShallowObject, 1) \
110 TFS(FastCloneShallowObject6, FastCloneShallowObject, 1) \ 112 TFC(FastCloneShallowObject6, FastCloneShallowObject, 1) \
111 \ 113 \
112 /* Apply and entries */ \ 114 /* Apply and entries */ \
113 ASM(Apply) \ 115 ASM(Apply) \
114 ASM(JSEntryTrampoline) \ 116 ASM(JSEntryTrampoline) \
115 ASM(JSConstructEntryTrampoline) \ 117 ASM(JSConstructEntryTrampoline) \
116 ASM(ResumeGeneratorTrampoline) \ 118 ASM(ResumeGeneratorTrampoline) \
117 \ 119 \
118 /* Stack and interrupt check */ \ 120 /* Stack and interrupt check */ \
119 ASM(InterruptCheck) \ 121 ASM(InterruptCheck) \
120 ASM(StackCheck) \ 122 ASM(StackCheck) \
121 \ 123 \
122 /* String helpers */ \ 124 /* String helpers */ \
123 TFS(StringCharAt, StringCharAt, 1) \ 125 TFC(StringCharAt, StringCharAt, 1) \
124 TFS(StringCharCodeAt, StringCharCodeAt, 1) \ 126 TFC(StringCharCodeAt, StringCharCodeAt, 1) \
125 TFS(StringEqual, Compare, 1) \ 127 TFC(StringEqual, Compare, 1) \
126 TFS(StringGreaterThan, Compare, 1) \ 128 TFC(StringGreaterThan, Compare, 1) \
127 TFS(StringGreaterThanOrEqual, Compare, 1) \ 129 TFC(StringGreaterThanOrEqual, Compare, 1) \
128 TFS(StringIndexOf, StringIndexOf, 1) \ 130 TFS(StringIndexOf, kReceiver, kSearchString, kPosition) \
129 TFS(StringLessThan, Compare, 1) \ 131 TFC(StringLessThan, Compare, 1) \
130 TFS(StringLessThanOrEqual, Compare, 1) \ 132 TFC(StringLessThanOrEqual, Compare, 1) \
131 \ 133 \
132 /* Interpreter */ \ 134 /* Interpreter */ \
133 ASM(InterpreterEntryTrampoline) \ 135 ASM(InterpreterEntryTrampoline) \
134 ASM(InterpreterPushArgsAndCall) \ 136 ASM(InterpreterPushArgsAndCall) \
135 ASM(InterpreterPushArgsAndCallFunction) \ 137 ASM(InterpreterPushArgsAndCallFunction) \
136 ASM(InterpreterPushArgsAndCallWithFinalSpread) \ 138 ASM(InterpreterPushArgsAndCallWithFinalSpread) \
137 ASM(InterpreterPushArgsAndTailCall) \ 139 ASM(InterpreterPushArgsAndTailCall) \
138 ASM(InterpreterPushArgsAndTailCallFunction) \ 140 ASM(InterpreterPushArgsAndTailCallFunction) \
139 ASM(InterpreterPushArgsAndConstruct) \ 141 ASM(InterpreterPushArgsAndConstruct) \
140 ASM(InterpreterPushArgsAndConstructFunction) \ 142 ASM(InterpreterPushArgsAndConstructFunction) \
(...skipping 21 matching lines...) Expand all
162 /* API callback handling */ \ 164 /* API callback handling */ \
163 API(HandleApiCall) \ 165 API(HandleApiCall) \
164 API(HandleApiCallAsFunction) \ 166 API(HandleApiCallAsFunction) \
165 API(HandleApiCallAsConstructor) \ 167 API(HandleApiCallAsConstructor) \
166 \ 168 \
167 /* Adapters for Turbofan into runtime */ \ 169 /* Adapters for Turbofan into runtime */ \
168 ASM(AllocateInNewSpace) \ 170 ASM(AllocateInNewSpace) \
169 ASM(AllocateInOldSpace) \ 171 ASM(AllocateInOldSpace) \
170 \ 172 \
171 /* TurboFan support builtins */ \ 173 /* TurboFan support builtins */ \
172 TFS(CopyFastSmiOrObjectElements, CopyFastSmiOrObjectElements, 1) \ 174 TFS(CopyFastSmiOrObjectElements, kObject) \
173 TFS(GrowFastDoubleElements, GrowArrayElements, 1) \ 175 TFC(GrowFastDoubleElements, GrowArrayElements, 1) \
174 TFS(GrowFastSmiOrObjectElements, GrowArrayElements, 1) \ 176 TFC(GrowFastSmiOrObjectElements, GrowArrayElements, 1) \
175 TFS(NewUnmappedArgumentsElements, NewArgumentsElements, 1) \ 177 TFC(NewUnmappedArgumentsElements, NewArgumentsElements, 1) \
176 \ 178 \
177 /* Debugger */ \ 179 /* Debugger */ \
178 DBG(FrameDropperTrampoline) \ 180 DBG(FrameDropperTrampoline) \
179 DBG(HandleDebuggerStatement) \ 181 DBG(HandleDebuggerStatement) \
180 DBG(Return_DebugBreak) \ 182 DBG(Return_DebugBreak) \
181 DBG(Slot_DebugBreak) \ 183 DBG(Slot_DebugBreak) \
182 \ 184 \
183 /* Type conversions */ \ 185 /* Type conversions */ \
184 TFS(ToBoolean, TypeConversion, 1) \ 186 TFC(ToBoolean, TypeConversion, 1) \
185 TFS(OrdinaryToPrimitive_Number, TypeConversion, 1) \ 187 TFC(OrdinaryToPrimitive_Number, TypeConversion, 1) \
186 TFS(OrdinaryToPrimitive_String, TypeConversion, 1) \ 188 TFC(OrdinaryToPrimitive_String, TypeConversion, 1) \
187 TFS(NonPrimitiveToPrimitive_Default, TypeConversion, 1) \ 189 TFC(NonPrimitiveToPrimitive_Default, TypeConversion, 1) \
188 TFS(NonPrimitiveToPrimitive_Number, TypeConversion, 1) \ 190 TFC(NonPrimitiveToPrimitive_Number, TypeConversion, 1) \
189 TFS(NonPrimitiveToPrimitive_String, TypeConversion, 1) \ 191 TFC(NonPrimitiveToPrimitive_String, TypeConversion, 1) \
190 TFS(StringToNumber, TypeConversion, 1) \ 192 TFC(StringToNumber, TypeConversion, 1) \
191 TFS(ToName, TypeConversion, 1) \ 193 TFC(ToName, TypeConversion, 1) \
192 TFS(NonNumberToNumber, TypeConversion, 1) \ 194 TFC(NonNumberToNumber, TypeConversion, 1) \
193 TFS(ToNumber, TypeConversion, 1) \ 195 TFC(ToNumber, TypeConversion, 1) \
194 TFS(ToString, TypeConversion, 1) \ 196 TFC(ToString, TypeConversion, 1) \
195 TFS(ToInteger, TypeConversion, 1) \ 197 TFC(ToInteger, TypeConversion, 1) \
196 TFS(ToLength, TypeConversion, 1) \ 198 TFC(ToLength, TypeConversion, 1) \
197 TFS(ClassOf, Typeof, 1) \ 199 TFC(ClassOf, Typeof, 1) \
198 TFS(Typeof, Typeof, 1) \ 200 TFC(Typeof, Typeof, 1) \
199 TFS(GetSuperConstructor, Typeof, 1) \ 201 TFC(GetSuperConstructor, Typeof, 1) \
200 \ 202 \
201 /* Handlers */ \ 203 /* Handlers */ \
202 TFH(LoadICProtoArray, BUILTIN, kNoExtraICState, LoadICProtoArray) \ 204 TFH(LoadICProtoArray, BUILTIN, kNoExtraICState, LoadICProtoArray) \
203 TFH(LoadICProtoArrayThrowIfNonexistent, BUILTIN, kNoExtraICState, \ 205 TFH(LoadICProtoArrayThrowIfNonexistent, BUILTIN, kNoExtraICState, \
204 LoadICProtoArray) \ 206 LoadICProtoArray) \
205 TFH(KeyedLoadIC_Megamorphic, BUILTIN, kNoExtraICState, LoadWithVector) \ 207 TFH(KeyedLoadIC_Megamorphic, BUILTIN, kNoExtraICState, LoadWithVector) \
206 TFH(KeyedLoadIC_Miss, BUILTIN, kNoExtraICState, LoadWithVector) \ 208 TFH(KeyedLoadIC_Miss, BUILTIN, kNoExtraICState, LoadWithVector) \
207 TFH(KeyedLoadIC_Slow, HANDLER, Code::LOAD_IC, LoadWithVector) \ 209 TFH(KeyedLoadIC_Slow, HANDLER, Code::LOAD_IC, LoadWithVector) \
208 TFH(KeyedLoadIC_IndexedString, HANDLER, Code::LOAD_IC, LoadWithVector) \ 210 TFH(KeyedLoadIC_IndexedString, HANDLER, Code::LOAD_IC, LoadWithVector) \
209 TFH(KeyedStoreIC_Megamorphic, BUILTIN, kNoExtraICState, StoreWithVector) \ 211 TFH(KeyedStoreIC_Megamorphic, BUILTIN, kNoExtraICState, StoreWithVector) \
210 TFH(KeyedStoreIC_Megamorphic_Strict, BUILTIN, kNoExtraICState, \ 212 TFH(KeyedStoreIC_Megamorphic_Strict, BUILTIN, kNoExtraICState, \
211 StoreWithVector) \ 213 StoreWithVector) \
212 TFH(KeyedStoreIC_Miss, BUILTIN, kNoExtraICState, StoreWithVector) \ 214 TFH(KeyedStoreIC_Miss, BUILTIN, kNoExtraICState, StoreWithVector) \
213 TFH(KeyedStoreIC_Slow, HANDLER, Code::STORE_IC, StoreWithVector) \ 215 TFH(KeyedStoreIC_Slow, HANDLER, Code::STORE_IC, StoreWithVector) \
214 TFH(LoadGlobalIC_Miss, BUILTIN, kNoExtraICState, LoadGlobalWithVector) \ 216 TFH(LoadGlobalIC_Miss, BUILTIN, kNoExtraICState, LoadGlobalWithVector) \
215 TFH(LoadGlobalIC_Slow, HANDLER, Code::LOAD_GLOBAL_IC, LoadGlobalWithVector) \ 217 TFH(LoadGlobalIC_Slow, HANDLER, Code::LOAD_GLOBAL_IC, LoadGlobalWithVector) \
216 TFH(LoadField, BUILTIN, kNoExtraICState, LoadField) \ 218 TFH(LoadField, BUILTIN, kNoExtraICState, LoadField) \
217 TFH(LoadIC_FunctionPrototype, HANDLER, Code::LOAD_IC, LoadWithVector) \ 219 TFH(LoadIC_FunctionPrototype, HANDLER, Code::LOAD_IC, LoadWithVector) \
218 ASM(LoadIC_Getter_ForDeopt) \ 220 ASM(LoadIC_Getter_ForDeopt) \
219 TFH(LoadIC_Miss, BUILTIN, kNoExtraICState, LoadWithVector) \ 221 TFH(LoadIC_Miss, BUILTIN, kNoExtraICState, LoadWithVector) \
220 TFH(LoadIC_Slow, HANDLER, Code::LOAD_IC, LoadWithVector) \ 222 TFH(LoadIC_Slow, HANDLER, Code::LOAD_IC, LoadWithVector) \
221 TFH(LoadIC_Uninitialized, BUILTIN, kNoExtraICState, LoadWithVector) \ 223 TFH(LoadIC_Uninitialized, BUILTIN, kNoExtraICState, LoadWithVector) \
222 TFH(StoreIC_Miss, BUILTIN, kNoExtraICState, StoreWithVector) \ 224 TFH(StoreIC_Miss, BUILTIN, kNoExtraICState, StoreWithVector) \
223 ASM(StoreIC_Setter_ForDeopt) \ 225 ASM(StoreIC_Setter_ForDeopt) \
224 TFH(StoreIC_Uninitialized, BUILTIN, kNoExtraICState, StoreWithVector) \ 226 TFH(StoreIC_Uninitialized, BUILTIN, kNoExtraICState, StoreWithVector) \
225 TFH(StoreICStrict_Uninitialized, BUILTIN, kNoExtraICState, StoreWithVector) \ 227 TFH(StoreICStrict_Uninitialized, BUILTIN, kNoExtraICState, StoreWithVector) \
226 \ 228 \
227 TFS(ResolveNativePromise, ResolveNativePromise, 1) \ 229 TFS(ResolveNativePromise, kPromise, kValue) \
228 TFS(RejectNativePromise, RejectNativePromise, 1) \ 230 TFS(RejectNativePromise, kPromise, kValue, kDebugEvent) \
229 TFS(PerformNativePromiseThen, PerformNativePromiseThen, 1) \ 231 TFS(PerformNativePromiseThen, kPromise, kResolveReaction, kRejectReaction, \
232 kResultPromise) \
230 \ 233 \
231 /* Built-in functions for Javascript */ \ 234 /* Built-in functions for Javascript */ \
232 /* Special internal builtins */ \ 235 /* Special internal builtins */ \
233 CPP(EmptyFunction) \ 236 CPP(EmptyFunction) \
234 CPP(Illegal) \ 237 CPP(Illegal) \
235 CPP(RestrictedFunctionPropertiesThrower) \ 238 CPP(RestrictedFunctionPropertiesThrower) \
236 CPP(RestrictedStrictArgumentsPropertiesThrower) \ 239 CPP(RestrictedStrictArgumentsPropertiesThrower) \
237 CPP(UnsupportedThrower) \ 240 CPP(UnsupportedThrower) \
238 TFJ(ReturnReceiver, 0) \ 241 TFJ(ReturnReceiver, 0) \
239 \ 242 \
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after
450 /* ES6 #sec-function.prototype.bind */ \ 453 /* ES6 #sec-function.prototype.bind */ \
451 TFJ(FastFunctionPrototypeBind, \ 454 TFJ(FastFunctionPrototypeBind, \
452 SharedFunctionInfo::kDontAdaptArgumentsSentinel) \ 455 SharedFunctionInfo::kDontAdaptArgumentsSentinel) \
453 ASM(FunctionPrototypeCall) \ 456 ASM(FunctionPrototypeCall) \
454 /* ES6 #sec-function.prototype-@@hasinstance */ \ 457 /* ES6 #sec-function.prototype-@@hasinstance */ \
455 TFJ(FunctionPrototypeHasInstance, 1, kV) \ 458 TFJ(FunctionPrototypeHasInstance, 1, kV) \
456 /* ES6 #sec-function.prototype.tostring */ \ 459 /* ES6 #sec-function.prototype.tostring */ \
457 CPP(FunctionPrototypeToString) \ 460 CPP(FunctionPrototypeToString) \
458 \ 461 \
459 /* Belongs to Objects but is a dependency of GeneratorPrototypeResume */ \ 462 /* Belongs to Objects but is a dependency of GeneratorPrototypeResume */ \
460 TFS(CreateIterResultObject, CreateIterResultObject, 1) \ 463 TFS(CreateIterResultObject, kValue, kDone) \
461 \ 464 \
462 /* Generator and Async */ \ 465 /* Generator and Async */ \
463 CPP(GeneratorFunctionConstructor) \ 466 CPP(GeneratorFunctionConstructor) \
464 /* ES6 #sec-generator.prototype.next */ \ 467 /* ES6 #sec-generator.prototype.next */ \
465 TFJ(GeneratorPrototypeNext, 1, kValue) \ 468 TFJ(GeneratorPrototypeNext, 1, kValue) \
466 /* ES6 #sec-generator.prototype.return */ \ 469 /* ES6 #sec-generator.prototype.return */ \
467 TFJ(GeneratorPrototypeReturn, 1, kValue) \ 470 TFJ(GeneratorPrototypeReturn, 1, kValue) \
468 /* ES6 #sec-generator.prototype.throw */ \ 471 /* ES6 #sec-generator.prototype.throw */ \
469 TFJ(GeneratorPrototypeThrow, 1, kException) \ 472 TFJ(GeneratorPrototypeThrow, 1, kException) \
470 CPP(AsyncFunctionConstructor) \ 473 CPP(AsyncFunctionConstructor) \
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
596 TFJ(NumberParseFloat, 1, kString) \ 599 TFJ(NumberParseFloat, 1, kString) \
597 /* ES6 #sec-number.parseint */ \ 600 /* ES6 #sec-number.parseint */ \
598 TFJ(NumberParseInt, 2, kString, kRadix) \ 601 TFJ(NumberParseInt, 2, kString, kRadix) \
599 CPP(NumberPrototypeToExponential) \ 602 CPP(NumberPrototypeToExponential) \
600 CPP(NumberPrototypeToFixed) \ 603 CPP(NumberPrototypeToFixed) \
601 CPP(NumberPrototypeToLocaleString) \ 604 CPP(NumberPrototypeToLocaleString) \
602 CPP(NumberPrototypeToPrecision) \ 605 CPP(NumberPrototypeToPrecision) \
603 CPP(NumberPrototypeToString) \ 606 CPP(NumberPrototypeToString) \
604 /* ES6 #sec-number.prototype.valueof */ \ 607 /* ES6 #sec-number.prototype.valueof */ \
605 TFJ(NumberPrototypeValueOf, 0) \ 608 TFJ(NumberPrototypeValueOf, 0) \
606 TFS(Add, BinaryOp, 1) \ 609 TFC(Add, BinaryOp, 1) \
607 TFS(Subtract, BinaryOp, 1) \ 610 TFC(Subtract, BinaryOp, 1) \
608 TFS(Multiply, BinaryOp, 1) \ 611 TFC(Multiply, BinaryOp, 1) \
609 TFS(Divide, BinaryOp, 1) \ 612 TFC(Divide, BinaryOp, 1) \
610 TFS(Modulus, BinaryOp, 1) \ 613 TFC(Modulus, BinaryOp, 1) \
611 TFS(BitwiseAnd, BinaryOp, 1) \ 614 TFC(BitwiseAnd, BinaryOp, 1) \
612 TFS(BitwiseOr, BinaryOp, 1) \ 615 TFC(BitwiseOr, BinaryOp, 1) \
613 TFS(BitwiseXor, BinaryOp, 1) \ 616 TFC(BitwiseXor, BinaryOp, 1) \
614 TFS(ShiftLeft, BinaryOp, 1) \ 617 TFC(ShiftLeft, BinaryOp, 1) \
615 TFS(ShiftRight, BinaryOp, 1) \ 618 TFC(ShiftRight, BinaryOp, 1) \
616 TFS(ShiftRightLogical, BinaryOp, 1) \ 619 TFC(ShiftRightLogical, BinaryOp, 1) \
617 TFS(LessThan, Compare, 1) \ 620 TFC(LessThan, Compare, 1) \
618 TFS(LessThanOrEqual, Compare, 1) \ 621 TFC(LessThanOrEqual, Compare, 1) \
619 TFS(GreaterThan, Compare, 1) \ 622 TFC(GreaterThan, Compare, 1) \
620 TFS(GreaterThanOrEqual, Compare, 1) \ 623 TFC(GreaterThanOrEqual, Compare, 1) \
621 TFS(Equal, Compare, 1) \ 624 TFC(Equal, Compare, 1) \
622 TFS(StrictEqual, Compare, 1) \ 625 TFC(StrictEqual, Compare, 1) \
623 TFS(AddWithFeedback, BinaryOpWithVector, 1) \ 626 TFC(AddWithFeedback, BinaryOpWithVector, 1) \
624 TFS(SubtractWithFeedback, BinaryOpWithVector, 1) \ 627 TFC(SubtractWithFeedback, BinaryOpWithVector, 1) \
625 \ 628 \
626 /* Object */ \ 629 /* Object */ \
627 CPP(ObjectAssign) \ 630 CPP(ObjectAssign) \
628 /* ES #sec-object.create */ \ 631 /* ES #sec-object.create */ \
629 TFJ(ObjectCreate, 2, kPrototype, kProperties) \ 632 TFJ(ObjectCreate, 2, kPrototype, kProperties) \
630 CPP(ObjectDefineGetter) \ 633 CPP(ObjectDefineGetter) \
631 CPP(ObjectDefineProperties) \ 634 CPP(ObjectDefineProperties) \
632 CPP(ObjectDefineProperty) \ 635 CPP(ObjectDefineProperty) \
633 CPP(ObjectDefineSetter) \ 636 CPP(ObjectDefineSetter) \
634 CPP(ObjectEntries) \ 637 CPP(ObjectEntries) \
(...skipping 18 matching lines...) Expand all
653 TFJ(ObjectProtoToString, 0) \ 656 TFJ(ObjectProtoToString, 0) \
654 /* ES6 #sec-object.prototype.valueof */ \ 657 /* ES6 #sec-object.prototype.valueof */ \
655 TFJ(ObjectPrototypeValueOf, 0) \ 658 TFJ(ObjectPrototypeValueOf, 0) \
656 CPP(ObjectPrototypePropertyIsEnumerable) \ 659 CPP(ObjectPrototypePropertyIsEnumerable) \
657 CPP(ObjectPrototypeGetProto) \ 660 CPP(ObjectPrototypeGetProto) \
658 CPP(ObjectPrototypeSetProto) \ 661 CPP(ObjectPrototypeSetProto) \
659 CPP(ObjectSeal) \ 662 CPP(ObjectSeal) \
660 CPP(ObjectValues) \ 663 CPP(ObjectValues) \
661 \ 664 \
662 /* instanceof */ \ 665 /* instanceof */ \
663 TFS(OrdinaryHasInstance, Compare, 1) \ 666 TFC(OrdinaryHasInstance, Compare, 1) \
664 TFS(InstanceOf, Compare, 1) \ 667 TFC(InstanceOf, Compare, 1) \
665 \ 668 \
666 /* for-in */ \ 669 /* for-in */ \
667 TFS(ForInFilter, ForInFilter, 1) \ 670 TFS(ForInFilter, kKey, kObject) \
668 TFS(ForInNext, ForInNext, 1) \ 671 TFS(ForInNext, kObject, kCacheArray, kCacheType, kIndex) \
669 TFS(ForInPrepare, ForInPrepare, 3) \ 672 TFC(ForInPrepare, ForInPrepare, 3) \
670 \ 673 \
671 /* Promise */ \ 674 /* Promise */ \
672 /* ES6 #sec-getcapabilitiesexecutor-functions */ \ 675 /* ES6 #sec-getcapabilitiesexecutor-functions */ \
673 TFJ(PromiseGetCapabilitiesExecutor, 2, kResolve, kReject) \ 676 TFJ(PromiseGetCapabilitiesExecutor, 2, kResolve, kReject) \
674 /* ES6 #sec-newpromisecapability */ \ 677 /* ES6 #sec-newpromisecapability */ \
675 TFJ(NewPromiseCapability, 2, kConstructor, kDebugEvent) \ 678 TFJ(NewPromiseCapability, 2, kConstructor, kDebugEvent) \
676 /* ES6 #sec-promise-executor */ \ 679 /* ES6 #sec-promise-executor */ \
677 TFJ(PromiseConstructor, 1, kExecutor) \ 680 TFJ(PromiseConstructor, 1, kExecutor) \
678 TFJ(PromiseInternalConstructor, 1, kParent) \ 681 TFJ(PromiseInternalConstructor, 1, kParent) \
679 TFJ(IsPromise, 1, kObject) \ 682 TFJ(IsPromise, 1, kObject) \
680 /* ES #sec-promise-resolve-functions */ \ 683 /* ES #sec-promise-resolve-functions */ \
681 TFJ(PromiseResolveClosure, 1, kValue) \ 684 TFJ(PromiseResolveClosure, 1, kValue) \
682 /* ES #sec-promise-reject-functions */ \ 685 /* ES #sec-promise-reject-functions */ \
683 TFJ(PromiseRejectClosure, 1, kValue) \ 686 TFJ(PromiseRejectClosure, 1, kValue) \
684 /* ES #sec-promise.prototype.then */ \ 687 /* ES #sec-promise.prototype.then */ \
685 TFJ(PromiseThen, 2, kOnFullfilled, kOnRejected) \ 688 TFJ(PromiseThen, 2, kOnFullfilled, kOnRejected) \
686 /* ES #sec-promise.prototype.catch */ \ 689 /* ES #sec-promise.prototype.catch */ \
687 TFJ(PromiseCatch, 1, kOnRejected) \ 690 TFJ(PromiseCatch, 1, kOnRejected) \
688 /* ES #sec-fulfillpromise */ \ 691 /* ES #sec-fulfillpromise */ \
689 TFJ(ResolvePromise, 2, kPromise, kValue) \ 692 TFJ(ResolvePromise, 2, kPromise, kValue) \
690 TFS(PromiseHandleReject, PromiseHandleReject, 1) \ 693 TFS(PromiseHandleReject, kPromise, kOnReject, kException) \
691 TFJ(PromiseHandle, 5, kValue, kHandler, kDeferredPromise, \ 694 TFJ(PromiseHandle, 5, kValue, kHandler, kDeferredPromise, \
692 kDeferredOnResolve, kDeferredOnReject) \ 695 kDeferredOnResolve, kDeferredOnReject) \
693 /* ES #sec-promise.resolve */ \ 696 /* ES #sec-promise.resolve */ \
694 TFJ(PromiseResolve, 1, kValue) \ 697 TFJ(PromiseResolve, 1, kValue) \
695 /* ES #sec-promise.reject */ \ 698 /* ES #sec-promise.reject */ \
696 TFJ(PromiseReject, 1, kReason) \ 699 TFJ(PromiseReject, 1, kReason) \
697 TFJ(InternalPromiseReject, 3, kPromise, kReason, kDebugEvent) \ 700 TFJ(InternalPromiseReject, 3, kPromise, kReason, kDebugEvent) \
698 TFJ(PromiseFinally, 1, kOnFinally) \ 701 TFJ(PromiseFinally, 1, kOnFinally) \
699 TFJ(PromiseThenFinally, 1, kValue) \ 702 TFJ(PromiseThenFinally, 1, kValue) \
700 TFJ(PromiseCatchFinally, 1, kReason) \ 703 TFJ(PromiseCatchFinally, 1, kReason) \
(...skipping 13 matching lines...) Expand all
714 CPP(ReflectGetOwnPropertyDescriptor) \ 717 CPP(ReflectGetOwnPropertyDescriptor) \
715 CPP(ReflectGetPrototypeOf) \ 718 CPP(ReflectGetPrototypeOf) \
716 CPP(ReflectHas) \ 719 CPP(ReflectHas) \
717 CPP(ReflectIsExtensible) \ 720 CPP(ReflectIsExtensible) \
718 CPP(ReflectOwnKeys) \ 721 CPP(ReflectOwnKeys) \
719 CPP(ReflectPreventExtensions) \ 722 CPP(ReflectPreventExtensions) \
720 CPP(ReflectSet) \ 723 CPP(ReflectSet) \
721 CPP(ReflectSetPrototypeOf) \ 724 CPP(ReflectSetPrototypeOf) \
722 \ 725 \
723 /* RegExp */ \ 726 /* RegExp */ \
724 TFS(RegExpPrototypeExecSlow, RegExpPrototypeExecSlow, 1) \ 727 TFS(RegExpPrototypeExecSlow, kReceiver, kString) \
725 CPP(RegExpCapture1Getter) \ 728 CPP(RegExpCapture1Getter) \
726 CPP(RegExpCapture2Getter) \ 729 CPP(RegExpCapture2Getter) \
727 CPP(RegExpCapture3Getter) \ 730 CPP(RegExpCapture3Getter) \
728 CPP(RegExpCapture4Getter) \ 731 CPP(RegExpCapture4Getter) \
729 CPP(RegExpCapture5Getter) \ 732 CPP(RegExpCapture5Getter) \
730 CPP(RegExpCapture6Getter) \ 733 CPP(RegExpCapture6Getter) \
731 CPP(RegExpCapture7Getter) \ 734 CPP(RegExpCapture7Getter) \
732 CPP(RegExpCapture8Getter) \ 735 CPP(RegExpCapture8Getter) \
733 CPP(RegExpCapture9Getter) \ 736 CPP(RegExpCapture9Getter) \
734 /* ES #sec-regexp-pattern-flags */ \ 737 /* ES #sec-regexp-pattern-flags */ \
(...skipping 26 matching lines...) Expand all
761 TFJ(RegExpPrototypeSourceGetter, 0) \ 764 TFJ(RegExpPrototypeSourceGetter, 0) \
762 /* ES #sec-get-regexp.prototype.sticky */ \ 765 /* ES #sec-get-regexp.prototype.sticky */ \
763 TFJ(RegExpPrototypeStickyGetter, 0) \ 766 TFJ(RegExpPrototypeStickyGetter, 0) \
764 /* ES #sec-regexp.prototype.test */ \ 767 /* ES #sec-regexp.prototype.test */ \
765 TFJ(RegExpPrototypeTest, 1, kString) \ 768 TFJ(RegExpPrototypeTest, 1, kString) \
766 CPP(RegExpPrototypeToString) \ 769 CPP(RegExpPrototypeToString) \
767 /* ES #sec-get-regexp.prototype.unicode */ \ 770 /* ES #sec-get-regexp.prototype.unicode */ \
768 TFJ(RegExpPrototypeUnicodeGetter, 0) \ 771 TFJ(RegExpPrototypeUnicodeGetter, 0) \
769 CPP(RegExpRightContextGetter) \ 772 CPP(RegExpRightContextGetter) \
770 \ 773 \
771 TFS(RegExpReplace, RegExpReplace, 1) \ 774 TFS(RegExpReplace, kRegExp, kString, kReplaceValue) \
772 /* ES #sec-regexp.prototype-@@replace */ \ 775 /* ES #sec-regexp.prototype-@@replace */ \
773 TFJ(RegExpPrototypeReplace, 2, kString, kReplaceValue) \ 776 TFJ(RegExpPrototypeReplace, 2, kString, kReplaceValue) \
774 \ 777 \
775 TFS(RegExpSplit, RegExpSplit, 1) \ 778 TFS(RegExpSplit, kRegExp, kString, kLimit) \
776 /* ES #sec-regexp.prototype-@@split */ \ 779 /* ES #sec-regexp.prototype-@@split */ \
777 TFJ(RegExpPrototypeSplit, 2, kString, kLimit) \ 780 TFJ(RegExpPrototypeSplit, 2, kString, kLimit) \
778 \ 781 \
779 /* SharedArrayBuffer */ \ 782 /* SharedArrayBuffer */ \
780 CPP(SharedArrayBufferPrototypeGetByteLength) \ 783 CPP(SharedArrayBufferPrototypeGetByteLength) \
781 CPP(SharedArrayBufferPrototypeSlice) \ 784 CPP(SharedArrayBufferPrototypeSlice) \
782 TFJ(AtomicsLoad, 2, kArray, kIndex) \ 785 TFJ(AtomicsLoad, 2, kArray, kIndex) \
783 TFJ(AtomicsStore, 3, kArray, kIndex, kValue) \ 786 TFJ(AtomicsStore, 3, kArray, kIndex, kValue) \
784 TFJ(AtomicsExchange, 3, kArray, kIndex, kValue) \ 787 TFJ(AtomicsExchange, 3, kArray, kIndex, kValue) \
785 TFJ(AtomicsCompareExchange, 4, kArray, kIndex, kOldValue, kNewValue) \ 788 TFJ(AtomicsCompareExchange, 4, kArray, kIndex, kOldValue, kNewValue) \
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
897 CPP(TypedArrayPrototypeReverse) \ 900 CPP(TypedArrayPrototypeReverse) \
898 /* ES6 #sec-%typedarray%.prototype.slice */ \ 901 /* ES6 #sec-%typedarray%.prototype.slice */ \
899 CPP(TypedArrayPrototypeSlice) \ 902 CPP(TypedArrayPrototypeSlice) \
900 /* ES6 %TypedArray%.prototype.every */ \ 903 /* ES6 %TypedArray%.prototype.every */ \
901 TFJ(TypedArrayPrototypeEvery, 2, kCallbackFn, kThisArg) \ 904 TFJ(TypedArrayPrototypeEvery, 2, kCallbackFn, kThisArg) \
902 /* ES6 %TypedArray%.prototype.some */ \ 905 /* ES6 %TypedArray%.prototype.some */ \
903 TFJ(TypedArrayPrototypeSome, 2, kCallbackFn, kThisArg) \ 906 TFJ(TypedArrayPrototypeSome, 2, kCallbackFn, kThisArg) \
904 \ 907 \
905 /* Wasm */ \ 908 /* Wasm */ \
906 ASM(WasmCompileLazy) \ 909 ASM(WasmCompileLazy) \
907 TFS(WasmStackGuard, WasmRuntimeCall, 1) \ 910 TFC(WasmStackGuard, WasmRuntimeCall, 1) \
908 TFS(ThrowWasmTrapUnreachable, WasmRuntimeCall, 1) \ 911 TFC(ThrowWasmTrapUnreachable, WasmRuntimeCall, 1) \
909 TFS(ThrowWasmTrapMemOutOfBounds, WasmRuntimeCall, 1) \ 912 TFC(ThrowWasmTrapMemOutOfBounds, WasmRuntimeCall, 1) \
910 TFS(ThrowWasmTrapDivByZero, WasmRuntimeCall, 1) \ 913 TFC(ThrowWasmTrapDivByZero, WasmRuntimeCall, 1) \
911 TFS(ThrowWasmTrapDivUnrepresentable, WasmRuntimeCall, 1) \ 914 TFC(ThrowWasmTrapDivUnrepresentable, WasmRuntimeCall, 1) \
912 TFS(ThrowWasmTrapRemByZero, WasmRuntimeCall, 1) \ 915 TFC(ThrowWasmTrapRemByZero, WasmRuntimeCall, 1) \
913 TFS(ThrowWasmTrapFloatUnrepresentable, WasmRuntimeCall, 1) \ 916 TFC(ThrowWasmTrapFloatUnrepresentable, WasmRuntimeCall, 1) \
914 TFS(ThrowWasmTrapFuncInvalid, WasmRuntimeCall, 1) \ 917 TFC(ThrowWasmTrapFuncInvalid, WasmRuntimeCall, 1) \
915 TFS(ThrowWasmTrapFuncSigMismatch, WasmRuntimeCall, 1) \ 918 TFC(ThrowWasmTrapFuncSigMismatch, WasmRuntimeCall, 1) \
916 \ 919 \
917 /* AsyncGenerator */ \ 920 /* AsyncGenerator */ \
918 \ 921 \
919 TFS(AsyncGeneratorResolve, AsyncGeneratorResolve, 1) \ 922 TFS(AsyncGeneratorResolve, kGenerator, kValue, kDone) \
920 TFS(AsyncGeneratorReject, AsyncGeneratorReject, 1) \ 923 TFS(AsyncGeneratorReject, kGenerator, kValue) \
921 TFS(AsyncGeneratorResumeNext, AsyncGeneratorResumeNext, 1) \ 924 TFS(AsyncGeneratorResumeNext, kGenerator) \
922 \ 925 \
923 /* AsyncGeneratorFunction( p1, p2, ... pn, body ) */ \ 926 /* AsyncGeneratorFunction( p1, p2, ... pn, body ) */ \
924 /* proposal-async-iteration/#sec-asyncgeneratorfunction-constructor */ \ 927 /* proposal-async-iteration/#sec-asyncgeneratorfunction-constructor */ \
925 CPP(AsyncGeneratorFunctionConstructor) \ 928 CPP(AsyncGeneratorFunctionConstructor) \
926 /* AsyncGenerator.prototype.next ( value ) */ \ 929 /* AsyncGenerator.prototype.next ( value ) */ \
927 /* proposal-async-iteration/#sec-asyncgenerator-prototype-next */ \ 930 /* proposal-async-iteration/#sec-asyncgenerator-prototype-next */ \
928 TFJ(AsyncGeneratorPrototypeNext, 1, kValue) \ 931 TFJ(AsyncGeneratorPrototypeNext, 1, kValue) \
929 /* AsyncGenerator.prototype.return ( value ) */ \ 932 /* AsyncGenerator.prototype.return ( value ) */ \
930 /* proposal-async-iteration/#sec-asyncgenerator-prototype-return */ \ 933 /* proposal-async-iteration/#sec-asyncgenerator-prototype-return */ \
931 TFJ(AsyncGeneratorPrototypeReturn, 1, kValue) \ 934 TFJ(AsyncGeneratorPrototypeReturn, 1, kValue) \
(...skipping 21 matching lines...) Expand all
953 /* #sec-%asyncfromsynciteratorprototype%-object) */ \ 956 /* #sec-%asyncfromsynciteratorprototype%-object) */ \
954 TFJ(AsyncFromSyncIteratorPrototypeNext, 1, kValue) \ 957 TFJ(AsyncFromSyncIteratorPrototypeNext, 1, kValue) \
955 /* #sec-%asyncfromsynciteratorprototype%.throw */ \ 958 /* #sec-%asyncfromsynciteratorprototype%.throw */ \
956 TFJ(AsyncFromSyncIteratorPrototypeThrow, 1, kReason) \ 959 TFJ(AsyncFromSyncIteratorPrototypeThrow, 1, kReason) \
957 /* #sec-%asyncfromsynciteratorprototype%.return */ \ 960 /* #sec-%asyncfromsynciteratorprototype%.return */ \
958 TFJ(AsyncFromSyncIteratorPrototypeReturn, 1, kValue) \ 961 TFJ(AsyncFromSyncIteratorPrototypeReturn, 1, kValue) \
959 /* #sec-async-iterator-value-unwrap-functions */ \ 962 /* #sec-async-iterator-value-unwrap-functions */ \
960 TFJ(AsyncIteratorValueUnwrap, 1, kValue) 963 TFJ(AsyncIteratorValueUnwrap, 1, kValue)
961 964
962 #ifdef V8_I18N_SUPPORT 965 #ifdef V8_I18N_SUPPORT
963 #define BUILTIN_LIST(CPP, API, TFJ, TFS, TFH, ASM, DBG) \ 966 #define BUILTIN_LIST(CPP, API, TFJ, TFC, TFS, TFH, ASM, DBG) \
964 BUILTIN_LIST_BASE(CPP, API, TFJ, TFS, TFH, ASM, DBG) \ 967 BUILTIN_LIST_BASE(CPP, API, TFJ, TFC, TFS, TFH, ASM, DBG) \
965 \ 968 \
966 /* ES #sec-string.prototype.tolowercase */ \ 969 /* ES #sec-string.prototype.tolowercase */ \
967 CPP(StringPrototypeToLowerCaseI18N) \ 970 CPP(StringPrototypeToLowerCaseI18N) \
968 /* ES #sec-string.prototype.touppercase */ \ 971 /* ES #sec-string.prototype.touppercase */ \
969 CPP(StringPrototypeToUpperCaseI18N) \ 972 CPP(StringPrototypeToUpperCaseI18N) \
970 /* ES #sec-string.prototype.normalize */ \ 973 /* ES #sec-string.prototype.normalize */ \
971 CPP(StringPrototypeNormalizeI18N) 974 CPP(StringPrototypeNormalizeI18N)
972 #else 975 #else
973 #define BUILTIN_LIST(CPP, API, TFJ, TFS, TFH, ASM, DBG) \ 976 #define BUILTIN_LIST(CPP, API, TFJ, TFC, TFS, TFH, ASM, DBG) \
974 BUILTIN_LIST_BASE(CPP, API, TFJ, TFS, TFH, ASM, DBG) \ 977 BUILTIN_LIST_BASE(CPP, API, TFJ, TFC, TFS, TFH, ASM, DBG) \
975 \ 978 \
976 /* (obsolete) Unibrow version */ \ 979 /* (obsolete) Unibrow version */ \
977 CPP(StringPrototypeNormalize) 980 CPP(StringPrototypeNormalize)
978 #endif // V8_I18N_SUPPORT 981 #endif // V8_I18N_SUPPORT
979 982
980 #define BUILTIN_PROMISE_REJECTION_PREDICTION_LIST(V) \ 983 #define BUILTIN_PROMISE_REJECTION_PREDICTION_LIST(V) \
981 V(AsyncFromSyncIteratorPrototypeNext) \ 984 V(AsyncFromSyncIteratorPrototypeNext) \
982 V(AsyncFromSyncIteratorPrototypeReturn) \ 985 V(AsyncFromSyncIteratorPrototypeReturn) \
983 V(AsyncFromSyncIteratorPrototypeThrow) \ 986 V(AsyncFromSyncIteratorPrototypeThrow) \
984 V(AsyncFunctionAwaitCaught) \ 987 V(AsyncFunctionAwaitCaught) \
985 V(AsyncFunctionAwaitUncaught) \ 988 V(AsyncFunctionAwaitUncaught) \
986 V(AsyncGeneratorResolve) \ 989 V(AsyncGeneratorResolve) \
987 V(AsyncGeneratorAwaitCaught) \ 990 V(AsyncGeneratorAwaitCaught) \
988 V(AsyncGeneratorAwaitUncaught) \ 991 V(AsyncGeneratorAwaitUncaught) \
989 V(PerformNativePromiseThen) \ 992 V(PerformNativePromiseThen) \
990 V(PromiseConstructor) \ 993 V(PromiseConstructor) \
991 V(PromiseHandle) \ 994 V(PromiseHandle) \
992 V(PromiseResolve) \ 995 V(PromiseResolve) \
993 V(PromiseResolveClosure) \ 996 V(PromiseResolveClosure) \
994 V(RejectNativePromise) \ 997 V(RejectNativePromise) \
995 V(ResolveNativePromise) \ 998 V(ResolveNativePromise) \
996 V(ResolvePromise) 999 V(ResolvePromise)
997 1000
998 #define BUILTIN_EXCEPTION_CAUGHT_PREDICTION_LIST(V) V(PromiseHandleReject) 1001 #define BUILTIN_EXCEPTION_CAUGHT_PREDICTION_LIST(V) V(PromiseHandleReject)
999 1002
1000 #define IGNORE_BUILTIN(...) 1003 #define IGNORE_BUILTIN(...)
1001 1004
1002 #define BUILTIN_LIST_ALL(V) BUILTIN_LIST(V, V, V, V, V, V, V) 1005 #define BUILTIN_LIST_ALL(V) BUILTIN_LIST(V, V, V, V, V, V, V, V)
1003 1006
1004 #define BUILTIN_LIST_C(V) \ 1007 #define BUILTIN_LIST_C(V) \
1005 BUILTIN_LIST(V, V, IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN, \ 1008 BUILTIN_LIST(V, V, IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN, \
1006 IGNORE_BUILTIN, IGNORE_BUILTIN) 1009 IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN)
1007 1010
1008 #define BUILTIN_LIST_A(V) \ 1011 #define BUILTIN_LIST_A(V) \
1009 BUILTIN_LIST(IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN, \ 1012 BUILTIN_LIST(IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN, \
1010 IGNORE_BUILTIN, V, V) 1013 IGNORE_BUILTIN, IGNORE_BUILTIN, V, V)
1011 1014
1012 #define BUILTIN_LIST_DBG(V) \ 1015 #define BUILTIN_LIST_DBG(V) \
1013 BUILTIN_LIST(IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN, \ 1016 BUILTIN_LIST(IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN, \
1014 IGNORE_BUILTIN, IGNORE_BUILTIN, V) 1017 IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN, V)
1018
1019 #define BUILTIN_LIST_TFS(V) \
1020 BUILTIN_LIST(IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN, \
1021 V, IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN)
1015 1022
1016 #define BUILTINS_WITH_UNTAGGED_PARAMS(V) V(WasmCompileLazy) 1023 #define BUILTINS_WITH_UNTAGGED_PARAMS(V) V(WasmCompileLazy)
1017 1024
1018 } // namespace internal 1025 } // namespace internal
1019 } // namespace v8 1026 } // namespace v8
1020 1027
1021 #endif // V8_BUILTINS_BUILTINS_DEFINITIONS_H_ 1028 #endif // V8_BUILTINS_BUILTINS_DEFINITIONS_H_
OLDNEW
« no previous file with comments | « src/builtins/builtins-async-generator-gen.cc ('k') | src/builtins/builtins-descriptors.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698