Efl object: Remove creation of event structure and passing it to eo.

This was never used and will probably never be used. It was just wasting
memory and making things more complicated.

Just to give some more concrete numbers, this change alone reduced the
number of dirty pages used by elementary by two. So quite significant.

BREAKS ABI

@feature
This commit is contained in:
Tom Hacohen 2016-08-23 14:47:36 +01:00
commit 2462f1d47b
41 changed files with 4 additions and 118 deletions

View File

@ -40,7 +40,6 @@ static const Efl_Class_Description class_desc = {
"Simple",
EFL_CLASS_TYPE_REGULAR,
EFL_CLASS_DESCRIPTION_OPS(op_desc),
NULL,
sizeof(Simple_Public_Data),
NULL,
NULL

View File

@ -70,7 +70,6 @@ bench_eo_do_super(int request)
"Simple2",
EFL_CLASS_TYPE_REGULAR,
EFL_CLASS_DESCRIPTION_OPS(op_desc),
NULL,
0,
NULL,
NULL

View File

@ -25,7 +25,7 @@ static const Efl_Op_Description custom_engine_op_desc[] = {
static const Efl_Class_Description custom_engine_class_desc = {
EO_VERSION, "Custom Layout Engine", EFL_CLASS_TYPE_INTERFACE,
EFL_CLASS_DESCRIPTION_OPS(custom_engine_op_desc), NULL, 0, NULL, NULL
EFL_CLASS_DESCRIPTION_OPS(custom_engine_op_desc), 0, NULL, NULL
};
EFL_DEFINE_CLASS(_test_ui_grid_custom_engine_class_get, &custom_engine_class_desc, EFL_PACK_LAYOUT_INTERFACE, NULL)

View File

@ -21,12 +21,6 @@ static const char
tmpl_eo_ops_desc[] = "\
static const Efl_Op_Description _@#class_op_desc[] = {@#list_op\n};\n\n";
static const char
tmpl_events_desc[] = "\
static const Efl_Event_Description * const _@#class_event_desc[] = {@#list_evdesc\n\
NULL\n\
};\n\n";
static const char
tmpl_eo_src[] = "\
@#functions_body\
@ -34,13 +28,11 @@ tmpl_eo_src[] = "\
@#ctor_func\
@#dtor_func\
@#ops_desc\
@#events_desc\
static const Efl_Class_Description _@#class_class_desc = {\n\
EO_VERSION,\n\
\"@#Class\",\n\
@#type_class,\n\
@#eo_class_desc_ops,\n\
@#Events_Desc,\n\
@#SizeOfData,\n\
@#ctor_name,\n\
@#dtor_name\n\
@ -684,7 +676,6 @@ eo_source_end_generate(const Eolian_Class *class, Eina_Strbuf *buf)
Eina_Bool ret = EINA_FALSE;
Eina_Iterator *itr;
Eolian_Implement *impl_desc;
Eolian_Event *event;
const char *inherit_name;
const char *str_classtype = NULL;
@ -717,7 +708,6 @@ eo_source_end_generate(const Eolian_Class *class, Eina_Strbuf *buf)
Eina_Strbuf *tmpbuf = eina_strbuf_new();
Eina_Strbuf *str_op = eina_strbuf_new();
Eina_Strbuf *str_bodyf = eina_strbuf_new();
Eina_Strbuf *str_ev = eina_strbuf_new();
_template_fill(str_end, tmpl_eo_src, class, NULL, NULL, EINA_TRUE);
@ -876,32 +866,6 @@ eo_source_end_generate(const Eolian_Class *class, Eina_Strbuf *buf)
eina_iterator_free(itr);
}
itr = eolian_class_events_get(class);
EINA_ITERATOR_FOREACH(itr, event)
{
Eina_Stringshare *evname = eolian_event_c_name_get(event);
eina_strbuf_append_printf(str_ev, "\n %s,", evname);
eina_stringshare_del(evname);
}
eina_iterator_free(itr);
eina_strbuf_reset(tmpbuf);
if (eina_strbuf_length_get(str_ev))
{
Eina_Strbuf *events_desc = eina_strbuf_new();
_template_fill(events_desc, tmpl_events_desc, class, NULL, NULL, EINA_TRUE);
eina_strbuf_replace_all(events_desc, "@#list_evdesc", eina_strbuf_string_get(str_ev));
eina_strbuf_replace_all(str_end, "@#events_desc", eina_strbuf_string_get(events_desc));
eina_strbuf_free(events_desc);
eina_strbuf_append_printf(tmpbuf, "_%s_event_desc", class_env.lower_classname);
}
else
{
eina_strbuf_append_printf(tmpbuf, "NULL");
eina_strbuf_replace_all(str_end, "@#events_desc", "");
}
eina_strbuf_replace_all(str_end, "@#Events_Desc", eina_strbuf_string_get(tmpbuf));
eina_strbuf_reset(tmpbuf);
itr = eolian_class_inherits_get(class);
EINA_ITERATOR_FOREACH(itr, inherit_name)
@ -959,7 +923,6 @@ end:
eina_strbuf_free(str_op);
eina_strbuf_free(str_bodyf);
eina_strbuf_free(str_end);
eina_strbuf_free(str_ev);
return ret;
}

View File

@ -171,7 +171,7 @@ static const Efl_Op_Description custom_table_op_desc[] = {
static const Efl_Class_Description custom_table_class_desc = {
EO_VERSION, "Efl.Ui.Grid.Internal", EFL_CLASS_TYPE_REGULAR,
EFL_CLASS_DESCRIPTION_OPS(custom_table_op_desc), NULL,
EFL_CLASS_DESCRIPTION_OPS(custom_table_op_desc),
sizeof(Custom_Table_Data), NULL, NULL
};

View File

@ -411,7 +411,6 @@ struct _Efl_Class_Description
const char *name; /**< The name of the class. */
Efl_Class_Type type; /**< The type of the class. */
Efl_Object_Ops ops; /**< The ops description, should be filled using #EFL_CLASS_DESCRIPTION_OPS (later sorted by Eo). */
const Efl_Event_Description * const *events; /**< The event descriptions for this class. */
size_t data_size; /**< The size of data (private + protected + public) this class needs per object. */
void (*class_constructor)(Efl_Class *klass); /**< The constructor of the class. */
void (*class_destructor)(Efl_Class *klass); /**< The destructor of the class. */

View File

@ -27,7 +27,6 @@ static const Efl_Class_Description class_desc = {
"Inherit",
EFL_CLASS_TYPE_REGULAR,
EFL_CLASS_DESCRIPTION_OPS(op_descs),
NULL,
0,
NULL,
NULL

View File

@ -36,17 +36,11 @@ static Efl_Op_Description op_descs[] = {
EFL_OBJECT_OP_FUNC(simple_a_set, _a_set),
};
static const Efl_Event_Description *event_desc[] = {
EV_A_CHANGED,
NULL
};
static const Efl_Class_Description class_desc = {
EO_VERSION,
"Simple",
EFL_CLASS_TYPE_REGULAR,
EFL_CLASS_DESCRIPTION_OPS(op_descs),
event_desc,
sizeof(Private_Data),
NULL,
NULL

View File

@ -12,7 +12,6 @@ static const Efl_Class_Description class_desc = {
"Simple",
EFL_CLASS_TYPE_REGULAR,
EFL_CLASS_DESCRIPTION_NOOPS(),
NULL,
0,
NULL,
NULL

View File

@ -46,7 +46,6 @@ static const Efl_Class_Description class_desc = {
"Comp",
EFL_CLASS_TYPE_REGULAR,
EFL_CLASS_DESCRIPTION_OPS(op_descs),
NULL,
0,
NULL,
NULL

View File

@ -168,17 +168,11 @@ static Efl_Op_Description op_descs[] = {
EFL_OBJECT_OP_FUNC(simple_a_get, _a_get),
};
static const Efl_Event_Description *event_desc[] = {
EV_A_CHANGED,
NULL
};
static const Efl_Class_Description class_desc = {
EO_VERSION,
"Simple",
EFL_CLASS_TYPE_REGULAR,
EFL_CLASS_DESCRIPTION_OPS(op_descs),
event_desc,
sizeof(Simple_Public_Data),
NULL,
NULL

View File

@ -48,7 +48,6 @@ static const Efl_Class_Description class_desc = {
"Mixin",
EFL_CLASS_TYPE_MIXIN,
EFL_CLASS_DESCRIPTION_OPS(op_descs),
NULL,
0,
NULL,
NULL

View File

@ -100,7 +100,6 @@ static const Efl_Class_Description class_desc = {
"Simple",
EFL_CLASS_TYPE_REGULAR,
EFL_CLASS_DESCRIPTION_OPS(op_descs),
NULL,
sizeof(Private_Data),
_class_constructor,
_class_destructor

View File

@ -25,7 +25,6 @@ static const Efl_Class_Description class_desc = {
"Simple2",
EFL_CLASS_TYPE_REGULAR,
EFL_CLASS_DESCRIPTION_OPS(op_descs),
NULL,
0,
NULL,
NULL

View File

@ -23,7 +23,6 @@ static const Efl_Class_Description class_desc = {
"Simple3",
EFL_CLASS_TYPE_REGULAR,
EFL_CLASS_DESCRIPTION_OPS(op_descs),
NULL,
0,
NULL,
NULL

View File

@ -14,7 +14,6 @@ static const Efl_Class_Description class_desc = {
"Simple4",
EFL_CLASS_TYPE_REGULAR,
EFL_CLASS_DESCRIPTION_NOOPS(),
NULL,
0,
NULL,
NULL

View File

@ -23,7 +23,6 @@ static const Efl_Class_Description class_desc = {
"Simple5",
EFL_CLASS_TYPE_REGULAR,
EFL_CLASS_DESCRIPTION_OPS(op_descs),
NULL,
0,
NULL,
NULL

View File

@ -23,7 +23,6 @@ static const Efl_Class_Description class_desc = {
"Simple6",
EFL_CLASS_TYPE_REGULAR,
EFL_CLASS_DESCRIPTION_OPS(op_descs),
NULL,
0,
NULL,
NULL

View File

@ -27,7 +27,6 @@ static const Efl_Class_Description class_desc = {
"Simple7",
EFL_CLASS_TYPE_REGULAR,
EFL_CLASS_DESCRIPTION_OPS(op_descs),
NULL,
0,
NULL,
NULL

View File

@ -13,7 +13,6 @@ static const Efl_Class_Description class_desc = {
"Inherit",
EFL_CLASS_TYPE_REGULAR,
EFL_CLASS_DESCRIPTION_NOOPS(),
NULL,
0,
NULL,
NULL

View File

@ -71,7 +71,6 @@ static const Efl_Class_Description class_desc = {
"Inherit2",
EFL_CLASS_TYPE_REGULAR,
EFL_CLASS_DESCRIPTION_OPS(op_descs),
NULL,
0,
NULL,
NULL

View File

@ -25,7 +25,6 @@ static const Efl_Class_Description class_desc = {
"Inherit3",
EFL_CLASS_TYPE_REGULAR,
EFL_CLASS_DESCRIPTION_OPS(op_descs),
NULL,
0,
NULL,
NULL

View File

@ -68,7 +68,6 @@ static const Efl_Class_Description class_desc = {
"Simple",
EFL_CLASS_TYPE_REGULAR,
EFL_CLASS_DESCRIPTION_OPS(op_descs),
NULL,
sizeof(Simple_Public_Data),
NULL,
NULL

View File

@ -19,7 +19,6 @@ static const Efl_Class_Description class_desc = {
"Interface",
EFL_CLASS_TYPE_INTERFACE,
EFL_CLASS_DESCRIPTION_OPS(op_descs),
NULL,
0,
NULL,
NULL

View File

@ -20,7 +20,6 @@ static const Efl_Class_Description class_desc = {
"Interface2",
EFL_CLASS_TYPE_INTERFACE,
EFL_CLASS_DESCRIPTION_OPS(op_descs),
NULL,
0,
NULL,
NULL

View File

@ -70,7 +70,6 @@ static const Efl_Class_Description class_desc = {
"Simple",
EFL_CLASS_TYPE_REGULAR,
EFL_CLASS_DESCRIPTION_OPS(op_descs),
NULL,
sizeof(Private_Data),
NULL,
NULL

View File

@ -28,7 +28,6 @@ static const Efl_Class_Description class_desc = {
"Inherit",
EFL_CLASS_TYPE_REGULAR,
EFL_CLASS_DESCRIPTION_OPS(op_descs),
NULL,
0,
NULL,
NULL

View File

@ -43,7 +43,6 @@ static const Efl_Class_Description class_desc = {
"Mixin",
EFL_CLASS_TYPE_MIXIN,
EFL_CLASS_DESCRIPTION_OPS(op_descs),
NULL,
0,
NULL,
NULL

View File

@ -57,7 +57,6 @@ static const Efl_Class_Description class_desc = {
"Mixin2",
EFL_CLASS_TYPE_MIXIN,
EFL_CLASS_DESCRIPTION_OPS(op_descs),
NULL,
sizeof(Mixin2_Public_Data),
NULL,
NULL

View File

@ -56,7 +56,6 @@ static const Efl_Class_Description class_desc = {
"Mixin3",
EFL_CLASS_TYPE_MIXIN,
EFL_CLASS_DESCRIPTION_OPS(op_descs),
NULL,
sizeof(Mixin3_Public_Data),
NULL,
NULL

View File

@ -16,7 +16,6 @@ static const Efl_Class_Description class_desc = {
"Mixin4",
EFL_CLASS_TYPE_MIXIN,
EFL_CLASS_DESCRIPTION_NOOPS(),
NULL,
0,
NULL,
NULL

View File

@ -49,7 +49,6 @@ static const Efl_Class_Description class_desc = {
"Simple",
EFL_CLASS_TYPE_REGULAR,
EFL_CLASS_DESCRIPTION_OPS(op_descs),
NULL,
sizeof(Private_Data),
NULL,
NULL

View File

@ -76,19 +76,11 @@ static Efl_Op_Description op_descs[] = {
EFL_OBJECT_OP_FUNC(simple_a_set, _a_set),
};
static const Efl_Event_Description *event_desc[] = {
EV_A_CHANGED,
EV_RESTART,
NULL
};
static const Efl_Class_Description class_desc = {
EO_VERSION,
"Simple",
EFL_CLASS_TYPE_REGULAR,
EFL_CLASS_DESCRIPTION_OPS(op_descs),
event_desc,
sizeof(Private_Data),
NULL,
NULL

View File

@ -36,7 +36,6 @@ START_TEST(efl_destructor_unref)
"Simple",
EFL_CLASS_TYPE_REGULAR,
EFL_CLASS_DESCRIPTION_OPS(op_descs),
NULL,
0,
NULL,
NULL
@ -67,7 +66,6 @@ START_TEST(efl_destructor_double_del)
"Simple",
EFL_CLASS_TYPE_REGULAR,
EFL_CLASS_DESCRIPTION_NOOPS(),
NULL,
0,
NULL,
NULL

View File

@ -26,7 +26,6 @@ START_TEST(eo_inherit_errors)
"Simple",
EFL_CLASS_TYPE_REGULAR,
EFL_CLASS_DESCRIPTION_NOOPS(),
NULL,
0,
NULL,
NULL
@ -37,7 +36,6 @@ START_TEST(eo_inherit_errors)
"Mixin",
EFL_CLASS_TYPE_MIXIN,
EFL_CLASS_DESCRIPTION_NOOPS(),
NULL,
0,
NULL,
NULL
@ -48,7 +46,6 @@ START_TEST(eo_inherit_errors)
"General",
EFL_CLASS_TYPE_MIXIN,
EFL_CLASS_DESCRIPTION_NOOPS(),
NULL,
0,
NULL,
NULL
@ -94,7 +91,6 @@ START_TEST(eo_inconsistent_mro)
"Simple",
EFL_CLASS_TYPE_REGULAR,
EFL_CLASS_DESCRIPTION_NOOPS(),
NULL,
0,
NULL,
NULL
@ -105,7 +101,6 @@ START_TEST(eo_inconsistent_mro)
"Mixin",
EFL_CLASS_TYPE_MIXIN,
EFL_CLASS_DESCRIPTION_NOOPS(),
NULL,
0,
NULL,
NULL
@ -116,7 +111,6 @@ START_TEST(eo_inconsistent_mro)
"Mixin2",
EFL_CLASS_TYPE_MIXIN,
EFL_CLASS_DESCRIPTION_NOOPS(),
NULL,
0,
NULL,
NULL
@ -127,7 +121,6 @@ START_TEST(eo_inconsistent_mro)
"Mixin3",
EFL_CLASS_TYPE_MIXIN,
EFL_CLASS_DESCRIPTION_NOOPS(),
NULL,
0,
NULL,
NULL
@ -173,7 +166,6 @@ START_TEST(eo_bad_interface)
"Interface",
EFL_CLASS_TYPE_INTERFACE,
EFL_CLASS_DESCRIPTION_NOOPS(),
NULL,
10,
NULL,
NULL
@ -225,7 +217,6 @@ START_TEST(eo_null_api)
"Simple",
EFL_CLASS_TYPE_REGULAR,
EFL_CLASS_DESCRIPTION_OPS(op_descs),
NULL,
0,
NULL,
NULL
@ -257,7 +248,6 @@ START_TEST(eo_wrong_override)
"Simple",
EFL_CLASS_TYPE_REGULAR,
EFL_CLASS_DESCRIPTION_OPS(op_descs),
NULL,
0,
NULL,
NULL
@ -290,7 +280,6 @@ START_TEST(eo_api_redefined)
"Simple",
EFL_CLASS_TYPE_REGULAR,
EFL_CLASS_DESCRIPTION_OPS(op_descs),
NULL,
0,
NULL,
NULL
@ -323,7 +312,6 @@ START_TEST(eo_dich_func_override)
"Simple",
EFL_CLASS_TYPE_REGULAR,
EFL_CLASS_DESCRIPTION_OPS(op_descs),
NULL,
0,
NULL,
NULL

View File

@ -104,7 +104,6 @@ static const Efl_Class_Description class_desc = {
"Simple",
EFL_CLASS_TYPE_REGULAR,
EFL_CLASS_DESCRIPTION_OPS(op_descs),
NULL,
sizeof(Simple_Public_Data),
NULL,
NULL
@ -130,7 +129,6 @@ static const Efl_Class_Description class_desc2 = {
"Simple2",
EFL_CLASS_TYPE_REGULAR,
EFL_CLASS_DESCRIPTION_OPS(op_descs2),
NULL,
0,
NULL,
NULL
@ -155,10 +153,9 @@ static const Efl_Class_Description class_desc_searchable = {
"Searchable",
EFL_CLASS_TYPE_REGULAR,
EFL_CLASS_DESCRIPTION_OPS(op_descs_searchable),
NULL,
0,
NULL,
NULL
};
EFL_DEFINE_CLASS(searchable_class_get, &class_desc_searchable, EO_CLASS, NULL)
EFL_DEFINE_CLASS(searchable_class_get, &class_desc_searchable, EO_CLASS, NULL)

View File

@ -34,7 +34,6 @@ static const Efl_Class_Description class_desc = {
"Singleton",
EFL_CLASS_TYPE_REGULAR,
EFL_CLASS_DESCRIPTION_OPS(op_descs),
NULL,
0,
NULL,
NULL

View File

@ -268,7 +268,6 @@ START_TEST(efl_data_fetch)
"Simple2",
EFL_CLASS_TYPE_REGULAR,
EFL_CLASS_DESCRIPTION_NOOPS(),
NULL,
10,
NULL,
NULL
@ -311,7 +310,6 @@ START_TEST(efl_isa_tests)
"Iface",
EFL_CLASS_TYPE_INTERFACE,
EFL_CLASS_DESCRIPTION_NOOPS(),
NULL,
0,
NULL,
NULL
@ -328,7 +326,6 @@ START_TEST(efl_isa_tests)
"Mixin",
EFL_CLASS_TYPE_MIXIN,
EFL_CLASS_DESCRIPTION_NOOPS(),
NULL,
0,
NULL,
NULL
@ -345,7 +342,6 @@ START_TEST(efl_isa_tests)
"Simple2",
EFL_CLASS_TYPE_REGULAR,
EFL_CLASS_DESCRIPTION_NOOPS(),
NULL,
10,
NULL,
NULL
@ -445,7 +441,6 @@ START_TEST(eo_man_free)
"Simple2",
EFL_CLASS_TYPE_REGULAR,
EFL_CLASS_DESCRIPTION_OPS(op_descs),
NULL,
10,
NULL,
NULL
@ -994,7 +989,6 @@ START_TEST(eo_multiple_do)
"Inherit",
EFL_CLASS_TYPE_REGULAR,
EFL_CLASS_DESCRIPTION_OPS(_multi_do_op_descs),
NULL,
0,
NULL,
NULL
@ -1070,7 +1064,6 @@ START_TEST(eo_pointers_indirection)
"Simple",
EFL_CLASS_TYPE_REGULAR,
EFL_CLASS_DESCRIPTION_NOOPS(),
NULL,
0,
NULL,
NULL
@ -1168,7 +1161,6 @@ START_TEST(efl_add_failures)
"Simple2",
EFL_CLASS_TYPE_REGULAR,
EFL_CLASS_DESCRIPTION_OPS(_efl_add_failures_op_descs),
NULL,
0,
NULL,
NULL
@ -1206,7 +1198,6 @@ START_TEST(efl_del_intercept)
"Simple",
EFL_CLASS_TYPE_REGULAR,
EFL_CLASS_DESCRIPTION_NOOPS(),
NULL,
0,
NULL,
NULL

View File

@ -71,7 +71,6 @@ static const Efl_Class_Description class_desc = {
"Thread Test",
EFL_CLASS_TYPE_REGULAR,
EFL_CLASS_DESCRIPTION_OPS(op_descs),
NULL,
sizeof(Thread_Test_Public_Data),
NULL,
NULL

View File

@ -36,7 +36,6 @@ static const Efl_Class_Description _class_simple_class_desc = {
"Class_Simple",
EFL_CLASS_TYPE_REGULAR,
EFL_CLASS_DESCRIPTION_OPS(_class_simple_op_desc),
NULL,
sizeof(Evas_Simple_Data),
NULL,
NULL

View File

@ -72,10 +72,9 @@ static const Efl_Class_Description _override_class_desc = {
"Override",
EFL_CLASS_TYPE_REGULAR,
EFL_CLASS_DESCRIPTION_OPS(_override_op_desc),
NULL,
sizeof(Override_Data),
NULL,
NULL
};
EFL_DEFINE_CLASS(override_class_get, &_override_class_desc, BASE_CLASS, NULL);
EFL_DEFINE_CLASS(override_class_get, &_override_class_desc, BASE_CLASS, NULL);