Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com
Message-ID: <40700B4C02ABD5119F000090278766443BF294@hplex1.hpl.hp.com>
From: "Boehm, Hans" <hans_boehm@hp.com>
To: "'Randall R Schulz'" <rrschulz@cris.com>,
   "Boehm, Hans"
	 <hans_boehm@hp.com>,
   "'tprince@computer.org'" <tprince@computer.org>, tromey@redhat.com
Cc: "Billinghurst, David (CRTS)" <David.Billinghurst@riotinto.com>,
   java@gcc.gnu.org, cygwin@cygwin.com
Subject: RE: Object alignment, was: cygwin failures - assertion "!(addr & 
	 FLAGS)" failed:
Date: Mon, 6 May 2002 14:50:32 -0700 
MIME-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"

> From: Randall R Schulz [mailto:rrschulz@cris.com]
> 
> Is there a reason that the three bits used for lock 
> management must be the 
> least significant three? The XSB interpreter (XSB is a Prolog 
> system) uses 
> even more bits, but doesn't demand that they be contiguous. 
> Depending on 
> the processor, machine and OS architecture, the tag bits XSB 
> needs (which 
> are classic data type tags) can be split and reassembled as needed. 
> Naturally, it can get costly to do this, but I assume that it 
> maximizes the 
> set of systems on which XSB can run while preserving as many bits as 
> possible for the actual (type-tagged) data values stored.
> 
> Is there a reason a more flexible approach to "stolen" bits 
> cannot be taken 
> by GCJ?
Not that I know of.  I think it would be fairly easy to make this
configurable.  The code shouldn't rely on the position of those bits anyway,
and I believe it doesn't.

This may help with some embedded applications.  Otherwise I'm not sure it
would buy you much.  On 64-bit processore, 8-byte alignment is generally
required anyway.  On 32-bit processors, I don't think you want to limit the
address space any more than it already is.

My guess is that allowing the code to be configured to require only 8 byte
object spacing (by simply dropping the low order bits in the locking code)
is a more general solution.

Hans

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

