Commit Graph

1090 Commits

Author SHA1 Message Date
Carsten Haitzler c9ad644be2 eoid -> rjid 64bit bit allocations for.. not so much bloat. 2013-04-23 23:39:37 +09:00
Daniel Zaoui 337fac0e73 Eo: pointers indirection mechanism for objects and classes
Summary: This feature replaces Eo pointers with ids to prevent bad usage
or reuse of these pointers. It doesn't change API.
The mechanism uses tables storing the real pointers to the objects.
See the src/lib/eo/eo_ptr_indirection.c file for more details on the
mechanism.
2013-04-23 09:50:40 +03:00
Daniel Willmann 8a19bb4b29 Eo: Print location of the calling functions in eo log output
Because of the way eo is dispatching method calls of objects the usual
error log you get if you mix up objects or try to call non-existent
methods is:

ERR<12404>:eo lib/eo/eo.c:362 _eo_dov_internal() Can't find func for op
0x24 (ecore_audio_obj_in:ECORE_AUDIO_OBJ_IN_SUB_ID_SPEED_GET) for class
'ecore_audio_obj_out_pulse'. Aborting.

Of course the problem is not really in lib/eo/eo.c, but in the function
calling eo_do()

Now the macros pass source file and line number on to the _internal
functions so we can log where the error originally happened:

ERR<1938>:eo lib/eo/eo.c:362 _eo_dov_internal() in
lib/ecore_audio/ecore_audio_obj_out_pulse.c:119: Can't find func for op
0x24 (ecore_audio_obj_in:ECORE_AUDIO_OBJ_IN_SUB_ID_SPEED_GET) for class
'ecore_audio_obj_out_pulse'. Aborting.

This makes debugging with eo a lot easier.

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-04-17 15:56:45 +01:00
Tom Hacohen 269e3a7797 Eo: Fixed an error in in _eo_callback_remove and a few minor things.
The other things are not really issues but more about silencing clang.
Thanks to clang-analyzer.
2013-04-12 17:17:38 +01:00
Tom Hacohen 263e54d705 Eo: Moved the debug info functions to the base class code. 2013-04-12 13:49:26 +01:00
Tom Hacohen 3e11c380c9 Eo: Added eo_event_callback_array_* functions.
These functions let you pass an array of callbacks instead of just one.
It's more memory efficient to use this if you just add a bulk of events
on the same object.

This commits breaks ABI, and breaks API of the EO_EV_CALLBACK_ADD/DEL
signals (the event info passed).
2013-04-12 12:02:49 +01:00
Tom Hacohen 45fdd4574e Eo base: Reduce object memory footprint. 2013-04-11 17:04:42 +01:00
Tom Hacohen c226a11bfe Eo callbacks: Improve memory footprint of callbacks.
We don't really need a double-linked-list with a pointer to the last item.
This saves us 2 pointers per callback, which is a decent improvement.
2013-04-11 15:07:07 +01:00
Cedric Bail 2d9ec2159c eo: let's cache this value. 2013-04-11 18:07:09 +09:00
Daniel Willmann ab19019711 eo: Indicate that numbers in error messages are in hex - prefix with 0x
The message "Expected a and got b" is a bit misleading :-)

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-04-09 13:45:30 +01:00
Cedric BAIL a13456b04c eo: let's not duplicate our align code with a less efficient one. 2013-04-04 12:21:05 +09:00
Daniel Juyung Seo c16daf940f eo.c: fixed formatting. 2013-04-03 09:31:24 +09:00
Cedric BAIL 2063e4353d efl: integrate eina_log_timing. 2013-03-27 21:43:45 +09:00
Tom Hacohen 83180acf26 Eo: Added cur_klass as a parameter to eo_*_do_super.
We now need to pass the current class to eo_do_super. This is faster and
more memory efficient and generally lets us do things better.

Using the eo_benchmarks we get ~20% speed-up.
2013-03-18 16:14:18 +00:00
Tom Hacohen 1cbcf4e4f8 Eo: Fixed compilation warning.
Cedric: I love it that you don't test your fixes. :).
2013-03-12 11:21:21 +00:00
Cedric BAIL e07a7ac891 eo: 32bits should be enough for any sane object size. 2013-03-12 20:08:42 +09:00
Cedric BAIL 2a9d4d0765 eo: tired, fix language typo. 2013-03-12 19:23:00 +09:00
Cedric BAIL b309d26e3f eo: add a EO_DEBUG environment variable to get some useful statistic. 2013-03-12 19:17:11 +09:00
Cedric BAIL 4d316f3bec eo, evas, edje: reorder structure for reducing memory usage. 2013-03-12 19:17:11 +09:00
Carsten Haitzler 63802e5b84 since Eo.h is inclued in c++ stuff... how about we cast from the void *
return from calloc to Eo_Dbg_Info * since c++ is really unhappy with
this stuff without a cast (silly c++).
2013-03-05 23:00:38 +09:00
Tom Hacohen fc4846fbc6 Eo: Changed EO_DBG_INFO_LIST_APPEND to be an inline function.
It's cleaner. Should have never been a macro. This is part of the effort of
reducing the usage of ({ which is apparently a non standard extension.
We can get rid of most of it and ifdef the rest.
2013-03-05 09:26:07 +00:00
Cedric BAIL 495bcba4ac efl/eo: add an interface to give the list of parameter directly.
I restrained myself to not name it vodooooo !


SVN revision: 83850
2013-02-12 10:20:15 +00:00
Tom Hacohen 4b230bb164 Eo dbg info: Add support for to_string.
SVN revision: 83481
2013-01-30 13:35:31 +00:00
Tom Hacohen 70156285b0 Eo dbg: Use eina_value as the debug info type.
SVN revision: 83443
2013-01-29 16:36:01 +00:00
Aharon Hillel 028f059d32 Clouseau-Eo integration: Added debug info functions.
From now, classes implementing the Eo function with id
EO_BASE_SUB_ID_DBG_INFO_GET will be able to show in Clouseau their own
specific information.
Information contents is controlled by the class itself and no more
by Clouseau. Basic types and lists are supported..

Signed-off-by: Aharon Hillel <a.hillel@samsung.com>

SVN revision: 83410
2013-01-29 06:36:23 +00:00
Tom Hacohen 21a6a84667 Eo: Changed NDEBUG to EO_DEBUG.
This was stupid from the start, but now it casuse even more issues.
We'll have to just add a configure option to it when the time comes.

SVN revision: 82989
2013-01-18 16:57:57 +00:00
Christopher Michael 19b5f5a1b5 Fix doxygen typo.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 82416
2013-01-08 14:12:11 +00:00
Cedric BAIL 35a5c733ff eo: let's make weak ref safer to manipulate.
SVN revision: 81899
2012-12-30 12:26:25 +00:00
Gustavo Sverzut Barbieri 2608f68571 efl/docs: clean-up and make it more uniform.
now unified docs are bit more uniform in their start pages, overall
improved but much to do :-(



SVN revision: 81851
2012-12-28 23:26:05 +00:00
Leandro Dorileo 99a56aa411 eo: fix memory leak on _eo_class_mro_add
SVN revision: 80983
2012-12-14 20:03:25 +00:00
Vincent Torri 58a9a0ad57 merge: don't use recursive subdirs. Compilation should be faster.
Please check.

note1: Only lib and bin for now, but should be extended to other stuff
note2: distcheck does not work because eo_suite is failing.


SVN revision: 78758
2012-11-01 12:56:52 +00:00
Vincent Torri 124e0d4afd merge: add a holdall variable
SVN revision: 78503
2012-10-26 06:57:11 +00:00
Vincent Torri aac3e95ccf merge: -Wl,--enable-auto-import is useless with recent versions of gcc on Windows
SVN revision: 78495
2012-10-25 22:01:28 +00:00
Tom Hacohen 5b9449c540 Efl eo: Fixed compilation warnings.
SVN revision: 78365
2012-10-23 09:56:39 +00:00
Vincent Torri 77d90bd45e merge: pass directly to the preprocessor the Windows macro instead of using autotools
SVN revision: 78350
2012-10-23 05:43:57 +00:00
Sebastian Dransfeld 616e6b4a6a efl: patch from eobj
port r77631
fix eo on 64bit.. bad valist fun

SVN revision: 77637
2012-10-09 11:34:16 +00:00
Tom Hacohen 4aa928b9c0 EFL-Eo: Added -DNDEBUG by default.
SVN revision: 77608
2012-10-09 03:02:22 +00:00
Vincent Torri 7fe3d35994 merge: __UNUSED__ --> EINA_UNUSED and some fixes in eo.
SVN revision: 77542
2012-10-05 20:09:47 +00:00
Carsten Haitzler 156f4a783f and more include dir fixes.
SVN revision: 77122
2012-09-27 04:14:38 +00:00
Vincent Torri 3b5a3448b7 merge: add eo
SVN revision: 77072
2012-09-26 06:56:52 +00:00