OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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_ |
OLD | NEW |