diff options
author | John Chen <jochen@microsoft.com> | 2016-11-10 17:49:02 -0800 |
---|---|---|
committer | Jan Vorlicek <janvorli@microsoft.com> | 2016-11-10 17:49:02 -0800 |
commit | 1b0dad67bc88bd4a45f59e63c6bf9fd5e7eb8596 (patch) | |
tree | c7a8b9cadc4c57c1f656bdfc73c1042e15c506f1 /src/pal | |
parent | d3ad5db7bf3209a5b0ea341cee19230d2ba0fef5 (diff) | |
download | coreclr-1b0dad67bc88bd4a45f59e63c6bf9fd5e7eb8596.tar.gz coreclr-1b0dad67bc88bd4a45f59e63c6bf9fd5e7eb8596.tar.bz2 coreclr-1b0dad67bc88bd4a45f59e63c6bf9fd5e7eb8596.zip |
Save registers xmm8..15 on Mac OSX (#8078)
On x64, JIT can generate code that uses all 16 xmm registers.
However, on Mac OSX, we currently only save 8 of these registers.
Thus after a context save/restore, xmm8 through xmm15 are
corrupted. This commit fixes the code to save all 16 xmm
registers. It resolves issue #2266.
Diffstat (limited to 'src/pal')
-rw-r--r-- | src/pal/src/thread/context.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/pal/src/thread/context.cpp b/src/pal/src/thread/context.cpp index 6a4a7e9f17..504eca1300 100644 --- a/src/pal/src/thread/context.cpp +++ b/src/pal/src/thread/context.cpp @@ -1033,7 +1033,7 @@ CONTEXT_GetThreadContextFromThreadState( memcpy(&lpContext->FltSave.FloatRegisters[i], (&pState->__fpu_stmm0)[i].__mmst_reg, 10); // AMD64's FLOATING_POINT includes the xmm registers. - memcpy(&lpContext->Xmm0, &pState->__fpu_xmm0, 8 * 16); + memcpy(&lpContext->Xmm0, &pState->__fpu_xmm0, 16 * 16); } break; #else |