From 5620597fb4cc1c08f9ea31749e36a6472f212343 Mon Sep 17 00:00:00 2001 From: Bartosz Taudul Date: Sun, 3 Nov 2019 16:29:05 +0100 Subject: [PATCH] Use short ptr in VarArray. --- server/TracyShortPtr.hpp | 4 ++-- server/TracyVarArray.hpp | 8 ++++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/server/TracyShortPtr.hpp b/server/TracyShortPtr.hpp index c3f78f98..ad96cc7d 100644 --- a/server/TracyShortPtr.hpp +++ b/server/TracyShortPtr.hpp @@ -16,7 +16,7 @@ class short_ptr { public: tracy_force_inline short_ptr() {} - tracy_force_inline short_ptr( T* ptr ) { Set( ptr ); } + tracy_force_inline short_ptr( const T* ptr ) { Set( ptr ); } tracy_force_inline operator T*() { return Get(); } tracy_force_inline operator const T*() const { return Get(); } @@ -26,7 +26,7 @@ public: tracy_force_inline const T* operator->() const { return Get(); } private: - tracy_force_inline void Set( T* ptr ) + tracy_force_inline void Set( const T* ptr ) { assert( ( uint64_t( ptr ) & 0xFFFF000000000000 ) == 0 ); memcpy( m_ptr, &ptr, 4 ); diff --git a/server/TracyVarArray.hpp b/server/TracyVarArray.hpp index c4670d7b..789d498f 100644 --- a/server/TracyVarArray.hpp +++ b/server/TracyVarArray.hpp @@ -7,8 +7,9 @@ #include "../common/TracyForceInline.hpp" #include "tracy_flat_hash_map.hpp" #include "TracyCharUtil.hpp" -#include "TracyMemory.hpp" #include "TracyEvent.hpp" +#include "TracyMemory.hpp" +#include "TracyShortPtr.hpp" namespace tracy { @@ -51,10 +52,13 @@ private: uint8_t m_size; uint32_t m_hash; - const T* m_ptr; + const short_ptr m_ptr; }; #pragma pack() +enum { VarArraySize = sizeof( VarArray ) }; + + template inline void VarArray::CalcHash() {