| Index: src/builtins/builtins-definitions.h | 
| diff --git a/src/builtins/builtins-definitions.h b/src/builtins/builtins-definitions.h | 
| index 06a720aa3713aa16c76b471992fc8dc1c99b6d28..1644aea833a8aad945bbe805b7d44c97815de79f 100644 | 
| --- a/src/builtins/builtins-definitions.h | 
| +++ b/src/builtins/builtins-definitions.h | 
| @@ -35,6 +35,8 @@ namespace internal { | 
| // TFJ: Builtin in Turbofan, with JS linkage (callable as Javascript function). | 
| //      Args: name, arguments count, explicit argument names... | 
| // TFS: Builtin in Turbofan, with CodeStub linkage. | 
| +//      Args: name, explicit argument names... | 
| +// TFC: Builtin in Turbofan, with CodeStub linkage and custom descriptor. | 
| //      Args: name, interface descriptor, return_size | 
| // TFH: Handlers in Turbofan, with CodeStub linkage. | 
| //      Args: name, code kind, extra IC state, interface descriptor | 
| @@ -43,16 +45,16 @@ namespace internal { | 
| // DBG: Builtin in platform-dependent assembly, used by the debugger. | 
| //      Args: name | 
|  | 
| -#define BUILTIN_LIST_BASE(CPP, API, TFJ, TFS, TFH, ASM, DBG)                   \ | 
| +#define BUILTIN_LIST_BASE(CPP, API, TFJ, TFC, TFS, TFH, ASM, DBG)              \ | 
| ASM(Abort)                                                                   \ | 
| /* Code aging */                                                             \ | 
| CODE_AGE_LIST_WITH_ARG(DECLARE_CODE_AGE_BUILTIN, ASM)                        \ | 
| \ | 
| /* Declared first for dependency reasons */                                  \ | 
| ASM(CompileLazy)                                                             \ | 
| -  TFS(ToObject, TypeConversion, 1)                                             \ | 
| -  TFS(FastNewObject, FastNewObject, 1)                                         \ | 
| -  TFS(HasProperty, HasProperty, 1)                                             \ | 
| +  TFC(ToObject, TypeConversion, 1)                                             \ | 
| +  TFC(FastNewObject, FastNewObject, 1)                                         \ | 
| +  TFS(HasProperty, kKey, kObject)                                              \ | 
| \ | 
| /* Calls */                                                                  \ | 
| ASM(ArgumentsAdaptorTrampoline)                                              \ | 
| @@ -92,22 +94,22 @@ namespace internal { | 
| ASM(JSConstructStubGeneric)                                                  \ | 
| ASM(JSBuiltinsConstructStub)                                                 \ | 
| ASM(JSBuiltinsConstructStubForDerived)                                       \ | 
| -  TFS(FastNewClosure, FastNewClosure, 1)                                       \ | 
| -  TFS(FastNewFunctionContextEval, FastNewFunctionContext, 1)                   \ | 
| -  TFS(FastNewFunctionContextFunction, FastNewFunctionContext, 1)               \ | 
| -  TFS(FastNewStrictArguments, FastNewArguments, 1)                             \ | 
| -  TFS(FastNewSloppyArguments, FastNewArguments, 1)                             \ | 
| -  TFS(FastNewRestParameter, FastNewArguments, 1)                               \ | 
| -  TFS(FastCloneRegExp, FastCloneRegExp, 1)                                     \ | 
| -  TFS(FastCloneShallowArrayTrack, FastCloneShallowArray, 1)                    \ | 
| -  TFS(FastCloneShallowArrayDontTrack, FastCloneShallowArray, 1)                \ | 
| -  TFS(FastCloneShallowObject0, FastCloneShallowObject, 1)                      \ | 
| -  TFS(FastCloneShallowObject1, FastCloneShallowObject, 1)                      \ | 
| -  TFS(FastCloneShallowObject2, FastCloneShallowObject, 1)                      \ | 
| -  TFS(FastCloneShallowObject3, FastCloneShallowObject, 1)                      \ | 
| -  TFS(FastCloneShallowObject4, FastCloneShallowObject, 1)                      \ | 
| -  TFS(FastCloneShallowObject5, FastCloneShallowObject, 1)                      \ | 
| -  TFS(FastCloneShallowObject6, FastCloneShallowObject, 1)                      \ | 
| +  TFC(FastNewClosure, FastNewClosure, 1)                                       \ | 
| +  TFC(FastNewFunctionContextEval, FastNewFunctionContext, 1)                   \ | 
| +  TFC(FastNewFunctionContextFunction, FastNewFunctionContext, 1)               \ | 
| +  TFC(FastNewStrictArguments, FastNewArguments, 1)                             \ | 
| +  TFC(FastNewSloppyArguments, FastNewArguments, 1)                             \ | 
| +  TFC(FastNewRestParameter, FastNewArguments, 1)                               \ | 
| +  TFC(FastCloneRegExp, FastCloneRegExp, 1)                                     \ | 
| +  TFC(FastCloneShallowArrayTrack, FastCloneShallowArray, 1)                    \ | 
| +  TFC(FastCloneShallowArrayDontTrack, FastCloneShallowArray, 1)                \ | 
| +  TFC(FastCloneShallowObject0, FastCloneShallowObject, 1)                      \ | 
| +  TFC(FastCloneShallowObject1, FastCloneShallowObject, 1)                      \ | 
| +  TFC(FastCloneShallowObject2, FastCloneShallowObject, 1)                      \ | 
| +  TFC(FastCloneShallowObject3, FastCloneShallowObject, 1)                      \ | 
| +  TFC(FastCloneShallowObject4, FastCloneShallowObject, 1)                      \ | 
| +  TFC(FastCloneShallowObject5, FastCloneShallowObject, 1)                      \ | 
| +  TFC(FastCloneShallowObject6, FastCloneShallowObject, 1)                      \ | 
| \ | 
| /* Apply and entries */                                                      \ | 
| ASM(Apply)                                                                   \ | 
| @@ -120,14 +122,14 @@ namespace internal { | 
| ASM(StackCheck)                                                              \ | 
| \ | 
| /* String helpers */                                                         \ | 
| -  TFS(StringCharAt, StringCharAt, 1)                                           \ | 
| -  TFS(StringCharCodeAt, StringCharCodeAt, 1)                                   \ | 
| -  TFS(StringEqual, Compare, 1)                                                 \ | 
| -  TFS(StringGreaterThan, Compare, 1)                                           \ | 
| -  TFS(StringGreaterThanOrEqual, Compare, 1)                                    \ | 
| -  TFS(StringIndexOf, StringIndexOf, 1)                                         \ | 
| -  TFS(StringLessThan, Compare, 1)                                              \ | 
| -  TFS(StringLessThanOrEqual, Compare, 1)                                       \ | 
| +  TFC(StringCharAt, StringCharAt, 1)                                           \ | 
| +  TFC(StringCharCodeAt, StringCharCodeAt, 1)                                   \ | 
| +  TFC(StringEqual, Compare, 1)                                                 \ | 
| +  TFC(StringGreaterThan, Compare, 1)                                           \ | 
| +  TFC(StringGreaterThanOrEqual, Compare, 1)                                    \ | 
| +  TFS(StringIndexOf, kReceiver, kSearchString, kPosition)                      \ | 
| +  TFC(StringLessThan, Compare, 1)                                              \ | 
| +  TFC(StringLessThanOrEqual, Compare, 1)                                       \ | 
| \ | 
| /* Interpreter */                                                            \ | 
| ASM(InterpreterEntryTrampoline)                                              \ | 
| @@ -169,10 +171,10 @@ namespace internal { | 
| ASM(AllocateInOldSpace)                                                      \ | 
| \ | 
| /* TurboFan support builtins */                                              \ | 
| -  TFS(CopyFastSmiOrObjectElements, CopyFastSmiOrObjectElements, 1)             \ | 
| -  TFS(GrowFastDoubleElements, GrowArrayElements, 1)                            \ | 
| -  TFS(GrowFastSmiOrObjectElements, GrowArrayElements, 1)                       \ | 
| -  TFS(NewUnmappedArgumentsElements, NewArgumentsElements, 1)                   \ | 
| +  TFS(CopyFastSmiOrObjectElements, kObject)                                    \ | 
| +  TFC(GrowFastDoubleElements, GrowArrayElements, 1)                            \ | 
| +  TFC(GrowFastSmiOrObjectElements, GrowArrayElements, 1)                       \ | 
| +  TFC(NewUnmappedArgumentsElements, NewArgumentsElements, 1)                   \ | 
| \ | 
| /* Debugger */                                                               \ | 
| DBG(FrameDropperTrampoline)                                                  \ | 
| @@ -181,22 +183,22 @@ namespace internal { | 
| DBG(Slot_DebugBreak)                                                         \ | 
| \ | 
| /* Type conversions */                                                       \ | 
| -  TFS(ToBoolean, TypeConversion, 1)                                            \ | 
| -  TFS(OrdinaryToPrimitive_Number, TypeConversion, 1)                           \ | 
| -  TFS(OrdinaryToPrimitive_String, TypeConversion, 1)                           \ | 
| -  TFS(NonPrimitiveToPrimitive_Default, TypeConversion, 1)                      \ | 
| -  TFS(NonPrimitiveToPrimitive_Number, TypeConversion, 1)                       \ | 
| -  TFS(NonPrimitiveToPrimitive_String, TypeConversion, 1)                       \ | 
| -  TFS(StringToNumber, TypeConversion, 1)                                       \ | 
| -  TFS(ToName, TypeConversion, 1)                                               \ | 
| -  TFS(NonNumberToNumber, TypeConversion, 1)                                    \ | 
| -  TFS(ToNumber, TypeConversion, 1)                                             \ | 
| -  TFS(ToString, TypeConversion, 1)                                             \ | 
| -  TFS(ToInteger, TypeConversion, 1)                                            \ | 
| -  TFS(ToLength, TypeConversion, 1)                                             \ | 
| -  TFS(ClassOf, Typeof, 1)                                                      \ | 
| -  TFS(Typeof, Typeof, 1)                                                       \ | 
| -  TFS(GetSuperConstructor, Typeof, 1)                                          \ | 
| +  TFC(ToBoolean, TypeConversion, 1)                                            \ | 
| +  TFC(OrdinaryToPrimitive_Number, TypeConversion, 1)                           \ | 
| +  TFC(OrdinaryToPrimitive_String, TypeConversion, 1)                           \ | 
| +  TFC(NonPrimitiveToPrimitive_Default, TypeConversion, 1)                      \ | 
| +  TFC(NonPrimitiveToPrimitive_Number, TypeConversion, 1)                       \ | 
| +  TFC(NonPrimitiveToPrimitive_String, TypeConversion, 1)                       \ | 
| +  TFC(StringToNumber, TypeConversion, 1)                                       \ | 
| +  TFC(ToName, TypeConversion, 1)                                               \ | 
| +  TFC(NonNumberToNumber, TypeConversion, 1)                                    \ | 
| +  TFC(ToNumber, TypeConversion, 1)                                             \ | 
| +  TFC(ToString, TypeConversion, 1)                                             \ | 
| +  TFC(ToInteger, TypeConversion, 1)                                            \ | 
| +  TFC(ToLength, TypeConversion, 1)                                             \ | 
| +  TFC(ClassOf, Typeof, 1)                                                      \ | 
| +  TFC(Typeof, Typeof, 1)                                                       \ | 
| +  TFC(GetSuperConstructor, Typeof, 1)                                          \ | 
| \ | 
| /* Handlers */                                                               \ | 
| TFH(LoadICProtoArray, BUILTIN, kNoExtraICState, LoadICProtoArray)            \ | 
| @@ -224,9 +226,10 @@ namespace internal { | 
| TFH(StoreIC_Uninitialized, BUILTIN, kNoExtraICState, StoreWithVector)        \ | 
| TFH(StoreICStrict_Uninitialized, BUILTIN, kNoExtraICState, StoreWithVector)  \ | 
| \ | 
| -  TFS(ResolveNativePromise, ResolveNativePromise, 1)                           \ | 
| -  TFS(RejectNativePromise, RejectNativePromise, 1)                             \ | 
| -  TFS(PerformNativePromiseThen, PerformNativePromiseThen, 1)                   \ | 
| +  TFS(ResolveNativePromise, kPromise, kValue)                                  \ | 
| +  TFS(RejectNativePromise, kPromise, kValue, kDebugEvent)                      \ | 
| +  TFS(PerformNativePromiseThen, kPromise, kResolveReaction, kRejectReaction,   \ | 
| +      kResultPromise)                                                          \ | 
| \ | 
| /* Built-in functions for Javascript */                                      \ | 
| /* Special internal builtins */                                              \ | 
| @@ -457,7 +460,7 @@ namespace internal { | 
| CPP(FunctionPrototypeToString)                                               \ | 
| \ | 
| /* Belongs to Objects but is a dependency of GeneratorPrototypeResume */     \ | 
| -  TFS(CreateIterResultObject, CreateIterResultObject, 1)                       \ | 
| +  TFS(CreateIterResultObject, kValue, kDone)                                   \ | 
| \ | 
| /* Generator and Async */                                                    \ | 
| CPP(GeneratorFunctionConstructor)                                            \ | 
| @@ -603,25 +606,25 @@ namespace internal { | 
| CPP(NumberPrototypeToString)                                                 \ | 
| /* ES6 #sec-number.prototype.valueof */                                      \ | 
| TFJ(NumberPrototypeValueOf, 0)                                               \ | 
| -  TFS(Add, BinaryOp, 1)                                                        \ | 
| -  TFS(Subtract, BinaryOp, 1)                                                   \ | 
| -  TFS(Multiply, BinaryOp, 1)                                                   \ | 
| -  TFS(Divide, BinaryOp, 1)                                                     \ | 
| -  TFS(Modulus, BinaryOp, 1)                                                    \ | 
| -  TFS(BitwiseAnd, BinaryOp, 1)                                                 \ | 
| -  TFS(BitwiseOr, BinaryOp, 1)                                                  \ | 
| -  TFS(BitwiseXor, BinaryOp, 1)                                                 \ | 
| -  TFS(ShiftLeft, BinaryOp, 1)                                                  \ | 
| -  TFS(ShiftRight, BinaryOp, 1)                                                 \ | 
| -  TFS(ShiftRightLogical, BinaryOp, 1)                                          \ | 
| -  TFS(LessThan, Compare, 1)                                                    \ | 
| -  TFS(LessThanOrEqual, Compare, 1)                                             \ | 
| -  TFS(GreaterThan, Compare, 1)                                                 \ | 
| -  TFS(GreaterThanOrEqual, Compare, 1)                                          \ | 
| -  TFS(Equal, Compare, 1)                                                       \ | 
| -  TFS(StrictEqual, Compare, 1)                                                 \ | 
| -  TFS(AddWithFeedback, BinaryOpWithVector, 1)                                  \ | 
| -  TFS(SubtractWithFeedback, BinaryOpWithVector, 1)                             \ | 
| +  TFC(Add, BinaryOp, 1)                                                        \ | 
| +  TFC(Subtract, BinaryOp, 1)                                                   \ | 
| +  TFC(Multiply, BinaryOp, 1)                                                   \ | 
| +  TFC(Divide, BinaryOp, 1)                                                     \ | 
| +  TFC(Modulus, BinaryOp, 1)                                                    \ | 
| +  TFC(BitwiseAnd, BinaryOp, 1)                                                 \ | 
| +  TFC(BitwiseOr, BinaryOp, 1)                                                  \ | 
| +  TFC(BitwiseXor, BinaryOp, 1)                                                 \ | 
| +  TFC(ShiftLeft, BinaryOp, 1)                                                  \ | 
| +  TFC(ShiftRight, BinaryOp, 1)                                                 \ | 
| +  TFC(ShiftRightLogical, BinaryOp, 1)                                          \ | 
| +  TFC(LessThan, Compare, 1)                                                    \ | 
| +  TFC(LessThanOrEqual, Compare, 1)                                             \ | 
| +  TFC(GreaterThan, Compare, 1)                                                 \ | 
| +  TFC(GreaterThanOrEqual, Compare, 1)                                          \ | 
| +  TFC(Equal, Compare, 1)                                                       \ | 
| +  TFC(StrictEqual, Compare, 1)                                                 \ | 
| +  TFC(AddWithFeedback, BinaryOpWithVector, 1)                                  \ | 
| +  TFC(SubtractWithFeedback, BinaryOpWithVector, 1)                             \ | 
| \ | 
| /* Object */                                                                 \ | 
| CPP(ObjectAssign)                                                            \ | 
| @@ -660,13 +663,13 @@ namespace internal { | 
| CPP(ObjectValues)                                                            \ | 
| \ | 
| /* instanceof */                                                             \ | 
| -  TFS(OrdinaryHasInstance, Compare, 1)                                         \ | 
| -  TFS(InstanceOf, Compare, 1)                                                  \ | 
| +  TFC(OrdinaryHasInstance, Compare, 1)                                         \ | 
| +  TFC(InstanceOf, Compare, 1)                                                  \ | 
| \ | 
| /* for-in */                                                                 \ | 
| -  TFS(ForInFilter, ForInFilter, 1)                                             \ | 
| -  TFS(ForInNext, ForInNext, 1)                                                 \ | 
| -  TFS(ForInPrepare, ForInPrepare, 3)                                           \ | 
| +  TFS(ForInFilter, kKey, kObject)                                              \ | 
| +  TFS(ForInNext, kObject, kCacheArray, kCacheType, kIndex)                     \ | 
| +  TFC(ForInPrepare, ForInPrepare, 3)                                           \ | 
| \ | 
| /* Promise */                                                                \ | 
| /* ES6 #sec-getcapabilitiesexecutor-functions */                             \ | 
| @@ -687,7 +690,7 @@ namespace internal { | 
| TFJ(PromiseCatch, 1, kOnRejected)                                            \ | 
| /* ES #sec-fulfillpromise */                                                 \ | 
| TFJ(ResolvePromise, 2, kPromise, kValue)                                     \ | 
| -  TFS(PromiseHandleReject, PromiseHandleReject, 1)                             \ | 
| +  TFS(PromiseHandleReject, kPromise, kOnReject, kException)                    \ | 
| TFJ(PromiseHandle, 5, kValue, kHandler, kDeferredPromise,                    \ | 
| kDeferredOnResolve, kDeferredOnReject)                                   \ | 
| /* ES #sec-promise.resolve */                                                \ | 
| @@ -721,7 +724,7 @@ namespace internal { | 
| CPP(ReflectSetPrototypeOf)                                                   \ | 
| \ | 
| /* RegExp */                                                                 \ | 
| -  TFS(RegExpPrototypeExecSlow, RegExpPrototypeExecSlow, 1)                     \ | 
| +  TFS(RegExpPrototypeExecSlow, kReceiver, kString)                             \ | 
| CPP(RegExpCapture1Getter)                                                    \ | 
| CPP(RegExpCapture2Getter)                                                    \ | 
| CPP(RegExpCapture3Getter)                                                    \ | 
| @@ -768,11 +771,11 @@ namespace internal { | 
| TFJ(RegExpPrototypeUnicodeGetter, 0)                                         \ | 
| CPP(RegExpRightContextGetter)                                                \ | 
| \ | 
| -  TFS(RegExpReplace, RegExpReplace, 1)                                         \ | 
| +  TFS(RegExpReplace, kRegExp, kString, kReplaceValue)                          \ | 
| /* ES #sec-regexp.prototype-@@replace */                                     \ | 
| TFJ(RegExpPrototypeReplace, 2, kString, kReplaceValue)                       \ | 
| \ | 
| -  TFS(RegExpSplit, RegExpSplit, 1)                                             \ | 
| +  TFS(RegExpSplit, kRegExp, kString, kLimit)                                   \ | 
| /* ES #sec-regexp.prototype-@@split */                                       \ | 
| TFJ(RegExpPrototypeSplit, 2, kString, kLimit)                                \ | 
| \ | 
| @@ -904,21 +907,21 @@ namespace internal { | 
| \ | 
| /* Wasm */                                                                   \ | 
| ASM(WasmCompileLazy)                                                         \ | 
| -  TFS(WasmStackGuard, WasmRuntimeCall, 1)                                      \ | 
| -  TFS(ThrowWasmTrapUnreachable, WasmRuntimeCall, 1)                            \ | 
| -  TFS(ThrowWasmTrapMemOutOfBounds, WasmRuntimeCall, 1)                         \ | 
| -  TFS(ThrowWasmTrapDivByZero, WasmRuntimeCall, 1)                              \ | 
| -  TFS(ThrowWasmTrapDivUnrepresentable, WasmRuntimeCall, 1)                     \ | 
| -  TFS(ThrowWasmTrapRemByZero, WasmRuntimeCall, 1)                              \ | 
| -  TFS(ThrowWasmTrapFloatUnrepresentable, WasmRuntimeCall, 1)                   \ | 
| -  TFS(ThrowWasmTrapFuncInvalid, WasmRuntimeCall, 1)                            \ | 
| -  TFS(ThrowWasmTrapFuncSigMismatch, WasmRuntimeCall, 1)                        \ | 
| +  TFC(WasmStackGuard, WasmRuntimeCall, 1)                                      \ | 
| +  TFC(ThrowWasmTrapUnreachable, WasmRuntimeCall, 1)                            \ | 
| +  TFC(ThrowWasmTrapMemOutOfBounds, WasmRuntimeCall, 1)                         \ | 
| +  TFC(ThrowWasmTrapDivByZero, WasmRuntimeCall, 1)                              \ | 
| +  TFC(ThrowWasmTrapDivUnrepresentable, WasmRuntimeCall, 1)                     \ | 
| +  TFC(ThrowWasmTrapRemByZero, WasmRuntimeCall, 1)                              \ | 
| +  TFC(ThrowWasmTrapFloatUnrepresentable, WasmRuntimeCall, 1)                   \ | 
| +  TFC(ThrowWasmTrapFuncInvalid, WasmRuntimeCall, 1)                            \ | 
| +  TFC(ThrowWasmTrapFuncSigMismatch, WasmRuntimeCall, 1)                        \ | 
| \ | 
| /* AsyncGenerator */                                                         \ | 
| \ | 
| -  TFS(AsyncGeneratorResolve, AsyncGeneratorResolve, 1)                         \ | 
| -  TFS(AsyncGeneratorReject, AsyncGeneratorReject, 1)                           \ | 
| -  TFS(AsyncGeneratorResumeNext, AsyncGeneratorResumeNext, 1)                   \ | 
| +  TFS(AsyncGeneratorResolve, kGenerator, kValue, kDone)                        \ | 
| +  TFS(AsyncGeneratorReject, kGenerator, kValue)                                \ | 
| +  TFS(AsyncGeneratorResumeNext, kGenerator)                                    \ | 
| \ | 
| /* AsyncGeneratorFunction( p1, p2, ... pn, body ) */                         \ | 
| /* proposal-async-iteration/#sec-asyncgeneratorfunction-constructor */       \ | 
| @@ -960,20 +963,20 @@ namespace internal { | 
| TFJ(AsyncIteratorValueUnwrap, 1, kValue) | 
|  | 
| #ifdef V8_I18N_SUPPORT | 
| -#define BUILTIN_LIST(CPP, API, TFJ, TFS, TFH, ASM, DBG) \ | 
| -  BUILTIN_LIST_BASE(CPP, API, TFJ, TFS, TFH, ASM, DBG)  \ | 
| -                                                        \ | 
| -  /* ES #sec-string.prototype.tolowercase */            \ | 
| -  CPP(StringPrototypeToLowerCaseI18N)                   \ | 
| -  /* ES #sec-string.prototype.touppercase */            \ | 
| -  CPP(StringPrototypeToUpperCaseI18N)                   \ | 
| -  /* ES #sec-string.prototype.normalize */              \ | 
| +#define BUILTIN_LIST(CPP, API, TFJ, TFC, TFS, TFH, ASM, DBG) \ | 
| +  BUILTIN_LIST_BASE(CPP, API, TFJ, TFC, TFS, TFH, ASM, DBG)  \ | 
| +                                                             \ | 
| +  /* ES #sec-string.prototype.tolowercase */                 \ | 
| +  CPP(StringPrototypeToLowerCaseI18N)                        \ | 
| +  /* ES #sec-string.prototype.touppercase */                 \ | 
| +  CPP(StringPrototypeToUpperCaseI18N)                        \ | 
| +  /* ES #sec-string.prototype.normalize */                   \ | 
| CPP(StringPrototypeNormalizeI18N) | 
| #else | 
| -#define BUILTIN_LIST(CPP, API, TFJ, TFS, TFH, ASM, DBG) \ | 
| -  BUILTIN_LIST_BASE(CPP, API, TFJ, TFS, TFH, ASM, DBG)  \ | 
| -                                                        \ | 
| -  /* (obsolete) Unibrow version */                      \ | 
| +#define BUILTIN_LIST(CPP, API, TFJ, TFC, TFS, TFH, ASM, DBG) \ | 
| +  BUILTIN_LIST_BASE(CPP, API, TFJ, TFC, TFS, TFH, ASM, DBG)  \ | 
| +                                                             \ | 
| +  /* (obsolete) Unibrow version */                           \ | 
| CPP(StringPrototypeNormalize) | 
| #endif  // V8_I18N_SUPPORT | 
|  | 
| @@ -999,19 +1002,23 @@ namespace internal { | 
|  | 
| #define IGNORE_BUILTIN(...) | 
|  | 
| -#define BUILTIN_LIST_ALL(V) BUILTIN_LIST(V, V, V, V, V, V, V) | 
| +#define BUILTIN_LIST_ALL(V) BUILTIN_LIST(V, V, V, V, V, V, V, V) | 
|  | 
| #define BUILTIN_LIST_C(V)                                            \ | 
| BUILTIN_LIST(V, V, IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN, \ | 
| -               IGNORE_BUILTIN, IGNORE_BUILTIN) | 
| +               IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN) | 
|  | 
| #define BUILTIN_LIST_A(V)                                                      \ | 
| BUILTIN_LIST(IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN, \ | 
| -               IGNORE_BUILTIN, V, V) | 
| +               IGNORE_BUILTIN, IGNORE_BUILTIN, V, V) | 
|  | 
| #define BUILTIN_LIST_DBG(V)                                                    \ | 
| BUILTIN_LIST(IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN, \ | 
| -               IGNORE_BUILTIN, IGNORE_BUILTIN, V) | 
| +               IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN, V) | 
| + | 
| +#define BUILTIN_LIST_TFS(V)                                                    \ | 
| +  BUILTIN_LIST(IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN, \ | 
| +               V, IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN) | 
|  | 
| #define BUILTINS_WITH_UNTAGGED_PARAMS(V) V(WasmCompileLazy) | 
|  | 
|  |