Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/wolfpld/tracy.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBartosz Taudul <wolf.pld@gmail.com>2019-02-15 03:48:33 +0300
committerBartosz Taudul <wolf.pld@gmail.com>2019-02-15 03:59:33 +0300
commit930190f2cbdd1ebcb468e2013e0195f565ab503f (patch)
treea73fd683ee2bb2ba9ee03484810b6d63ecc440cb /server/TracySlab.hpp
parent1cefd4d8ac1415aaa29bcec0b905b2e23ecb7cf0 (diff)
Support big allocations in slab allocator.
Diffstat (limited to 'server/TracySlab.hpp')
-rw-r--r--server/TracySlab.hpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/server/TracySlab.hpp b/server/TracySlab.hpp
index d66a4a4a..74da3162 100644
--- a/server/TracySlab.hpp
+++ b/server/TracySlab.hpp
@@ -75,6 +75,23 @@ public:
m_offset -= size;
}
+ tracy_force_inline void* AllocBig( size_t size )
+ {
+ if( m_offset + size <= BlockSize )
+ {
+ void* ret = m_ptr + m_offset;
+ m_offset += size;
+ return ret;
+ }
+ else
+ {
+ memUsage.fetch_add( size );
+ auto ret = new char[size];
+ m_buffer.emplace_back( ret );
+ return ret;
+ }
+ }
+
void Reset()
{
if( m_buffer.size() > 1 )