1
0
mirror of https://github.com/wolfpld/tracy.git synced 2025-03-20 07:40:02 +08:00

Broken memory events processing.

This commit is contained in:
Bartosz Taudul
2018-04-01 02:03:34 +02:00
parent 991fc6bd95
commit b12375815c
3 changed files with 124 additions and 0 deletions
+25
View File
@@ -137,6 +137,20 @@ struct GpuEvent
enum { GpuEventSize = sizeof( GpuEvent ) };
static_assert( std::is_standard_layout<GpuEvent>::value, "GpuEvent is not standard layout" );
struct MemEvent
{
uint64_t ptr;
uint64_t size;
int64_t timeAlloc;
uint16_t threadAlloc;
int64_t timeFree;
uint16_t threadFree;
};
enum { MemEventSize = sizeof( MemEvent ) };
static_assert( std::is_standard_layout<MemEvent>::value, "MemEvent is not standard layout" );
#pragma pack()
@@ -208,6 +222,17 @@ struct PlotData
uint64_t postponeTime;
};
struct MemData
{
Vector<MemEvent*> data;
Vector<MemEvent*> postpone;
uint64_t postponeTime;
flat_hash_map<uint64_t, MemEvent*, nohash<uint64_t>> active;
flat_hash_map<uint64_t, MemEvent*, nohash<uint64_t>> zombie;
uint64_t high = std::numeric_limits<uint64_t>::min();
uint64_t low = std::numeric_limits<uint64_t>::max();
};
struct StringLocation
{
const char* ptr;