summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/common/x64/emitter.cpp23
-rw-r--r--src/common/x64/emitter.h8
2 files changed, 27 insertions, 4 deletions
diff --git a/src/common/x64/emitter.cpp b/src/common/x64/emitter.cpp
index cf31f8d69..749a75b72 100644
--- a/src/common/x64/emitter.cpp
+++ b/src/common/x64/emitter.cpp
@@ -109,6 +109,29 @@ u8 *XEmitter::GetWritableCodePtr()
109 return code; 109 return code;
110} 110}
111 111
112void XEmitter::Write8(u8 value)
113{
114 *code++ = value;
115}
116
117void XEmitter::Write16(u16 value)
118{
119 std::memcpy(code, &value, sizeof(u16));
120 code += sizeof(u16);
121}
122
123void XEmitter::Write32(u32 value)
124{
125 std::memcpy(code, &value, sizeof(u32));
126 code += sizeof(u32);
127}
128
129void XEmitter::Write64(u64 value)
130{
131 std::memcpy(code, &value, sizeof(u64));
132 code += sizeof(u64);
133}
134
112void XEmitter::ReserveCodeSpace(int bytes) 135void XEmitter::ReserveCodeSpace(int bytes)
113{ 136{
114 for (int i = 0; i < bytes; i++) 137 for (int i = 0; i < bytes; i++)
diff --git a/src/common/x64/emitter.h b/src/common/x64/emitter.h
index 86f4a1fff..3d6eeb564 100644
--- a/src/common/x64/emitter.h
+++ b/src/common/x64/emitter.h
@@ -359,10 +359,10 @@ private:
359 void ABI_CalculateFrameSize(u32 mask, size_t rsp_alignment, size_t needed_frame_size, size_t* shadowp, size_t* subtractionp, size_t* xmm_offsetp); 359 void ABI_CalculateFrameSize(u32 mask, size_t rsp_alignment, size_t needed_frame_size, size_t* shadowp, size_t* subtractionp, size_t* xmm_offsetp);
360 360
361protected: 361protected:
362 void Write8(u8 value) {*code++ = value;} 362 void Write8(u8 value);
363 void Write16(u16 value) {*(u16*)code = (value); code += 2;} 363 void Write16(u16 value);
364 void Write32(u32 value) {*(u32*)code = (value); code += 4;} 364 void Write32(u32 value);
365 void Write64(u64 value) {*(u64*)code = (value); code += 8;} 365 void Write64(u64 value);
366 366
367public: 367public:
368 XEmitter() { code = nullptr; flags_locked = false; } 368 XEmitter() { code = nullptr; flags_locked = false; }