Skip to content

Commit fe516e3

Browse files
committed
IsKernelAddress helper
1 parent 2bdefc2 commit fe516e3

1 file changed

Lines changed: 7 additions & 3 deletions

File tree

public/client/TracyCallstack.cpp

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,10 @@ extern "C" const char* ___tracy_demangle( const char* mangled )
117117
namespace tracy
118118
{
119119

120+
static bool IsKernelAddress(uint64_t addr) {
121+
return (addr >> 63) != 0;
122+
}
123+
120124
void DestroyImageEntry( ImageEntry& entry )
121125
{
122126
tracy_free( entry.m_path );
@@ -600,7 +604,7 @@ const char* DecodeCallstackPtrFast( uint64_t ptr )
600604

601605
const char* GetKernelModulePath( uint64_t addr )
602606
{
603-
assert( addr >> 63 != 0 );
607+
assert( IsKernelAddress( addr ) );
604608
if( !s_krnlCache ) return nullptr;
605609
const ImageEntry* imageEntry = s_krnlCache->GetImageForAddress( addr );
606610
if( imageEntry ) return imageEntry->m_path;
@@ -615,7 +619,7 @@ struct ModuleNameAndBaseAddress
615619

616620
ModuleNameAndBaseAddress GetModuleNameAndPrepareSymbols( uint64_t addr )
617621
{
618-
if( ( addr >> 63 ) != 0 )
622+
if( IsKernelAddress( addr ) )
619623
{
620624
const ImageEntry* entry = s_krnlCache->GetImageForAddress( addr );
621625
if( entry != nullptr ) return ModuleNameAndBaseAddress{ entry->m_name, entry->m_startAddress };
@@ -1317,7 +1321,7 @@ void GetSymbolForOfflineResolve(void* address, uint64_t imageBaseAddress, Callst
13171321
CallstackEntryData DecodeCallstackPtr( uint64_t ptr )
13181322
{
13191323
InitRpmalloc();
1320-
if( ptr >> 63 == 0 )
1324+
if ( !IsKernelAddress( ptr ) )
13211325
{
13221326
const char* imageName = nullptr;
13231327
uint64_t imageBaseAddress = 0x0;

0 commit comments

Comments
 (0)