[M3devel] a note on user thread -- *context not 'universal'
Tony Hosking
hosking at cs.purdue.edu
Mon Jan 12 22:04:02 CET 2009
makecontext/getcontext/setcontext and friends are both available on
Darwin and should do FP state properly.
On 13 Jan 2009, at 01:30, Olaf Wagner wrote:
> 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