[D-runtime] Fibers and x87/SSE control words?

Martin Nowak dawg at dawgfoto.de
Mon Feb 13 12:26:32 PST 2012


On Mon, 13 Feb 2012 19:51:08 +0100, David Nadlinger <code at klickverbot.at>  
wrote:

> After a few hours of reverse-engineering x86 SEH, I finally got  
> exceptions in fibers working on my Windows Server 2008 R2 box – sorry,  
> Sean, that I reported them working after your previous changes, I was  
> only testing on my XP VM. Please see:  
> https://github.com/D-Programming-Language/druntime/pull/150 (not  
> super-urgent, but fixes the Thrift async client code)
>
> Anyway, while working on the code, I noticed that we are currently not  
> saving/restoring the x87 and SSE control words. Now, I'd certainly love  
> to keep the context switching overhead as low as possible, but should we  
> add a pair of stmxcsr/ldmxcsr reps. fnstcw/fldcw for the sake of  
> correctness?
>
> If necessary, I can prepare a patch.
>
> David
> _______________________________________________
> D-runtime mailing list
> D-runtime at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/d-runtime

NO!

http://d-programming-language.org/float.html - Rounding Control

Calling Fiber.yield is just returning in an unusual manner. As Fibers
are not preemptive we shouldn't do that.

Besides:
Do you have any success with the Windows+Fiber+GC bug  
http://d.puremagic.com/issues/show_bug.cgi?id=7229.


More information about the D-runtime mailing list