[ODE] Re: ODE (and mainly OPCODE) for 64bits
Barog at pineapple-interactive.com
Thu Jan 20 10:16:52 MST 2005
As Pierre says converting those pointers to 8bytes would defeat the aim
of his software, so either as suggested use a 32bit index with a 64bit
base or perhaps use a 32bit delta from each node which saves having to
look up the base.
Simon Barratt, Lead Developer, Pineapple Interactive Ltd
e: barog at pineapple-interactive.com
t: +44 (0)1274 480185
> -----Original Message-----
> From: ode-bounces at q12.org [mailto:ode-bounces at q12.org] On
> Behalf Of Pierre Terdiman
> Sent: 20 January 2005 09:02
> To: Frederic Marmond; ode at q12.org
> Subject: [ODE] Re: ODE (and mainly OPCODE) for 64bits
> > Well, I don't know, but it misses a typedef inside ICE:
> > for pointers...
> > Actually in the code, pointers may be casted into udword, which are
> > In a 64bits AMD64 architecture, pointers are 8 bytes...
> > So, the warnings we see at compile time.
> > I have no time to investigate more, and to add the pointer typedef
> > (and I
> > don't know if it is possible to make it fit into actual sctuctures)
> > If Pierre wants, I can cooperate with him for that port...
> (if it is
> > not longer than 2 or 3 evenings...)
> As far as I'm concerned, storing an 8-bytes pointer within
> the Opcode structures is just not an option. The whole point
> was to save some memory, I obviously don't want to waste it
> now, especially to store useless data.
> So, porting Opcode to 64-bits isn't as simple as changing the
> pointer size.
> To do that correctly you have to replace all the pointers
> with (32 bit) indices, and give the collision code access to
> the base pointer (64 bit) so that it can recreate the correct
> addresses at runtime (which might be a small performance hit).
> Well, feel free to do it but I don't have time for this.
> - Pierre
> ODE mailing list
> ODE at q12.org
More information about the ODE