D issues are now tracked on GitHub. This Bugzilla instance remains as a read-only archive.
Issue 7954 - x86_64 Windows fibers do not save nonvolatile XMM registers
Summary: x86_64 Windows fibers do not save nonvolatile XMM registers
Status: RESOLVED FIXED
Alias: None
Product: D
Classification: Unclassified
Component: druntime (show other issues)
Version: D2
Hardware: x86_64 Windows
: P2 normal
Assignee: No Owner
URL:
Keywords: pull
Depends on:
Blocks:
 
Reported: 2012-04-20 16:38 UTC by Jameson Ernst
Modified: 2014-05-27 18:42 UTC (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description Jameson Ernst 2012-04-20 16:38:15 UTC
According to MSDN (http://msdn.microsoft.com/en-us/library/9z1stfyw.aspx), the XMM6-XMM15 registers are nonvolatile on x64 Windows. The current implementation of core.thread.Fiber for this platform does not preserve them.
Comment 1 Manu 2012-11-14 09:09:52 UTC
(In reply to comment #0)
> According to MSDN (http://msdn.microsoft.com/en-us/library/9z1stfyw.aspx), the
> XMM6-XMM15 registers are nonvolatile on x64 Windows. The current implementation
> of core.thread.Fiber for this platform does not preserve them.

Are you using the unreleased DMD-win64 (2.061)?
I'm finding it just crashes and doesn't work at all.
Comment 3 github-bugzilla 2014-05-27 18:42:11 UTC
Commits pushed to master at https://github.com/D-Programming-Language/druntime

https://github.com/D-Programming-Language/druntime/commit/9ed3fbd973a20425337c6e16f8a622b95b485c01
fix Issue 7954 - x86_64 Windows fibers do not save nonvolatile XMM registers

https://github.com/D-Programming-Language/druntime/commit/4189f4d20895fc48903b95ccfc326e8ac68ee9a5
Merge pull request #810 from jblume/fibers-xmm

fix Issue 7954 - x86_64 Windows fibers do not save nonvolatile XMM registers