This is the mail archive of the
java-patches@gcc.gnu.org
mailing list for the Java project.
RE: Alignment problem with hashtable locks on PowerPC
- To: "Boehm, Hans" <hans_boehm at hp dot com>
- Subject: RE: Alignment problem with hashtable locks on PowerPC
- From: Jeff Sturm <jsturm at one-point dot com>
- Date: Mon, 12 Nov 2001 14:26:44 -0500 (EST)
- Cc: "'Bryce McKinlay'" <bryce at waitaki dot otago dot ac dot nz>, "'java-patches at gcc dot gnu dot org '" <java-patches at gcc dot gnu dot org>
On Mon, 12 Nov 2001, Boehm, Hans wrote:
> > From: Bryce McKinlay [mailto:bryce@waitaki.otago.ac.nz]
> ...
> > I've heard that
> > pthread_self() is
> > pretty slow on ppc linux due to lack of provision for a
> > thread register
> > in the ABI, so that might have something to do with it - might be
> > interesting to try with SLOW_PTHREAD_SELF and see if it helps
> > things?
> I would definitely try that. It cold make a substantial difference. You
> probably need to make a pass over that code to check that it's correct with
> respect to the PowerPC memory model.
For SPARC I read the thread ID from a global register. Empirically I
found that %g7 contains thread-specific data, at least on Solaris 7.
However the ABI reserves this register for system use, so this is probably
unsuitable for use in libgcj.
There are three other registers reserved for application use. I assume
libgcj could use any of these for thread-local data? Doesn't the PPC ABI
have similar application-defined registers?
Jeff