framework/uifw/eina.git
15 years agoadd error catching and output if mempool alloc/init fails.
raster [Wed, 29 Oct 2008 23:12:56 +0000 (23:12 +0000)]
add error catching and output if mempool alloc/init fails.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@37321 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agoRemove unused attribute warnings.
barbieri [Wed, 29 Oct 2008 14:51:18 +0000 (14:51 +0000)]
Remove unused attribute warnings.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@37307 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agoFix stringshare on 64bits platforms.
barbieri [Wed, 29 Oct 2008 14:18:29 +0000 (14:18 +0000)]
Fix stringshare on 64bits platforms.

sizeof(Eina_Stringshare_Node) is now 24 bytes on 64bits platforms, but
str[] was pointing to before that, to the 20th byte, causing out of
bounds access.

Adding the padding will cause str[] to use the correct position. It
wastes 4 more bytes, like pre-optimizations, but it's just on big
machines.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@37305 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agoremove from list properly and don't segv!
raster [Wed, 29 Oct 2008 01:38:47 +0000 (01:38 +0000)]
remove from list properly and don't segv!

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@37290 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agoignore generated data.
barbieri [Tue, 28 Oct 2008 18:26:06 +0000 (18:26 +0000)]
ignore generated data.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@37283 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agorefactor eina_stringshare_del() to make it easier to read.
barbieri [Tue, 28 Oct 2008 18:12:10 +0000 (18:12 +0000)]
refactor eina_stringshare_del() to make it easier to read.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@37282 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agoimprove readability: avoid macros inside our code
barbieri [Tue, 28 Oct 2008 17:47:59 +0000 (17:47 +0000)]
improve readability: avoid macros inside our code

mixing #ifdef'ed blocks inside code is bad, can lead to warnings if
some variables are not used and it's a pain to read.

instead, just define functions and always call them, choose their
implementation based on the ifdef macros. I opted to have 2
declarations, but one can go like other parts and #ifdef around the
function contents as well.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@37281 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agotest small strings.
barbieri [Tue, 28 Oct 2008 17:19:02 +0000 (17:19 +0000)]
test small strings.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@37280 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agoAdd missing magic check for existing node.
barbieri [Tue, 28 Oct 2008 17:16:42 +0000 (17:16 +0000)]
Add missing magic check for existing node.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@37279 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agoCode refactor and cleanup of eina_stringshare_add().
barbieri [Tue, 28 Oct 2008 17:15:07 +0000 (17:15 +0000)]
Code refactor and cleanup of eina_stringshare_add().

Cases are now handled in separate, doing less useless steps and easier
to understand since 3 cases are now distinct.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@37278 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agoThis test is now not defined. Remove it.
cedric [Tue, 28 Oct 2008 16:40:34 +0000 (16:40 +0000)]
This test is now not defined. Remove it.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@37277 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agofix _GET macros.
barbieri [Tue, 28 Oct 2008 16:37:32 +0000 (16:37 +0000)]
fix _GET macros.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@37276 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agoMake Eina_Rectangle_Pool more usable.
cedric [Tue, 28 Oct 2008 15:28:46 +0000 (15:28 +0000)]
Make Eina_Rectangle_Pool more usable.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@37275 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agoFix a little typo.
cedric [Tue, 28 Oct 2008 14:45:16 +0000 (14:45 +0000)]
Fix a little typo.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@37274 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agosave a byte per stringshare node.
barbieri [Tue, 28 Oct 2008 12:34:58 +0000 (12:34 +0000)]
save a byte per stringshare node.

we don't need to use 'begin' flag (that takes a byte) just to see if
we're in the same memory block as the head, just do a pointer math.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@37270 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agoreduce the popuplation_group size.
barbieri [Tue, 28 Oct 2008 12:26:05 +0000 (12:26 +0000)]
reduce the popuplation_group size.

we just have special case for up to 3 letters, everything else is
regular population.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@37269 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agostringshare_del optimization.
barbieri [Tue, 28 Oct 2008 12:23:12 +0000 (12:23 +0000)]
stringshare_del optimization.

trade off safety by speed, we will always assume str was previously
shared, like evas_stringshare_del() did and we can know with zero-cost
the number of references and can avoid strlen() too.

When references drop to zero we still have to do the hash, access the
bucket and then lookup the Red-Black tree, then walk the list of
nodes, but avoiding so would use more memory, unacceptable at this
point.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@37268 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agoSave 4 bytes per big string shared.
barbieri [Tue, 28 Oct 2008 00:42:35 +0000 (00:42 +0000)]
Save 4 bytes per big string shared.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@37258 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agoCheap way to get strlen of a shared string.
barbieri [Tue, 28 Oct 2008 00:31:09 +0000 (00:31 +0000)]
Cheap way to get strlen of a shared string.

it's not safe, but it's faster and can help for large strings, maximum
cost is 4 comparisons plus one pointer access.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@37257 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agodefine function as void as in prototype.
barbieri [Tue, 28 Oct 2008 00:18:31 +0000 (00:18 +0000)]
define function as void as in prototype.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@37256 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agodump show percentages.
barbieri [Mon, 27 Oct 2008 20:35:28 +0000 (20:35 +0000)]
dump show percentages.

not that useful, but I like it.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@37253 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agoAdd Eina_Rectangle_Pool support. Typically help for font handling in OpenGL or
cedric [Mon, 27 Oct 2008 20:24:12 +0000 (20:24 +0000)]
Add Eina_Rectangle_Pool support. Typically help for font handling in OpenGL or
any case where you need to split a rectangle in many differents small rectangle.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@37252 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agobetter optimize small stringshare comparison
barbieri [Mon, 27 Oct 2008 20:16:52 +0000 (20:16 +0000)]
better optimize small stringshare comparison

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@37251 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agostringshare: special case for small (2-3 letters).
barbieri [Mon, 27 Oct 2008 19:26:14 +0000 (19:26 +0000)]
stringshare: special case for small (2-3 letters).

This should reduce overhead and give a bit speedup as well, let's test
with e17 real data and see how it goes.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@37250 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agoSince CLOCK_PROCESS_CPUTIME_ID is a POSIX standard, we use it if it
englebass [Mon, 27 Oct 2008 15:16:06 +0000 (15:16 +0000)]
Since CLOCK_PROCESS_CPUTIME_ID is a POSIX standard, we use it if it
exists regardles of system. Seems BSD actually is the weird case here.
Still use CLOCK_REALTIME as fallback.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@37249 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agoBetter fallback on clock as suggested by Naruto TAKAHASHI
englebass [Mon, 27 Oct 2008 15:08:46 +0000 (15:08 +0000)]
Better fallback on clock as suggested by Naruto TAKAHASHI

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@37248 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agoFix CLOCK as suggested by Ravenlock.
englebass [Mon, 27 Oct 2008 14:19:55 +0000 (14:19 +0000)]
Fix CLOCK as suggested by Ravenlock.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@37247 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agoCorrectly put condition around the code.
cedric [Mon, 27 Oct 2008 14:05:09 +0000 (14:05 +0000)]
Correctly put condition around the code.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@37244 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years ago* Optimize case for string length == 0 and 1.
cedric [Mon, 27 Oct 2008 13:23:52 +0000 (13:23 +0000)]
* Optimize case for string length == 0 and 1.
* Add more debug information when using --enable-stringshare-usage.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@37239 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agoMark unused parameter with __UNUSED__
englebass [Mon, 27 Oct 2008 09:49:13 +0000 (09:49 +0000)]
Mark unused parameter with __UNUSED__

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@37214 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agoadd a stringshare dumper so we can examine what's in there and improve usage.
raster [Mon, 27 Oct 2008 00:36:22 +0000 (00:36 +0000)]
add a stringshare dumper so we can examine what's in there and improve usage.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@37186 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agoSat Oct 25 11:41:49 2008 Michael Jennings (mej)
mej [Sat, 25 Oct 2008 18:46:18 +0000 (18:46 +0000)]
Sat Oct 25 11:41:49 2008                        Michael Jennings (mej)

Add spec file for eina.
----------------------------------------------------------------------

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@37104 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agoBuild on FreeBSD. Patch from Naruto, plus a tweak to remove the unneeded libdl.
ravenlock [Sat, 25 Oct 2008 18:17:22 +0000 (18:17 +0000)]
Build on FreeBSD.  Patch from Naruto, plus a tweak to remove the unneeded libdl.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@37103 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agohandle some bizarre build issues...
raster [Fri, 24 Oct 2008 10:57:00 +0000 (10:57 +0000)]
handle some bizarre build issues...

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@37048 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agomodules most export init and shutdown as EAPI
englebass [Fri, 24 Oct 2008 06:24:08 +0000 (06:24 +0000)]
modules most export init and shutdown as EAPI

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@37042 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agosmall doxy fix
davemds [Fri, 24 Oct 2008 00:37:09 +0000 (00:37 +0000)]
small doxy fix

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@37037 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agoReally return Eina_Bool.
cedric [Thu, 23 Oct 2008 12:50:33 +0000 (12:50 +0000)]
Really return Eina_Bool.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@37022 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agoAdd more error information during eina module load.
cedric [Wed, 22 Oct 2008 08:56:19 +0000 (08:56 +0000)]
Add more error information during eina module load.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@36955 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agoeina_bool is now an unsigned char.
barbieri [Tue, 21 Oct 2008 15:21:37 +0000 (15:21 +0000)]
eina_bool is now an unsigned char.

This makes clear what size and if we have a signal or not in our type,
so no compilers have the right to choose different for us (like they
do with enum).

Also fixes compile of C++ programs with eina_rectangle.h, that
contains some inline code, the expression evaluates a boolean
expression and compiler does not know how to convert that to old
Eina_Bool.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@36939 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agoRename EINA_LIST_ITER_NEXT to EINA_LIST_FOREACH.
cedric [Tue, 21 Oct 2008 12:49:29 +0000 (12:49 +0000)]
Rename EINA_LIST_ITER_NEXT to EINA_LIST_FOREACH.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@36930 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agoRename EINA_INLIST_ITER_NEXT/EINA_INLIST_ITER_LAST to EINA_INLIST_FOREACH/
cedric [Tue, 21 Oct 2008 12:19:57 +0000 (12:19 +0000)]
Rename EINA_INLIST_ITER_NEXT/EINA_INLIST_ITER_LAST to EINA_INLIST_FOREACH/
EINA_INLIST_REVERSE_FOREACH so it best match is behaviour. Asked by Gustavo.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@36928 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agoAdd Debian files.
kaethorn [Tue, 21 Oct 2008 12:07:40 +0000 (12:07 +0000)]
Add Debian files.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@36927 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agoAdd merge function to list data type.
cedric [Tue, 21 Oct 2008 11:28:38 +0000 (11:28 +0000)]
Add merge function to list data type.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@36922 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agoActually include eina_convert in the main header.
cedric [Mon, 20 Oct 2008 15:01:01 +0000 (15:01 +0000)]
Actually include eina_convert in the main header.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@36860 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agoFix hash iterator to iterate with only one element.
cedric [Mon, 20 Oct 2008 14:45:01 +0000 (14:45 +0000)]
Fix hash iterator to iterate with only one element.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@36858 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agoPut the mempool backend structure with other structure.
cedric [Mon, 20 Oct 2008 13:23:18 +0000 (13:23 +0000)]
Put the mempool backend structure with other structure.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@36855 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agoZero is a correct value.
cedric [Mon, 20 Oct 2008 13:21:52 +0000 (13:21 +0000)]
Zero is a correct value.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@36854 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agoactually compile!
raster [Mon, 20 Oct 2008 12:08:16 +0000 (12:08 +0000)]
actually compile!

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@36849 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agoApps can now provide their own mempool.
cedric [Mon, 20 Oct 2008 11:40:01 +0000 (11:40 +0000)]
Apps can now provide their own mempool.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@36847 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agoand remvoe cats
raster [Mon, 20 Oct 2008 04:30:21 +0000 (04:30 +0000)]
and remvoe cats

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@36834 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agomake eina able to do automake 1.9 and before... :)
raster [Mon, 20 Oct 2008 04:25:13 +0000 (04:25 +0000)]
make eina able to do automake 1.9 and before... :)

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@36833 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agoFix compilation and warnings on Windows:
caro [Thu, 16 Oct 2008 21:31:51 +0000 (21:31 +0000)]
Fix compilation and warnings on Windows:

 * include Evil.h for getenv on mingw32ce
 * include config.h in benchmark.c so that EAPI is correctly defined
 * minor fixes in configure.ac

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@36729 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agoSeems better that way.
cedric [Wed, 15 Oct 2008 16:47:54 +0000 (16:47 +0000)]
Seems better that way.

Thanks for your help ni1s.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@36691 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agoOops forgot this one.
cedric [Wed, 15 Oct 2008 16:40:57 +0000 (16:40 +0000)]
Oops forgot this one.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@36690 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agoShould fix build outside of the source tree.
cedric [Wed, 15 Oct 2008 16:23:14 +0000 (16:23 +0000)]
Should fix build outside of the source tree.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@36689 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agoAdd option to report stringshare usage (E17 use around 10000 differents strings).
cedric [Tue, 14 Oct 2008 15:32:57 +0000 (15:32 +0000)]
Add option to report stringshare usage (E17 use around 10000 differents strings).

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@36658 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agoFix stringshare bug with same length.
cedric [Tue, 14 Oct 2008 15:31:45 +0000 (15:31 +0000)]
Fix stringshare bug with same length.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@36657 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

15 years agoMove eina outside of PROTO.
cedric [Fri, 10 Oct 2008 09:38:39 +0000 (09:38 +0000)]
Move eina outside of PROTO.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@36564 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33