On Thu, Sep 10, 2009 at 10:53:17AM +1000, Carsten Haitzler wrote:
> On Tue, 8 Sep 2009 20:52:39 -0300 Gustavo Sverzut Barbieri
> <barbi...@profusion.mobi> said:
> 
> you've already put my word in on this. i go the accounting way. 1. it is
> consistent with eina_list. 2. can be extended beyond last and include count 
> and
> many other things. 3. doesn't change inlist struct size to be bigger (tho we
> dont win on it being smaller). 4. doesnt play evil games. (using low-order 
> bits
> in pointers is wrong imho. i've sen this game played before (using high order
> bits) and then it com crashing down on peoples heads when suddenly those used
> bits become relevant. using those bits will also require instruction overhead
> of masking them out always before use. so you lose on the code simplicity and
> speed side, just to save 4 bytes (or 8 on 64bit) per inlist instance. it's not
> worth it. it is possible also in future allocations no longer are limited to
> word boundaries and allocs do use those bits, thus removing them from our use
> and requiring another solution.

Does anyone know if the issues related to using the lower bits of pointers
architecture-specific, libc-specific or both?

I was pondering this recently in relation to a different project. I know
that they use this technique in the Linux kernel. But obviously they have
quite a lot of control over what their memory addresses look like in terms
of alignment and thus unused bits.


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to