Explorar o código

emitter: templatize ImmPtr

Lioncash %!s(int64=10) %!d(string=hai) anos
pai
achega
e3f9d09b28
Modificáronse 1 ficheiros con 6 adicións e 2 borrados
  1. 6 2
      src/common/x64/emitter.h

+ 6 - 2
src/common/x64/emitter.h

@@ -274,11 +274,15 @@ constexpr OpArg SImmAuto(s32 imm) {
     return OpArg(imm, (imm >= 128 || imm < -128) ? SCALE_IMM32 : SCALE_IMM8);
 }
 
+template <typename T>
+OpArg ImmPtr(const T* imm)
+{
 #ifdef _ARCH_64
-inline OpArg ImmPtr(const void* imm) {return Imm64((u64)imm);}
+    return Imm64(reinterpret_cast<u64>(imm));
 #else
-inline OpArg ImmPtr(const void* imm) {return Imm32((u32)imm);}
+    return Imm32(reinterpret_cast<u32>(imm));
 #endif
+}
 
 inline u32 PtrOffset(const void* ptr, const void* base)
 {