Bug 7954 – x86_64 Windows fibers do not save nonvolatile XMM registers

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P2
Component
druntime
Product
D
Version
D2
Platform
x86_64
OS
Windows
Creation time
2012-04-20T16:38:00Z
Last change time
2014-05-27T18:42:12Z
Keywords
pull
Assigned to
nobody
Creator
j.patrick.ernst

Comments

Comment #0 by j.patrick.ernst — 2012-04-20T16:38:15Z
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 by turkeyman — 2012-11-14T09:09:52Z
(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 #2 by jblume — 2014-05-26T13:46:05Z
Comment #3 by github-bugzilla — 2014-05-27T18:42:11Z
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