On Fri, Dec 2, 2016 at 10:14 PM, Cedric BAIL <cedric.b...@free.fr> wrote: > On Fri, Dec 2, 2016 at 3:17 PM, Gustavo Sverzut Barbieri > <barbi...@gmail.com> wrote: >> barbieri pushed a commit to branch master. >> >> http://git.enlightenment.org/core/efl.git/commit/?id=227463bdde43bc9095b75f4ef19f9fef9a742f04 >> >> commit 227463bdde43bc9095b75f4ef19f9fef9a742f04 >> Author: Gustavo Sverzut Barbieri <barbi...@profusion.mobi> >> Date: Fri Dec 2 20:48:37 2016 -0200 >> >> eo: allow valgrind-like tracking of object lifecycle. >> >> Eo pointer indirection is super nice as it avoids you to access >> invalid memory, but this extra checks inhibits valgrind's own tracking >> of memory lifecycle, usually it would report when the object was >> created and when the object is deleted, both as stack traces. >> >> This commits introduces logging of object creation and destruction >> under its own eina_log_domain and controlled by EO_LIFECYCLE_DEBUG and >> EO_LIFECYCLE_NO_DEBUG envvars. These will only be available if >> compiled with EO_DEBUG, thus shouldn't cause any performance hits on >> production code. > > I haven't looked at it, but wouldn't it be also possible to integrate > it with valgrind directly using valgrind macro ?
I did not look either, I find it useful even without valgrind, but indeed when running inside valgrind it could be nice one. Maybe it's possible, I need to check the valgrind calls as they have no knowledge about the eo_id... and that's what we check, if disabling pointer indirection (undef HAVE_EO_ID), then valgrind will catch it even with eina_safety. -- Gustavo Sverzut Barbieri -------------------------------------- Mobile: +55 (16) 99354-9890 ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel