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)

-- 


Reply via email to