mirror of
https://github.com/wolfpld/tracy.git
synced 2024-11-30 01:04:36 +00:00
Allow disabling code transfer.
This commit is contained in:
parent
89786f6e26
commit
5239b706c3
@ -1265,6 +1265,12 @@ void Profiler::Worker()
|
|||||||
uint8_t cpuArch = CpuArchUnknown;
|
uint8_t cpuArch = CpuArchUnknown;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef TRACY_NO_CODE_TRANSFER
|
||||||
|
uint8_t codeTransfer = 0;
|
||||||
|
#else
|
||||||
|
uint8_t codeTransfer = 1;
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined __i386 || defined _M_IX86 || defined __x86_64__ || defined _M_X64
|
#if defined __i386 || defined _M_IX86 || defined __x86_64__ || defined _M_X64
|
||||||
uint32_t regs[4];
|
uint32_t regs[4];
|
||||||
char manufacturer[12];
|
char manufacturer[12];
|
||||||
@ -1292,6 +1298,7 @@ void Profiler::Worker()
|
|||||||
MemWrite( &welcome.onDemand, onDemand );
|
MemWrite( &welcome.onDemand, onDemand );
|
||||||
MemWrite( &welcome.isApple, isApple );
|
MemWrite( &welcome.isApple, isApple );
|
||||||
MemWrite( &welcome.cpuArch, cpuArch );
|
MemWrite( &welcome.cpuArch, cpuArch );
|
||||||
|
MemWrite( &welcome.codeTransfer, codeTransfer );
|
||||||
memcpy( welcome.cpuManufacturer, manufacturer, 12 );
|
memcpy( welcome.cpuManufacturer, manufacturer, 12 );
|
||||||
MemWrite( &welcome.cpuId, cpuId );
|
MemWrite( &welcome.cpuId, cpuId );
|
||||||
memcpy( welcome.programName, procname, pnsz );
|
memcpy( welcome.programName, procname, pnsz );
|
||||||
@ -2481,9 +2488,11 @@ bool Profiler::HandleServerQuery()
|
|||||||
case ServerQuerySymbol:
|
case ServerQuerySymbol:
|
||||||
HandleSymbolQuery( ptr );
|
HandleSymbolQuery( ptr );
|
||||||
break;
|
break;
|
||||||
|
#ifndef TRACY_NO_CODE_TRANSFER
|
||||||
case ServerQuerySymbolCode:
|
case ServerQuerySymbolCode:
|
||||||
HandleSymbolCodeQuery( ptr, extra );
|
HandleSymbolCodeQuery( ptr, extra );
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
case ServerQueryCodeLocation:
|
case ServerQueryCodeLocation:
|
||||||
SendCodeLocation( ptr );
|
SendCodeLocation( ptr );
|
||||||
break;
|
break;
|
||||||
|
@ -9,7 +9,7 @@ namespace tracy
|
|||||||
|
|
||||||
constexpr unsigned Lz4CompressBound( unsigned isize ) { return isize + ( isize / 255 ) + 16; }
|
constexpr unsigned Lz4CompressBound( unsigned isize ) { return isize + ( isize / 255 ) + 16; }
|
||||||
|
|
||||||
enum : uint32_t { ProtocolVersion = 39 };
|
enum : uint32_t { ProtocolVersion = 40 };
|
||||||
enum : uint32_t { BroadcastVersion = 1 };
|
enum : uint32_t { BroadcastVersion = 1 };
|
||||||
|
|
||||||
using lz4sz_t = uint32_t;
|
using lz4sz_t = uint32_t;
|
||||||
@ -87,6 +87,7 @@ struct WelcomeMessage
|
|||||||
uint8_t onDemand;
|
uint8_t onDemand;
|
||||||
uint8_t isApple;
|
uint8_t isApple;
|
||||||
uint8_t cpuArch;
|
uint8_t cpuArch;
|
||||||
|
uint8_t codeTransfer;
|
||||||
char cpuManufacturer[12];
|
char cpuManufacturer[12];
|
||||||
uint32_t cpuId;
|
uint32_t cpuId;
|
||||||
char programName[WelcomeMessageProgramNameSize];
|
char programName[WelcomeMessageProgramNameSize];
|
||||||
|
@ -2581,6 +2581,7 @@ void Worker::Exec()
|
|||||||
m_captureTime = welcome.epoch;
|
m_captureTime = welcome.epoch;
|
||||||
m_ignoreMemFreeFaults = welcome.onDemand || welcome.isApple;
|
m_ignoreMemFreeFaults = welcome.onDemand || welcome.isApple;
|
||||||
m_data.cpuArch = (CpuArchitecture)welcome.cpuArch;
|
m_data.cpuArch = (CpuArchitecture)welcome.cpuArch;
|
||||||
|
m_codeTransfer = welcome.codeTransfer;
|
||||||
m_data.cpuId = welcome.cpuId;
|
m_data.cpuId = welcome.cpuId;
|
||||||
memcpy( m_data.cpuManufacturer, welcome.cpuManufacturer, 12 );
|
memcpy( m_data.cpuManufacturer, welcome.cpuManufacturer, 12 );
|
||||||
m_data.cpuManufacturer[12] = '\0';
|
m_data.cpuManufacturer[12] = '\0';
|
||||||
@ -5576,7 +5577,7 @@ void Worker::ProcessSymbolInformation( const QueueSymbolInformation& ev )
|
|||||||
sd.size.SetVal( it->second.size );
|
sd.size.SetVal( it->second.size );
|
||||||
m_data.symbolMap.emplace( ev.symAddr, std::move( sd ) );
|
m_data.symbolMap.emplace( ev.symAddr, std::move( sd ) );
|
||||||
|
|
||||||
if( it->second.size > 0 && it->second.size <= 64*1024 )
|
if( m_codeTransfer && it->second.size > 0 && it->second.size <= 64*1024 )
|
||||||
{
|
{
|
||||||
assert( m_pendingSymbolCode.find( ev.symAddr ) == m_pendingSymbolCode.end() );
|
assert( m_pendingSymbolCode.find( ev.symAddr ) == m_pendingSymbolCode.end() );
|
||||||
m_pendingSymbolCode.emplace( ev.symAddr );
|
m_pendingSymbolCode.emplace( ev.symAddr );
|
||||||
|
@ -850,6 +850,7 @@ private:
|
|||||||
int m_bufferOffset;
|
int m_bufferOffset;
|
||||||
bool m_onDemand;
|
bool m_onDemand;
|
||||||
bool m_ignoreMemFreeFaults;
|
bool m_ignoreMemFreeFaults;
|
||||||
|
bool m_codeTransfer;
|
||||||
|
|
||||||
short_ptr<GpuCtxData> m_gpuCtxMap[256];
|
short_ptr<GpuCtxData> m_gpuCtxMap[256];
|
||||||
uint64_t m_pendingCallstackPtr = 0;
|
uint64_t m_pendingCallstackPtr = 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user