PATCH: libjava FreeBSD configuration

Loren James Rittle rittle@latour.rsch.comm.mot.com
Thu Apr 4 20:30:00 GMT 2002


> Yes, this looks good, please check it in.

OK, done.

> I suspect/hope that we will soon be able to get rid of
> -fcheck-references on more platforms once we have the
> sigcontext->unwind context support, this should make it easier to do
> that for specific platforms.

Excellent, I am a fish out of water at that level.

>> FYI, in case anyone wonders, I am 100% positive that we don't want
>> slow_pthread_self=yes on FreeBSD since it is merely a libc function
>> that returns a global variable.

> Hmm, note that slow_pthread_self avoids the call overhead into libc for 
> the common case also.

True, but, comparing the generated asm, the code path in
_Jv_ThreadSelf() [when SLOW_PTHREAD_SELF] is longer and contains an
extra conditional branch than the branch-free pthread_self()
implemented as...

> BTW how can a thread ID be in a global variable?

...at *every* task switch, the global variable that pthread_self()
will return is updated (it is used for other internal purposes as
well).  This simple implementation does not allow concurrent threads
of a process to span multiple CPUs (as I'm fairly sure Solaris and
modern Linux implementations do).

BTW, I only played with the tuning knob as was given to me... ;-)

Regards,
Loren



More information about the Java-patches mailing list