Commit Graph

24 Commits

Author SHA1 Message Date
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
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
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
Leandro Dorileo 99a56aa411 eo: fix memory leak on _eo_class_mro_add
SVN revision: 80983
2012-12-14 20:03:25 +00:00
Tom Hacohen 5b9449c540 Efl eo: Fixed compilation warnings.
SVN revision: 78365
2012-10-23 09:56:39 +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
Vincent Torri 3b5a3448b7 merge: add eo
SVN revision: 77072
2012-09-26 06:56:52 +00:00