From 2c9f814ec6d15db6eb7408bdd5022e9d4e6a4cca Mon Sep 17 00:00:00 2001 From: Pieter-Jan Briers Date: Tue, 4 Aug 2026 05:37:36 +0200 Subject: [PATCH] Make JASCalc memory helpers just use memcpy/memset (#2258) --- .../JSystem/include/JSystem/JAudio2/JASCalc.h | 26 +++++++++++++++---- libs/JSystem/src/JAudio2/JASCalc.cpp | 10 ++----- 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/libs/JSystem/include/JSystem/JAudio2/JASCalc.h b/libs/JSystem/include/JSystem/JAudio2/JASCalc.h index 118ca1eb6e..0dde666d33 100644 --- a/libs/JSystem/include/JSystem/JAudio2/JASCalc.h +++ b/libs/JSystem/include/JSystem/JAudio2/JASCalc.h @@ -2,6 +2,7 @@ #define JASCALC_H #include +#include #include /** @@ -10,16 +11,31 @@ */ struct JASCalc { static void imixcopy(const s16*, const s16*, s16*, u32); - static void bcopyfast(const void* src, void* dest, u32 size); +#if TARGET_PC + static void bcopyfast(const void* src, void* dest, u32 size) { + std::memcpy(dest, src, size); + } #if TARGET_ANDROID - static void _bcopy(const void* src, void* dest, u32 size); + static void _bcopy(const void* src, void* dest, u32 size) { #else - static void bcopy(const void* src, void* dest, u32 size); + static void bcopy(const void* src, void* dest, u32 size) { #endif - static void bzerofast(void* dest, u32 size); + std::memcpy(dest, src, size); + } + static void bzerofast(void* dest, u32 size) { + std::memset(dest, 0, size); + } #if TARGET_ANDROID - static void _bzero(void* dest, u32 size); + static void _bzero(void* dest, u32 size) { #else + static void bzero(void* dest, u32 size) { +#endif + std::memset(dest, 0, size); + } +#else + static void bcopyfast(const void* src, void* dest, u32 size); + static void bcopy(const void* src, void* dest, u32 size); + static void bzerofast(void* dest, u32 size); static void bzero(void* dest, u32 size); #endif static f32 pow2(f32); diff --git a/libs/JSystem/src/JAudio2/JASCalc.cpp b/libs/JSystem/src/JAudio2/JASCalc.cpp index ba13c983e6..de0cf02295 100644 --- a/libs/JSystem/src/JAudio2/JASCalc.cpp +++ b/libs/JSystem/src/JAudio2/JASCalc.cpp @@ -11,6 +11,7 @@ void JASCalc::imixcopy(const s16* s1, const s16* s2, s16* dst, u32 n) { } } +#if !TARGET_PC void JASCalc::bcopyfast(const void* src, void* dest, u32 size) { JUT_ASSERT(226, (reinterpret_cast(src) & 0x03) == 0); JUT_ASSERT(227, (reinterpret_cast(dest) & 0x03) == 0); @@ -33,11 +34,7 @@ void JASCalc::bcopyfast(const void* src, void* dest, u32 size) { } } -#if TARGET_ANDROID -void JASCalc::_bcopy(const void* src, void* dest, u32 size) { -#else void JASCalc::bcopy(const void* src, void* dest, u32 size) { -#endif u32* usrc; u32* udest; @@ -94,11 +91,7 @@ void JASCalc::bzerofast(void* dest, u32 size) { } } -#if TARGET_ANDROID -void JASCalc::_bzero(void* dest, u32 size) { -#else void JASCalc::bzero(void* dest, u32 size) { -#endif u32* udest; u8* bdest = (u8*)dest; if ((size & 0x1f) == 0 && (reinterpret_cast(dest) & 0x1f) == 0) { @@ -139,6 +132,7 @@ void JASCalc::bzero(void* dest, u32 size) { } } } +#endif #if AVOID_UB DUSK_GAME_DATA s16 const JASCalc::CUTOFF_TO_IIR_TABLE[129][4] = {