diff options
author | Jason Molenda <jmolenda@apple.com> | 2013-09-12 23:23:35 +0000 |
---|---|---|
committer | Jason Molenda <jmolenda@apple.com> | 2013-09-12 23:23:35 +0000 |
commit | 6b3e6d54871f02cdaca323a80051f2d744b39b76 (patch) | |
tree | f4eaf6aa66fd66b3e977f654b25e845cd7e4aced /lldb/source/Target/ThreadPlanStepRange.cpp | |
parent | a5ebe426a5a6202240e95a5b478b5163761310a7 (diff) | |
download | bcm5719-llvm-6b3e6d54871f02cdaca323a80051f2d744b39b76.tar.gz bcm5719-llvm-6b3e6d54871f02cdaca323a80051f2d744b39b76.zip |
Disassembler::DisassembleRange() currently calls Target::ReadMemory
with prefer_file_cache == false. This is what we want to do when
the user is doing a disassemble command -- show the actual memory
contents in case the memory has been corrupted or something -- but
when we're profiling functions for stepping or unwinding
(ThreadPlanStepRange::GetInstructionsForAddress,
UnwindAssemblyInstEmulation::GetNonCallSiteUnwindP) we can read
__TEXT instructions directly out of the file, if it exists.
<rdar://problem/14397491>
llvm-svn: 190638
Diffstat (limited to 'lldb/source/Target/ThreadPlanStepRange.cpp')
-rw-r--r-- | lldb/source/Target/ThreadPlanStepRange.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lldb/source/Target/ThreadPlanStepRange.cpp b/lldb/source/Target/ThreadPlanStepRange.cpp index 3940d542c10..a74f29a59ec 100644 --- a/lldb/source/Target/ThreadPlanStepRange.cpp +++ b/lldb/source/Target/ThreadPlanStepRange.cpp @@ -284,11 +284,13 @@ ThreadPlanStepRange::GetInstructionsForAddress(lldb::addr_t addr, size_t &range_ ExecutionContext exe_ctx (m_thread.GetProcess()); const char *plugin_name = NULL; const char *flavor = NULL; + const bool prefer_file_cache = true; m_instruction_ranges[i] = Disassembler::DisassembleRange(GetTarget().GetArchitecture(), plugin_name, flavor, exe_ctx, - m_address_ranges[i]); + m_address_ranges[i], + prefer_file_cache); } if (!m_instruction_ranges[i]) |