mirror of
https://github.com/intel/llvm.git
synced 2026-01-16 05:32:28 +08:00
For stepping performance I added the ability to outlaw all memory accesseses
to the __PAGEZERO segment on darwin. The dynamic loader now correctly doesn't slide __PAGEZERO and it also registers it as an invalid region of memory. This allows us to not make any memory requests from the local or remote debug session for any addresses in this region. Stepping performance can improve when uninitialized local variables that point to locations in __PAGEZERO are attempted to be read from memory as we won't even make the memory read or write request. llvm-svn: 151128
This commit is contained in:
@@ -4451,6 +4451,19 @@ Process::GetThreadStatus (Stream &strm,
|
||||
return num_thread_infos_dumped;
|
||||
}
|
||||
|
||||
void
|
||||
Process::AddInvalidMemoryRegion (const LoadRange ®ion)
|
||||
{
|
||||
m_memory_cache.AddInvalidRange(region.GetRangeBase(), region.GetByteSize());
|
||||
}
|
||||
|
||||
bool
|
||||
Process::RemoveInvalidMemoryRange (const LoadRange ®ion)
|
||||
{
|
||||
return m_memory_cache.RemoveInvalidRange(region.GetRangeBase(), region.GetByteSize());
|
||||
}
|
||||
|
||||
|
||||
//--------------------------------------------------------------
|
||||
// class Process::SettingsController
|
||||
//--------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user