diff --git a/rpcs3/Emu/Memory/vm_ptr.h b/rpcs3/Emu/Memory/vm_ptr.h index 3003f11e66..23a756fbfa 100644 --- a/rpcs3/Emu/Memory/vm_ptr.h +++ b/rpcs3/Emu/Memory/vm_ptr.h @@ -105,12 +105,12 @@ namespace vm public: __forceinline T* operator -> () { - return get_ptr(m_addr); + return vm::get_ptr(m_addr); } __forceinline const T* operator -> () const { - return get_ptr(m_addr); + return vm::get_ptr(m_addr); } ptr operator++ (int) @@ -309,28 +309,28 @@ namespace vm __forceinline RT call_func(bool is_async, T... args) const { - template + template struct _func_arg { - __forceinline static u64 get_value(const T& arg) + __forceinline static u64 get_value(const TT& arg) { return arg; } }; - template - struct _func_arg> + template + struct _func_arg> { - __forceinline static u64 get_value(const ptr arg) + __forceinline static u64 get_value(const ptr arg) { return arg.addr(); } }; - template - struct _func_arg> + template + struct _func_arg> { - __forceinline static u64 get_value(const ref arg) + __forceinline static u64 get_value(const ref arg) { return arg.addr(); } diff --git a/rpcs3/Emu/Memory/vm_var.h b/rpcs3/Emu/Memory/vm_var.h index ec2a97057f..6bd6af59d1 100644 --- a/rpcs3/Emu/Memory/vm_var.h +++ b/rpcs3/Emu/Memory/vm_var.h @@ -34,16 +34,16 @@ namespace vm void alloc() { m_addr = Memory.Alloc(size(), m_align); - m_ptr = (T*)Memory.VirtualToRealAddr(m_addr); + m_ptr = vm::get_ptr(m_addr); } void dealloc() { - if (check()) + if (m_addr) { Memory.Free(m_addr); m_addr = 0; - m_ptr = nullptr; + m_ptr = vm::get_ptr(0); } } @@ -54,7 +54,7 @@ namespace vm res.m_addr = addr; res.m_size = size; res.m_align = align; - res.m_ptr = (T*)Memory.VirtualToRealAddr(addr); + res.m_ptr = vm::get_ptr(addr); return res; } @@ -99,11 +99,6 @@ namespace vm return m_size; } - bool check() const - { - return m_ptr != nullptr; - } - /* operator const ref() const { @@ -155,13 +150,13 @@ namespace vm void alloc() { - m_addr = Memory.Alloc(size(), m_align); - m_ptr = (T*)Memory.VirtualToRealAddr(m_addr); + m_addr = (u32)Memory.Alloc(size(), m_align); + m_ptr = vm::get_ptr(m_addr); } void dealloc() { - if (check()) + if (m_addr) { Memory.Free(m_addr); m_addr = 0; @@ -177,7 +172,7 @@ namespace vm res.m_count = count; res.m_size = size; res.m_align = align; - res.m_ptr = (T*)Memory.VirtualToRealAddr(addr); + res.m_ptr = vm::get_ptr(addr); return res; } @@ -237,11 +232,6 @@ namespace vm return m_count; } - bool check() const - { - return Memory.IsGoodAddr(m_addr, size()); - } - template operator const T1() const { @@ -354,17 +344,17 @@ namespace vm void alloc() { - m_addr = Memory.Alloc(size(), m_align); - m_ptr = (T*)Memory.VirtualToRealAddr(m_addr); + m_addr = (u32)Memory.Alloc(size(), m_align); + m_ptr = vm::get_ptr(m_addr); } void dealloc() { - if (check()) + if (m_addr) { Memory.Free(m_addr); m_addr = 0; - m_ptr = nullptr; + m_ptr = vm::get_ptr(0); } } @@ -423,11 +413,6 @@ namespace vm return _count * m_size; } - bool check() const - { - return m_ptr != nullptr; - } - template operator const T1() const {