delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2002/05/06/17:52:56

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Message-ID: <40700B4C02ABD5119F000090278766443BF294@hplex1.hpl.hp.com>
From: "Boehm, Hans" <hans_boehm AT hp DOT com>
To: "'Randall R Schulz'" <rrschulz AT cris DOT com>,
"Boehm, Hans"
<hans_boehm AT hp DOT com>,
"'tprince AT computer DOT org'" <tprince AT computer DOT org>, tromey AT redhat DOT com
Cc: "Billinghurst, David (CRTS)" <David DOT Billinghurst AT riotinto DOT com>,
java AT gcc DOT gnu DOT org, cygwin AT cygwin DOT 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

> From: Randall R Schulz [mailto:rrschulz AT cris DOT 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/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019