Jérémy Zurcher
f4c1bff0f3
eo: eo_do_super_internal() supports objects and classes
...
eo_class_do_super() macro calls eo_do_super()
eo_class_do_super_internal() and _eo_class_op_internal() are removed
Conflicts:
src/lib/eo/eo.c
2013-09-27 14:01:46 +01:00
Jérémy Zurcher
c4b40aae0d
eo: eo_class_get() supports objects and classes
2013-09-27 14:01:46 +01:00
Jérémy Zurcher
8855024e16
eo: eo_class_name_get() supports objects and classes
2013-09-27 14:01:46 +01:00
Jérémy Zurcher
ef62885c93
eo: eo_vdo_internal() supports objects and classes
...
Conflicts:
src/lib/eo/Eo.h
src/lib/eo/eo.c
2013-09-27 14:01:46 +01:00
Jérémy Zurcher
12bfc76483
eo: eo_do_internal() supports objects and classes
...
eo_class_do() macro calls eo_do()
eo_class_do_internal() is removed
op_type argument is remove from eo_do, eo_vdo_internal
Conflicts:
src/lib/eo/eo.c
2013-09-27 14:01:46 +01:00
Jérémy Zurcher
c24775c58d
eo: add union _Eo to unify objects and classes internal pointers
2013-09-27 14:01:46 +01:00
Jérémy Zurcher
f43287a261
eo: add _eo_is_a_class(const Eo *obj_id)
2013-09-27 14:01:46 +01:00
Jérémy Zurcher
41bd91379e
eo: _Eo -> _Eo_Object
...
Conflicts:
src/lib/eo/eo.c
2013-09-27 14:01:46 +01:00
Jérémy Zurcher
ee1b0833ed
eo: replace Eo_Class with Eo
2013-09-27 14:01:46 +01:00
Jérémy Zurcher
a246e581a6
eo: if HAVE_EO_ID use MBS to tag Eo_Id
...
a bit is taken from generation bits to tag objects references so that we
know if a Eo* is a class or an object
2013-09-27 14:01:46 +01:00
Jérémy Zurcher
5913f78b4f
eo: if !HAVE_EO_ID front-pad _Eo_Class and _Eo_Object with _Eo_Handle
...
this is the first step on the road to remove class specific EAPI from Eo.h
using this handle we will know if a Eo* is a class or an object pointer
Conflicts:
src/lib/eo/eo.c
2013-09-27 14:01:46 +01:00
Tom Hacohen
1845ffe5b0
Eo: remove the classe's EINA_MAGIC when using eo_id.
2013-09-26 16:26:55 +01:00
Cedric Bail
936a8072f2
eo: make eo_parent_get/set part of eo_base_class.
2013-09-25 13:34:18 +09:00
Jérémy Zurcher
3ea1f7ae7c
eo: rename _Eo_Internal -> _Eo_Object
2013-09-24 14:53:49 +01:00
Jérémy Zurcher
dc63739a9d
eo: typedef uintptr_t Eo_Id; as Eo_Class_Id
2013-09-24 14:53:05 +01:00
Jérémy Zurcher
2041e995fc
eo: fix EO_DEBUG compilation
2013-09-23 11:07:07 +02:00
Jérémy Zurcher
027548011c
eo_ptr_indirection.x: fix _eo_id_release when !HAVE_EO_ID
2013-09-18 17:12:15 +02:00
Cedric Bail
7f23deb723
eo: fix typo.
2013-09-13 16:46:08 +09:00
Cedric Bail
cd77853222
eo: add eo_childrens_iterator_new().
...
The goal would be to replace the smart children list and friends. The
problem is that they differ in content. Smart children and Eo children are
the same, but Elm children and them differ. If I put this function as a
virtual, it would be possible to override the list of children and if we
start using it in Evas render loop, that could result in "weird" behavior.
I have added the use of a simplified Eina_Trash mempool kind of feature
to have some fast path for allocation if we start using it in Evas render
loop.
2013-09-11 16:08:06 +09:00
Cedric Bail
5290befb53
eo: add a small object cache to make memory recycling faster.
2013-09-11 11:23:50 +09:00
Tom Hacohen
77cf31d322
Eo: Set (again, got removed) deleted eo objects' magic.
...
The French tried to sneak a bug in, they failed.
Bug was introduced in 337fac0e73
.
2013-09-10 15:57:34 +01:00
Jérémy Zurcher
5afa29af59
eo: slight speed up
2013-08-09 16:03:09 +02:00
Ryuan Choi
2692234b60
Moved brace of extern "C" to fix build break in c++ applications
2013-07-28 20:38:34 +09:00
Jérémy Zurcher
fc4e117e10
remove double def of Eo_Callback_Priority
2013-07-23 19:41:37 +00:00
Cedric Bail
1dd7ed18bc
eo: turn Eo API in a beta API as discussion are still ongoing.
2013-07-23 11:27:29 +09:00
Cedric Bail
60eb5d07ea
eo: simplify callbacks array declaration for the lazy tasn.
2013-07-17 11:05:50 +09:00
Cedric Bail
e939d9a1ce
eo: let's add a macro to define a callbacks array.
2013-07-16 20:03:48 +09:00
Cedric Bail
cecd19803e
eo: let's handle memory allocation gracefully.
2013-07-16 20:03:48 +09:00
Cedric Bail
166e89baac
Revert "eo: try to fix callback array to work on other system."
...
This reverts commit e89f32d28d
.
2013-07-16 15:18:16 +09:00
Cedric Bail
ebb36c98a8
eo: micro optimization speed up callback call by 3%.
2013-07-16 13:45:36 +09:00
Cedric Bail
e89f32d28d
eo: try to fix callback array to work on other system.
2013-07-16 13:41:27 +09:00
Cedric Bail
cb5dbb55c3
eo: reporting error here just make the caller code more complex for nothing valuable.
2013-07-05 10:18:19 +09:00
Cedric Bail
a865b77c14
eo: another small micro optimization giving a 10% speed increase.
2013-07-04 13:02:28 +09:00
Cedric Bail
cc012b754c
eo: little micro optimization.
2013-07-01 18:35:55 +09:00
Cedric Bail
c435968f69
eo: a little more inlining, give me a 10% speed improvement.
2013-07-01 18:18:40 +09:00
Cedric Bail
dcf65a8eec
eo: add a new macro to make the code easier to read and use it.
2013-06-28 15:28:30 +09:00
Cedric Bail
7849c5de32
eo: 30% speed improvement in message propagation.
2013-06-28 10:18:39 +09:00
Jérémy Zurcher
8619bf1323
eo_class_new: reorder last operations in class creation
2013-06-18 00:08:58 +02:00
Jérémy Zurcher
2350f1fb30
eo_class_new: pack ext data offsets at the end of _Eo_Class
2013-06-17 23:48:22 +02:00
Jérémy Zurcher
841b46fc90
eo_class_new: speed up mixins offset table creation
2013-06-17 23:47:15 +02:00
Jérémy Zurcher
5f83d1a80b
eo_class_new: check parent and desc before doing anything
2013-06-17 23:41:45 +02:00
Jérémy Zurcher
4eb2fb0bb6
eo_class_new: pack mro at the end of _Eo_Class
2013-06-17 23:41:02 +02:00
Jérémy Zurcher
e0293a421f
eo_class_new: remove duplicates in extensions as well as in mro
2013-06-17 23:38:04 +02:00
Jérémy Zurcher
2f79056078
eo_class_new: pack extensions at the end of _Eo_Class
2013-06-17 23:35:48 +02:00
Jérémy Zurcher
0c4c7ecd3a
eo_class_new: add and use _eo_class_sz
2013-06-17 23:33:19 +02:00
Jérémy Zurcher
4d2f4a1ae5
eo_class_new: replace class field extn_data_size with obj_size
2013-06-17 23:32:50 +02:00
Jérémy Zurcher
1f7ae48215
eo_class_new: fix big memory waste
...
extn_data_size is not equal to extn_data_off,
current class data size and data offset must be substracted first
elementary_test bubble peak usage goes from 13.7 MiB to 12.5 MiB
2013-06-10 16:42:15 +02:00
Jérémy Zurcher
4e742bf0bf
eo: fix advertised object size in dbg msg
2013-06-10 16:42:15 +02:00
Daniel Zaoui
a435306974
Eo: improve error message.
2013-06-03 14:31:31 +03:00
Tom Hacohen
6e3f555fe4
Eo: Made del event an hot event (we always want to get it).
2013-05-21 15:07:41 +01:00