delorie.com/archives/browse.cgi | search |
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/
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |