efl/src/lib/eo
Marcel Hollerbach a931e41823 efl: make all _class_get() functions const
please note, not the return type, but the function.
When appending __attribute__((const)) to a function, the compiler is
told that its enough to call this function once in a function.

This is quite often happening when we are efl_data_scope_get and
efl_super in a function that is different from a implemented function.

The compiler now starts to remove the calls that aggressivly that we
need to ensure that these calls are not removed, which means, the static
function calls, and the eo init are now checking the return value of
these functions, to ensure that they are called.

Please note that you now have to be carefull when your app calls
eo_shutdown, if it does so, you *must* call it at the end of a function,
or never call class_get after that anymore.

Overall this improves elm test runs 0.1s which is fair i guess, the main
thing that is faster is textrendering, where is also the point where
this is the most beneficial.

Please note, this replaces 42 occurences of double _class_get() ... THAT
is a sign!

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Differential Revision: https://phab.enlightenment.org/D12057
2020-07-20 11:27:53 +02:00
..
Eo.h doxygen docs: Fix tons of invalid Doxygen commands 2020-03-10 21:36:34 +01:00
efl_class.eo docs: Add @since 1.22 to all stable classes' EO docs 2019-03-22 16:57:36 +01:00
efl_object.eo eo: make the parent a optional constructor 2020-06-09 10:29:23 +02:00
efl_object_override.eo Mark BETA classes individually 2019-02-14 17:46:50 +01:00
eina_types.eot eo-files: convert all Eina.Strbuf & Eina.Binbuf 2020-06-09 10:29:29 +02:00
eo.c efl: make all _class_get() functions const 2020-07-20 11:27:53 +02:00
eo_add_fallback.c mmap memory allocation - do not used when under valgrind 2018-01-12 03:02:43 +09:00
eo_add_fallback.h Eo: Finish the renaming of Eo to the EFL. 2016-08-15 15:07:42 +01:00
eo_base_class.c eo: Fix memory leak in efl_key_wref_set() api. 2020-06-02 08:07:42 +02:00
eo_class_class.c eo: lets drop efl_interfaces 2019-02-08 10:27:27 +01:00
eo_internal.h eo: Correctly name Realized classes. 2019-04-02 11:02:27 +02:00
eo_private.h Use __func__ C99 identifier instead of __FUNCTION__ compiler extension 2020-05-07 09:27:07 -04:00
eo_ptr_indirection.c Fix typos 2020-06-25 09:03:05 +02:00
eo_ptr_indirection.h Use __func__ C99 identifier instead of __FUNCTION__ compiler extension 2020-05-07 09:27:07 -04:00
eo_ptr_indirection.x eo - fix - fix alignment of eo object class structs - it was wrong 2020-02-12 21:11:18 +00:00
meson.build refactor build 2020-05-27 11:06:46 +02:00