[postgis-devel] alignment issues

strk at refractions.net strk at refractions.net
Thu Feb 10 09:32:53 PST 2005


I've committed the memory alignment changes:

	SERIALIZED_FORM() calls VARDATA()

	getbox2d_internal() has been dropped

	getPoint() renamed to getPoint_internal() and
		all its uses have been checked.

Please run any tests you have available with the new code (the regress
tests are also fine, but they need a lot of additions).

--strk;


On Thu, Feb 10, 2005 at 05:33:28PM +0100, strk at refractions.net wrote:
> On Thu, Feb 10, 2005 at 03:56:22PM -0000, Mark Cave-Ayland wrote:
> > Hi strk,
> > 
> > > -----Original Message-----
> > > From: postgis-devel-bounces at postgis.refractions.net 
> > > [mailto:postgis-devel-bounces at postgis.refractions.net] On 
> > > Behalf Of strk at refractions.net
> > > Sent: 10 February 2005 14:13
> > > To: 'PostGIS Development Discussion'
> > > Subject: Re: [postgis-devel] alignment issues
> > 
> > (cut)
> >  
> > > > I haven't had much experience with alignment issues, however this 
> > > > looks like the easiest solution to me (e.g. you can declare 
> > > a single 
> > > > POINT2D in your function and then reuse it for the entire set of 
> > > > POINT2Ds referenced within). I also noticed in the source that the 
> > > > functions to do this already exist, for example getPoint2d_p....
> > > 
> > > Yes, but they are cheating, they call getPoint() internally 
> > > ... --strk;
> > 
> > Really? Looking at RC2 I can't see any reference to getPoint() in
> > getPoint2d_p(), plus the code looks fairly similar to getPoint() just below
> > it...? Is this done in pointArray_ptsize() or in the serialized_pointlist[]
> > array?
> 
> That one doesn't,  getPoint3dz_p and others do.. not much important,
> I've already fixed them to not use casts. Also, I've renamed getPoint() to
> getPoint_internal(), as it would still be useful to get a reference to
> byte offset of a given point inside a POINTARRAY (tipically for setting
> value of a specific point).
> 
> BTW, POINTARRAY management is not our only alignment-related issue.
> We also have LWGEOM->bbox being a casted pointer to internal (serialized)
> storage - easily fixed - and most notably the SERIALIZED_FORM() macro
> which just moves the pointer 4 bytes after the start... 
> 
> These are big changes, but I think its worth completing before 1.0.
> 
> --strk;
> 
> 
> > 
> > 
> > Kind regards,
> > 
> > Mark.
> > 
> > ------------------------
> > WebBased Ltd
> > South West Technology Centre
> > Tamar Science Park
> > Plymouth
> > PL6 8BT 
> > 
> > T: +44 (0)1752 791021
> > F: +44 (0)1752 791023
> > W: http://www.webbased.co.uk
> > 
> > 
> > _______________________________________________
> > postgis-devel mailing list
> > postgis-devel at postgis.refractions.net
> > http://postgis.refractions.net/mailman/listinfo/postgis-devel
> _______________________________________________
> postgis-devel mailing list
> postgis-devel at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-devel



More information about the postgis-devel mailing list