summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2023-04-02 06:57:45 +0200
committerGitHub <noreply@github.com>2023-04-02 06:57:45 +0200
commit756f013d8a5075dd070e8b76f8f7616be42b1a68 (patch)
tree6913655defd48d4aa2cad7a76589e4cb3ddb8b1a
parentMerge pull request #9969 from bylaws/master (diff)
parentcore: arm_dynarmic_32: Update SaveContext/LoadContext. (diff)
downloadyuzu-756f013d8a5075dd070e8b76f8f7616be42b1a68.tar
yuzu-756f013d8a5075dd070e8b76f8f7616be42b1a68.tar.gz
yuzu-756f013d8a5075dd070e8b76f8f7616be42b1a68.tar.bz2
yuzu-756f013d8a5075dd070e8b76f8f7616be42b1a68.tar.lz
yuzu-756f013d8a5075dd070e8b76f8f7616be42b1a68.tar.xz
yuzu-756f013d8a5075dd070e8b76f8f7616be42b1a68.tar.zst
yuzu-756f013d8a5075dd070e8b76f8f7616be42b1a68.zip
m---------externals/dynarmic0
-rw-r--r--src/core/arm/dynarmic/arm_dynarmic_32.cpp23
2 files changed, 10 insertions, 13 deletions
diff --git a/externals/dynarmic b/externals/dynarmic
-Subproject 165621a872ffb802c7a26ef5900e1e62681f1a8
+Subproject c08c5a9362bb224dc343c2f616c24df027dfdf1
diff --git a/src/core/arm/dynarmic/arm_dynarmic_32.cpp b/src/core/arm/dynarmic/arm_dynarmic_32.cpp
index cab21a88e..dfdcbe35a 100644
--- a/src/core/arm/dynarmic/arm_dynarmic_32.cpp
+++ b/src/core/arm/dynarmic/arm_dynarmic_32.cpp
@@ -5,7 +5,6 @@
#include <memory>
#include <dynarmic/interface/A32/a32.h>
#include <dynarmic/interface/A32/config.h>
-#include <dynarmic/interface/A32/context.h>
#include "common/assert.h"
#include "common/literals.h"
#include "common/logging/log.h"
@@ -410,21 +409,19 @@ void ARM_Dynarmic_32::SetTPIDR_EL0(u64 value) {
}
void ARM_Dynarmic_32::SaveContext(ThreadContext32& ctx) {
- Dynarmic::A32::Context context;
- jit.load()->SaveContext(context);
- ctx.cpu_registers = context.Regs();
- ctx.extension_registers = context.ExtRegs();
- ctx.cpsr = context.Cpsr();
- ctx.fpscr = context.Fpscr();
+ Dynarmic::A32::Jit* j = jit.load();
+ ctx.cpu_registers = j->Regs();
+ ctx.extension_registers = j->ExtRegs();
+ ctx.cpsr = j->Cpsr();
+ ctx.fpscr = j->Fpscr();
}
void ARM_Dynarmic_32::LoadContext(const ThreadContext32& ctx) {
- Dynarmic::A32::Context context;
- context.Regs() = ctx.cpu_registers;
- context.ExtRegs() = ctx.extension_registers;
- context.SetCpsr(ctx.cpsr);
- context.SetFpscr(ctx.fpscr);
- jit.load()->LoadContext(context);
+ Dynarmic::A32::Jit* j = jit.load();
+ j->Regs() = ctx.cpu_registers;
+ j->ExtRegs() = ctx.extension_registers;
+ j->SetCpsr(ctx.cpsr);
+ j->SetFpscr(ctx.fpscr);
}
void ARM_Dynarmic_32::SignalInterrupt() {