From bda80a672b88b5c23a8f4d970b61e79315281e52 Mon Sep 17 00:00:00 2001 From: lizzie Date: Tue, 28 Oct 2025 17:15:43 +0000 Subject: [PATCH] fix Signed-off-by: lizzie --- src/dynarmic/src/dynarmic/backend/arm64/devirtualize.h | 4 ++-- src/dynarmic/src/dynarmic/backend/x64/devirtualize.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/dynarmic/src/dynarmic/backend/arm64/devirtualize.h b/src/dynarmic/src/dynarmic/backend/arm64/devirtualize.h index d06098d077..faa349a750 100644 --- a/src/dynarmic/src/dynarmic/backend/arm64/devirtualize.h +++ b/src/dynarmic/src/dynarmic/backend/arm64/devirtualize.h @@ -42,8 +42,8 @@ DevirtualizedCall DevirtualizeDefault(mcl::class_type* this_) { u64 fn_ptr = mfp_struct.ptr; u64 this_ptr = std::bit_cast(this_) + (mfp_struct.adj >> 1); if (mfp_struct.adj & 1) { - u64 vtable = std::bit_cast_pointee(this_ptr); - fn_ptr = std::bit_cast_pointee(vtable + fn_ptr); + u64 vtable = *reinterpret_cast(this_ptr); + fn_ptr = *reinterpret_cast(vtable + fn_ptr); } return DevirtualizedCall{fn_ptr, this_ptr}; } diff --git a/src/dynarmic/src/dynarmic/backend/x64/devirtualize.h b/src/dynarmic/src/dynarmic/backend/x64/devirtualize.h index 6e5d4d4869..9a0736ff87 100644 --- a/src/dynarmic/src/dynarmic/backend/x64/devirtualize.h +++ b/src/dynarmic/src/dynarmic/backend/x64/devirtualize.h @@ -61,8 +61,8 @@ ArgCallback DevirtualizeItanium(mcl::class_type* this_) { u64 fn_ptr = mfp_struct.ptr; u64 this_ptr = reinterpret_cast(this_) + mfp_struct.adj; if (mfp_struct.ptr & 1) { - u64 vtable = std::bit_cast_pointee(this_ptr); - fn_ptr = std::bit_cast_pointee(vtable + fn_ptr - 1); + u64 vtable = *reinterpret_cast(this_ptr); + fn_ptr = *reinterpret_cast(vtable + fn_ptr - 1); } return ArgCallback{fn_ptr, this_ptr}; }