[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