summaryrefslogtreecommitdiff
path: root/src/pal
diff options
context:
space:
mode:
authorJohn Chen <jochen@microsoft.com>2016-11-10 17:49:02 -0800
committerJan Vorlicek <janvorli@microsoft.com>2016-11-10 17:49:02 -0800
commit1b0dad67bc88bd4a45f59e63c6bf9fd5e7eb8596 (patch)
treec7a8b9cadc4c57c1f656bdfc73c1042e15c506f1 /src/pal
parentd3ad5db7bf3209a5b0ea341cee19230d2ba0fef5 (diff)
downloadcoreclr-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.cpp2
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