cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=93a49da161b5f985d5a202f515bc67fc5de29414
commit 93a49da161b5f985d5a202f515bc67fc5de29414 Author: Cedric BAIL <ced...@osg.samsung.com> Date: Tue May 1 16:58:29 2018 -0700 eo: optimize efl object reuse by limiting the amount of call to pointer translation. Differential Revision: https://phab.enlightenment.org/D6088 --- src/lib/eo/eo.c | 2 +- src/lib/eo/eo_base_class.c | 4 +--- src/lib/eo/eo_private.h | 2 +- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/lib/eo/eo.c b/src/lib/eo/eo.c index 3f8dc28be6..d034c70b23 100644 --- a/src/lib/eo/eo.c +++ b/src/lib/eo/eo.c @@ -1030,7 +1030,7 @@ efl_reuse(const Eo *eo_id) efl_object_override(obj, NULL); if (!efl_parent_get(obj)) _efl_object_parent_sink_set(obj, EINA_FALSE); - _efl_object_reuse(obj); + _efl_object_reuse(_obj); #ifdef EO_DEBUG _eo_log_obj_ref_op(_obj, EO_REF_OP_REUSE); diff --git a/src/lib/eo/eo_base_class.c b/src/lib/eo/eo_base_class.c index 631bef0539..94ed3d41f5 100644 --- a/src/lib/eo/eo_base_class.c +++ b/src/lib/eo/eo_base_class.c @@ -666,12 +666,10 @@ _efl_object_parent_sink_set(Eo *obj, Eina_Bool sink) } void -_efl_object_reuse(Eo *obj_id) +_efl_object_reuse(_Eo_Object *obj) { - EO_OBJ_POINTER(obj_id, obj); obj->is_invalidating = EINA_FALSE; obj->invalidate = EINA_FALSE; - EO_OBJ_DONE(obj_id); } EOLIAN static void diff --git a/src/lib/eo/eo_private.h b/src/lib/eo/eo_private.h index cebab61178..77ef5e40f8 100644 --- a/src/lib/eo/eo_private.h +++ b/src/lib/eo/eo_private.h @@ -220,7 +220,7 @@ typedef struct void _eo_log_obj_report(const Eo_Id id, int log_level, const char *func_name, const char *file, int line); void _efl_object_parent_sink_set(Eo *obj, Eina_Bool sink); -void _efl_object_reuse(Eo *obj); +void _efl_object_reuse(_Eo_Object *obj); static inline Eo *_eo_header_id_get(const Eo_Header *header) --