| Index: src/builtins/builtins.cc
|
| diff --git a/src/builtins/builtins.cc b/src/builtins/builtins.cc
|
| index e9528319bde577f7a811a2ec3b4188e46049a535..6405ea6754738d6fd84ce44937e39827f3b3f7ec 100644
|
| --- a/src/builtins/builtins.cc
|
| +++ b/src/builtins/builtins.cc
|
| @@ -142,12 +142,18 @@ void Builtins::SetUp(Isolate* isolate, bool create_heap_objects) {
|
| code = BuildWithCodeStubAssemblerJS(isolate, &Generate_##Name, Argc, \
|
| kBuiltinFlags, #Name); \
|
| builtins_[index++] = code;
|
| -#define BUILD_TFS(Name, InterfaceDescriptor, result_size) \
|
| +#define BUILD_TFC(Name, InterfaceDescriptor, result_size) \
|
| { InterfaceDescriptor##Descriptor descriptor(isolate); } \
|
| code = BuildWithCodeStubAssemblerCS(isolate, &Generate_##Name, \
|
| CallDescriptors::InterfaceDescriptor, \
|
| kBuiltinFlags, #Name, result_size); \
|
| builtins_[index++] = code;
|
| +#define BUILD_TFS(Name, ...) \
|
| + /* Return size for generic TF builtins (stub linkage) is always 1. */ \
|
| + code = BuildWithCodeStubAssemblerCS(isolate, &Generate_##Name, \
|
| + CallDescriptors::Name, kBuiltinFlags, \
|
| + #Name, 1); \
|
| + builtins_[index++] = code;
|
| #define BUILD_TFH(Name, Kind, Extra, InterfaceDescriptor) \
|
| { InterfaceDescriptor##Descriptor descriptor(isolate); } \
|
| /* Return size for IC builtins/handlers is always 1. */ \
|
| @@ -160,12 +166,13 @@ void Builtins::SetUp(Isolate* isolate, bool create_heap_objects) {
|
| BuildWithMacroAssembler(isolate, Generate_##Name, kBuiltinFlags, #Name); \
|
| builtins_[index++] = code;
|
|
|
| - BUILTIN_LIST(BUILD_CPP, BUILD_API, BUILD_TFJ, BUILD_TFS, BUILD_TFH,
|
| - BUILD_ASM, BUILD_ASM);
|
| + BUILTIN_LIST(BUILD_CPP, BUILD_API, BUILD_TFJ, BUILD_TFC, BUILD_TFS,
|
| + BUILD_TFH, BUILD_ASM, BUILD_ASM);
|
|
|
| #undef BUILD_CPP
|
| #undef BUILD_API
|
| #undef BUILD_TFJ
|
| +#undef BUILD_TFC
|
| #undef BUILD_TFS
|
| #undef BUILD_TFH
|
| #undef BUILD_ASM
|
| @@ -294,7 +301,7 @@ Callable Builtins::CallableFor(Isolate* isolate, Name name) {
|
| return Callable(code, descriptor); \
|
| }
|
| BUILTIN_LIST(IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN, CASE, CASE,
|
| - IGNORE_BUILTIN, IGNORE_BUILTIN)
|
| + CASE, IGNORE_BUILTIN, IGNORE_BUILTIN)
|
| #undef CASE
|
| default:
|
| UNREACHABLE();
|
| @@ -341,7 +348,7 @@ bool Builtins::IsCpp(int index) {
|
| return true;
|
| #define BUILTIN_LIST_CPP(V) \
|
| BUILTIN_LIST(V, IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN, \
|
| - IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN)
|
| + IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN)
|
| BUILTIN_LIST_CPP(CASE)
|
| #undef BUILTIN_LIST_CPP
|
| #undef CASE
|
| @@ -360,7 +367,7 @@ bool Builtins::IsApi(int index) {
|
| return true;
|
| #define BUILTIN_LIST_API(V) \
|
| BUILTIN_LIST(IGNORE_BUILTIN, V, IGNORE_BUILTIN, IGNORE_BUILTIN, \
|
| - IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN)
|
| + IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN)
|
| BUILTIN_LIST_API(CASE);
|
| #undef BUILTIN_LIST_API
|
| #undef CASE
|
|
|