barbieri pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=79d44f212eb8f2dc774fe9528bad6af6c5418bce
commit 79d44f212eb8f2dc774fe9528bad6af6c5418bce Author: Gustavo Sverzut Barbieri <[email protected]> Date: Tue Dec 6 14:24:59 2016 -0200 eo: guard all efl_super() checks under EO_DEBUG. Tom is worried about performance hit (god, checking a bit in a pointer we'll fetch to memory anyway, since we return it masked), so guard under EO_DEBUG. --- src/lib/eo/eo.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/eo/eo.c b/src/lib/eo/eo.c index 9c9a163..3e1a727 100644 --- a/src/lib/eo/eo.c +++ b/src/lib/eo/eo.c @@ -373,8 +373,8 @@ efl_super(const Eo *obj, const Efl_Class *cur_klass) { EO_CLASS_POINTER_GOTO(cur_klass, klass, err); - if (EINA_UNLIKELY(!_eo_is_a_obj(obj) && !_eo_is_a_class(obj))) goto err_obj; #ifdef EO_DEBUG + if (EINA_UNLIKELY(!_eo_is_a_obj(obj) && !_eo_is_a_class(obj))) goto err_obj; if (EINA_UNLIKELY(!efl_isa(obj, cur_klass))) goto err_obj_hierarchy; #endif @@ -386,10 +386,10 @@ efl_super(const Eo *obj, const Efl_Class *cur_klass) err: _EO_POINTER_ERR(cur_klass, "Class (%p) is an invalid ref.", cur_klass); return NULL; +#ifdef EO_DEBUG err_obj: _EO_POINTER_ERR(obj, "Object (%p) is an invalid ref, class=%p (%s).", obj, cur_klass, efl_class_name_get(cur_klass)); return NULL; -#ifdef EO_DEBUG err_obj_hierarchy: _EO_POINTER_ERR(obj, "Object (%p) class=%p (%s) is not an instance of class=%p (%s).", obj, efl_class_get(obj), efl_class_name_get(obj), cur_klass, efl_class_name_get(cur_klass)); #endif --
