[M3devel] a note on user thread -- *context not 'universal'

Olaf Wagner wagner at elegosoft.com
Mon Jan 12 15:30:20 CET 2009


Quoting Jay <jay.krell at cornell.edu>:

> Do we really need the assembly _fpsetjmp?

IIRC, I introduced fpsetjmp/fplongjmp when I made the first FreeBSD code,
as FreeBSD does not care about storing the floating point state,
and spurious FP errors occured when switching threads by longjmp.
I think Bruce Evans contributed the FreeBSD assembler code.

It may be that Darwin, which is derived from FreeBSD in certain areas,
has inherited this problem (I don't remember offhand, and I haven't
done much BSD or M3 programming in recent months). I think no other
systems needed to use specially crafted setjmp/longjmp pairs to
accomodate the M3 user threads.

Olaf
-- 
Olaf Wagner -- elego Software Solutions GmbH
                Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin, Germany
phone: +49 30 23 45 86 96  mobile: +49 177 2345 869  fax: +49 30 23 45 86 95
    http://www.elegosoft.com | Geschäftsführer: Olaf Wagner | Sitz: Berlin
Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194




More information about the M3devel mailing list