Object alignment, was: cygwin failures - assertion "!(addr &F LAGS)" failed:

Boehm, Hans hans_boehm@hp.com
Wed May 8 08:57:00 GMT 2002


If this is for 3.2 or later, I would advocate adding the option to the hash
synchronization code to drop the 3 least significant bits to compute the
lock id instead of disabling hash synchronization altogether.  So long as
nothing relies on locking something that isn't a Java object containing at
least one real field, this is guaranteed to be safe.  Locking a statically
allocated plain java.lang.Object may be an issue, since I think it's too
small.

I think we concluded that the cygwin port currently doesn't support threads
anyway (since the GC port hasn't been integrated yet), so I don't think
we're that close to making this really useful.

Hans

> -----Original Message-----
> From: Billinghurst, David (CRTS)
> [mailto:David.Billinghurst@riotinto.com]
> Sent: Tuesday, May 07, 2002 7:02 PM
> To: Bryce McKinlay
> Cc: java@gcc.gnu.org; cygwin@cygwin.com
> Subject: RE: Object alignment, was: cygwin failures - 
> assertion "!(addr
> &FLAGS)" failed:
> 
> 
> I will potter along with a modified binutils for a while.  IF I get
> something workable THEN we can try and identify the best fix for each 
> of the issues that have been identified.
> 
> -----Original Message-----
> From: Bryce McKinlay [mailto:bryce@waitaki.otago.ac.nz]
> Sent: Wednesday, 8 May 2002 11:30 
> To: Billinghurst, David (CRTS)
> Cc: java@gcc.gnu.org; cygwin@cygwin.com
> Subject: Re: Object alignment, was: cygwin failures - 
> assertion "!(addr
> &FLAGS)" failed:
> 
> 
> Billinghurst, David (CRTS) wrote:
> 
> >After rebuilding binutils with 16-byte alignment
> > - the first libjava testsuite executable ran
> > - another dejagnu problem killed the testsuite 
> >
> >So this approach is promising, but will need to do some
> >more dejagnu hacking :-< 
> >  
> >
> 
> So the problem is that binutils doesn't/can't support alignment 
> directives (.align) for win32 targets? If this is the case it would 
> probibly be better to tweak libjava/configure.in so that hash 
> synchronization is disabled for win32. AFAIK thats the only thing in 
> libgcj that has the 8-byte alignment requirement.
> 
> regards
> 
> Bryce.
> 
> 



More information about the Java mailing list