This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: RFC: GIMPLE tuples. Design and implementation proposal


On 11 April 2007 12:53, Andi Kleen wrote:

> Richard Henderson <rth@redhat.com> writes:
> 
>> On Tue, Apr 10, 2007 at 11:13:44AM -0700, Ian Lance Taylor wrote:
>>> The obvious way to make the proposed tuples position independent would
>>> be to use array offsets rather than pointers.
>> 
>> I suggest instead, if we want something like this, that we make
>> the references be pc-relative.  So something like
> 
> If you go this way (and require special GC/debugger support) you
> could as well xor next/prev too and save another field.
> 
> Adding a xor is basically free and much cheaper than any cache miss
> from larger data structures.

  Using a delta is even better than an XOR, because it remains constant when
you relocate the data.
 
> The only thing that wouldn't work is that when you have a pointer
> to an arbitary element (without starting from beginning/end first)
> you couldn't get previous or next.

  You need a pointer to two consecutive nodes to act as an iterator.

  However we already discussed the whole idea upthread and the general feeling
was that it's a whole bunch of tricky code for a small saving, so not worth
doing in the first iteration.  Maybe as a future refinement.  See the earlier
posts in this thread for the discussion.



    cheers,
      DaveK
-- 
Can't think of a witty .sigline today....


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]