Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.

Commit 1ea6730

Browse files
author
John Chen
committed
Save registers xmm8..15 on Mac OSX
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.
1 parent 031effe commit 1ea6730

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

src/pal/src/thread/context.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1031,7 +1031,7 @@ CONTEXT_GetThreadContextFromThreadState(
10311031
memcpy(&lpContext->FltSave.FloatRegisters[i], (&pState->__fpu_stmm0)[i].__mmst_reg, 10);
10321032

10331033
// AMD64's FLOATING_POINT includes the xmm registers.
1034-
memcpy(&lpContext->Xmm0, &pState->__fpu_xmm0, 8 * 16);
1034+
memcpy(&lpContext->Xmm0, &pState->__fpu_xmm0, 16 * 16);
10351035
}
10361036
break;
10371037
#else

0 commit comments

Comments
 (0)