1
0
mirror of https://github.com/wolfpld/tracy synced 2025-05-03 14:03:52 +00:00

Optimize string wrappers initialization.

This commit is contained in:
Bartosz Taudul 2017-11-19 13:36:03 +01:00
parent 0770ed8ee6
commit 0fe4232015

View File

@ -15,7 +15,7 @@ struct StringRef
{ {
enum Type { Ptr, Idx }; enum Type { Ptr, Idx };
StringRef() : active( 0 ) {} StringRef() : __data( 0 ) {}
StringRef( Type t, uint64_t data ) StringRef( Type t, uint64_t data )
: isidx( t == Idx ) : isidx( t == Idx )
, active( 1 ) , active( 1 )
@ -36,20 +36,34 @@ struct StringRef
uint64_t stridx; uint64_t stridx;
}; };
uint8_t isidx : 1; union
uint8_t active : 1; {
struct
{
uint8_t isidx : 1;
uint8_t active : 1;
};
uint8_t __data;
};
}; };
struct StringIdx struct StringIdx
{ {
StringIdx() : active( 0 ) {} StringIdx() : __data( 0 ) {}
StringIdx( uint32_t idx ) StringIdx( uint32_t idx )
: idx( idx ) : idx( idx )
, active( 1 ) , active( 1 )
{} {}
uint32_t idx : 31; union
uint32_t active : 1; {
struct
{
uint32_t idx : 31;
uint32_t active : 1;
};
uint32_t __data;
};
}; };
struct SourceLocation struct SourceLocation