mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-23 22:29:39 -06:00
x64Emitter: Remove pointer casts from Write{8,16,32,64} functions
This also silences quite a few ubsan asserts from firing when the emitter is being used.
This commit is contained in:
@ -3,6 +3,7 @@
|
||||
// Refer to the license.txt file included.
|
||||
|
||||
#include <cinttypes>
|
||||
#include <cstring>
|
||||
|
||||
#include "Common/CommonTypes.h"
|
||||
#include "Common/CPUDetect.h"
|
||||
@ -91,6 +92,29 @@ u8* XEmitter::GetWritableCodePtr()
|
||||
return code;
|
||||
}
|
||||
|
||||
void XEmitter::Write8(u8 value)
|
||||
{
|
||||
*code++ = value;
|
||||
}
|
||||
|
||||
void XEmitter::Write16(u16 value)
|
||||
{
|
||||
std::memcpy(code, &value, sizeof(u16));
|
||||
code += sizeof(u16);
|
||||
}
|
||||
|
||||
void XEmitter::Write32(u32 value)
|
||||
{
|
||||
std::memcpy(code, &value, sizeof(u32));
|
||||
code += sizeof(u32);
|
||||
}
|
||||
|
||||
void XEmitter::Write64(u64 value)
|
||||
{
|
||||
std::memcpy(code, &value, sizeof(u64));
|
||||
code += sizeof(u64);
|
||||
}
|
||||
|
||||
void XEmitter::ReserveCodeSpace(int bytes)
|
||||
{
|
||||
for (int i = 0; i < bytes; i++)
|
||||
|
Reference in New Issue
Block a user