ARM64EC: Spill EFlags when reconstructing state from in the JIT

This commit is contained in:
Billy Laws committed 2024-08-05 17:38:45 +00:00
1 parent 7f3582bb23
commit 9bb9e954c2
1 file changed
+4
+4
View File
@@ -318,6 +318,10 @@ static void ReconstructThreadState(ARM64_NT_CONTEXT& Context) {
for (size_t i = 0; i < Config.SRAFPRCount; i++) {
memcpy(State.xmm.sse.data[i], &Context.V[Config.SRAFPRMapping[i]], sizeof(__uint128_t));
}
// Spill EFlags
uint32_t EFlags = CTX->ReconstructCompactedEFLAGS(Thread, true, Context.X, Context.Cpsr);
CTX->SetFlagsFromCompactedEFLAGS(Thread, EFlags);
}
// Reconstructs an x64 context from the input context within the JIT, packed into a regular ARM64 context following the ARM64EC register mapping