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

Unified Diff: src/builtins/builtins.cc

Issue 2145413002: [builtins] unify builtins list. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: fix typos Created 4 years, 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/builtins/builtins.h ('k') | src/counters.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/builtins/builtins.cc
diff --git a/src/builtins/builtins.cc b/src/builtins/builtins.cc
index 86ac5a3ff2f53bf261ebd165288bb24684238907..9ed8ef87e2402837ebae94b51eed4eb6683c0914 100644
--- a/src/builtins/builtins.cc
+++ b/src/builtins/builtins.cc
@@ -6327,7 +6327,7 @@ Builtins::Builtins() : initialized_(false) {
Builtins::~Builtins() {}
-#define DEF_ENUM_C(name, ignore) FUNCTION_ADDR(Builtin_##name),
+#define DEF_ENUM_C(name) FUNCTION_ADDR(Builtin_##name),
Address const Builtins::c_functions_[cfunction_count] = {
BUILTIN_LIST_C(DEF_ENUM_C)};
#undef DEF_ENUM_C
@@ -6450,73 +6450,80 @@ void Builtins::InitBuiltinFunctionTable() {
functions[builtin_count].exit_frame_type = EXIT;
functions[builtin_count].argc = 0;
-#define DEF_FUNCTION_PTR_C(aname, aexit_frame_type) \
+#define DEF_CPP(Name) \
functions->builder = &MacroAssemblerBuilder; \
functions->generator = FUNCTION_ADDR(Generate_Adaptor); \
- functions->c_code = FUNCTION_ADDR(Builtin_##aname); \
- functions->s_name = #aname; \
- functions->name = c_##aname; \
+ functions->c_code = FUNCTION_ADDR(Builtin_##Name); \
+ functions->s_name = #Name; \
+ functions->name = c_##Name; \
functions->flags = Code::ComputeFlags(Code::BUILTIN); \
- functions->exit_frame_type = aexit_frame_type; \
+ functions->exit_frame_type = BUILTIN_EXIT; \
functions->argc = 0; \
++functions;
-#define DEF_FUNCTION_PTR_A(aname, kind, extra) \
- functions->builder = &MacroAssemblerBuilder; \
- functions->generator = FUNCTION_ADDR(Generate_##aname); \
- functions->c_code = NULL; \
- functions->s_name = #aname; \
- functions->name = k##aname; \
- functions->flags = Code::ComputeFlags(Code::kind, extra); \
- functions->exit_frame_type = EXIT; \
- functions->argc = 0; \
- ++functions;
-
-#define DEF_FUNCTION_PTR_T(aname, aargc) \
- functions->builder = &CodeStubAssemblerBuilderJS; \
- functions->generator = FUNCTION_ADDR(Generate_##aname); \
- functions->c_code = NULL; \
- functions->s_name = #aname; \
- functions->name = k##aname; \
+#define DEF_API(Name) \
+ functions->builder = &MacroAssemblerBuilder; \
+ functions->generator = FUNCTION_ADDR(Generate_Adaptor); \
+ functions->c_code = FUNCTION_ADDR(Builtin_##Name); \
+ functions->s_name = #Name; \
+ functions->name = c_##Name; \
functions->flags = Code::ComputeFlags(Code::BUILTIN); \
functions->exit_frame_type = EXIT; \
- functions->argc = aargc; \
+ functions->argc = 0; \
++functions;
-#define DEF_FUNCTION_PTR_S(aname, kind, extra, interface_descriptor) \
- functions->builder = &CodeStubAssemblerBuilderCS; \
- functions->generator = FUNCTION_ADDR(Generate_##aname); \
- functions->c_code = NULL; \
- functions->s_name = #aname; \
- functions->name = k##aname; \
- functions->flags = Code::ComputeFlags(Code::kind, extra); \
- functions->exit_frame_type = EXIT; \
- functions->argc = CallDescriptors::interface_descriptor; \
+#define DEF_TFJ(Name, Argc) \
+ functions->builder = &CodeStubAssemblerBuilderJS; \
+ functions->generator = FUNCTION_ADDR(Generate_##Name); \
+ functions->c_code = NULL; \
+ functions->s_name = #Name; \
+ functions->name = k##Name; \
+ functions->flags = Code::ComputeFlags(Code::BUILTIN); \
+ functions->exit_frame_type = EXIT; \
+ functions->argc = Argc; \
++functions;
-#define DEF_FUNCTION_PTR_H(aname, kind) \
+#define DEF_TFS(Name, Kind, Extra, InterfaceDescriptor) \
+ functions->builder = &CodeStubAssemblerBuilderCS; \
+ functions->generator = FUNCTION_ADDR(Generate_##Name); \
+ functions->c_code = NULL; \
+ functions->s_name = #Name; \
+ functions->name = k##Name; \
+ functions->flags = Code::ComputeFlags(Code::Kind, Extra); \
+ functions->exit_frame_type = EXIT; \
+ functions->argc = CallDescriptors::InterfaceDescriptor; \
+ ++functions;
+
+#define DEF_ASM(Name) \
+ functions->builder = &MacroAssemblerBuilder; \
+ functions->generator = FUNCTION_ADDR(Generate_##Name); \
+ functions->c_code = NULL; \
+ functions->s_name = #Name; \
+ functions->name = k##Name; \
+ functions->flags = Code::ComputeFlags(Code::BUILTIN); \
+ functions->exit_frame_type = EXIT; \
+ functions->argc = 0; \
+ ++functions;
+
+#define DEF_ASH(Name, Kind, Extra) \
functions->builder = &MacroAssemblerBuilder; \
- functions->generator = FUNCTION_ADDR(Generate_##aname); \
+ functions->generator = FUNCTION_ADDR(Generate_##Name); \
functions->c_code = NULL; \
- functions->s_name = #aname; \
- functions->name = k##aname; \
- functions->flags = Code::ComputeHandlerFlags(Code::kind); \
+ functions->s_name = #Name; \
+ functions->name = k##Name; \
+ functions->flags = Code::ComputeFlags(Code::Kind, Extra); \
functions->exit_frame_type = EXIT; \
functions->argc = 0; \
++functions;
- BUILTIN_LIST_C(DEF_FUNCTION_PTR_C)
- BUILTIN_LIST_A(DEF_FUNCTION_PTR_A)
- BUILTIN_LIST_T(DEF_FUNCTION_PTR_T)
- BUILTIN_LIST_S(DEF_FUNCTION_PTR_S)
- BUILTIN_LIST_H(DEF_FUNCTION_PTR_H)
- BUILTIN_LIST_DEBUG_A(DEF_FUNCTION_PTR_A)
+ BUILTIN_LIST(DEF_CPP, DEF_API, DEF_TFJ, DEF_TFS, DEF_ASM, DEF_ASH, DEF_ASM)
-#undef DEF_FUNCTION_PTR_C
-#undef DEF_FUNCTION_PTR_A
-#undef DEF_FUNCTION_PTR_T
-#undef DEF_FUNCTION_PTR_S
-#undef DEF_FUNCTION_PTR_H
+#undef DEF_CPP
+#undef DEF_API
+#undef DEF_TFJ
+#undef DEF_TFS
+#undef DEF_ASM
+#undef DEF_ASH
}
void Builtins::SetUp(Isolate* isolate, bool create_heap_objects) {
@@ -6527,7 +6534,7 @@ void Builtins::SetUp(Isolate* isolate, bool create_heap_objects) {
#define INITIALIZE_CALL_DESCRIPTOR(name, kind, extra, interface_descriptor) \
{ interface_descriptor##Descriptor descriptor(isolate); }
- BUILTIN_LIST_S(INITIALIZE_CALL_DESCRIPTOR)
+ BUILTIN_LIST_TFS(INITIALIZE_CALL_DESCRIPTOR)
#undef INITIALIZE_CALL_DESCRIPTOR
const BuiltinDesc* functions = builtin_function_table.functions();
@@ -6827,42 +6834,13 @@ void Builtins::Generate_AtomicsStore(CodeStubAssembler* a) {
a->Return(a->Int32Constant(0));
}
-#define DEFINE_BUILTIN_ACCESSOR_C(name, ignore) \
- Handle<Code> Builtins::name() { \
- Code** code_address = reinterpret_cast<Code**>(builtin_address(k##name)); \
- return Handle<Code>(code_address); \
- }
-#define DEFINE_BUILTIN_ACCESSOR_A(name, kind, extra) \
- Handle<Code> Builtins::name() { \
- Code** code_address = reinterpret_cast<Code**>(builtin_address(k##name)); \
- return Handle<Code>(code_address); \
- }
-#define DEFINE_BUILTIN_ACCESSOR_T(name, argc) \
- Handle<Code> Builtins::name() { \
- Code** code_address = reinterpret_cast<Code**>(builtin_address(k##name)); \
- return Handle<Code>(code_address); \
- }
-#define DEFINE_BUILTIN_ACCESSOR_S(name, kind, extra, interface_descriptor) \
- Handle<Code> Builtins::name() { \
- Code** code_address = reinterpret_cast<Code**>(builtin_address(k##name)); \
- return Handle<Code>(code_address); \
- }
-#define DEFINE_BUILTIN_ACCESSOR_H(name, kind) \
- Handle<Code> Builtins::name() { \
- Code** code_address = reinterpret_cast<Code**>(builtin_address(k##name)); \
+#define DEFINE_BUILTIN_ACCESSOR(Name, ...) \
+ Handle<Code> Builtins::Name() { \
+ Code** code_address = reinterpret_cast<Code**>(builtin_address(k##Name)); \
return Handle<Code>(code_address); \
}
-BUILTIN_LIST_C(DEFINE_BUILTIN_ACCESSOR_C)
-BUILTIN_LIST_A(DEFINE_BUILTIN_ACCESSOR_A)
-BUILTIN_LIST_T(DEFINE_BUILTIN_ACCESSOR_T)
-BUILTIN_LIST_S(DEFINE_BUILTIN_ACCESSOR_S)
-BUILTIN_LIST_H(DEFINE_BUILTIN_ACCESSOR_H)
-BUILTIN_LIST_DEBUG_A(DEFINE_BUILTIN_ACCESSOR_A)
-#undef DEFINE_BUILTIN_ACCESSOR_C
-#undef DEFINE_BUILTIN_ACCESSOR_A
-#undef DEFINE_BUILTIN_ACCESSOR_T
-#undef DEFINE_BUILTIN_ACCESSOR_S
-#undef DEFINE_BUILTIN_ACCESSOR_H
+BUILTIN_LIST_ALL(DEFINE_BUILTIN_ACCESSOR)
+#undef DEFINE_BUILTIN_ACCESSOR
} // namespace internal
} // namespace v8
« no previous file with comments | « src/builtins/builtins.h ('k') | src/counters.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698