summaryrefslogtreecommitdiff
path: root/simpleperf/OfflineUnwinder.cpp
diff options
context:
space:
mode:
authorChristopher Ferris <cferris@google.com>2019-05-28 16:17:54 -0700
committerChristopher Ferris <cferris@google.com>2019-06-11 14:26:58 -0700
commit2b0a778f81c712d8e901cb054ca63a0c98f1f3ce (patch)
tree434eabd3ca861bb506ed82fd9ea56129eb312d91 /simpleperf/OfflineUnwinder.cpp
parentecddd834da99bf957972bed4e8d79628c13fe921 (diff)
downloadextras-2b0a778f81c712d8e901cb054ca63a0c98f1f3ce.tar.gz
Call public create function.
Test: Ran unit tests. Change-Id: I8a017c4225f6141b109be059313dd1322c69fbdd
Diffstat (limited to 'simpleperf/OfflineUnwinder.cpp')
-rw-r--r--simpleperf/OfflineUnwinder.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/simpleperf/OfflineUnwinder.cpp b/simpleperf/OfflineUnwinder.cpp
index 76e37de9..b98b8de7 100644
--- a/simpleperf/OfflineUnwinder.cpp
+++ b/simpleperf/OfflineUnwinder.cpp
@@ -206,15 +206,14 @@ bool OfflineUnwinder::UnwindCallChain(const ThreadEntry& thread, const RegSet& r
UnwindMaps& cached_map = cached_maps_[thread.pid];
cached_map.UpdateMaps(*thread.maps);
- std::shared_ptr<unwindstack::MemoryOfflineBuffer> stack_memory(
- new unwindstack::MemoryOfflineBuffer(reinterpret_cast<const uint8_t*>(stack),
- stack_addr, stack_addr + stack_size));
std::unique_ptr<unwindstack::Regs> unwind_regs(GetBacktraceRegs(regs));
if (!unwind_regs) {
return false;
}
- unwindstack::Unwinder unwinder(MAX_UNWINDING_FRAMES, &cached_map, unwind_regs.get(),
- stack_memory);
+ unwindstack::Unwinder unwinder(
+ MAX_UNWINDING_FRAMES, &cached_map, unwind_regs.get(),
+ unwindstack::Memory::CreateOfflineMemory(reinterpret_cast<const uint8_t*>(stack), stack_addr,
+ stack_addr + stack_size));
unwinder.SetResolveNames(false);
unwinder.Unwind();
size_t last_jit_method_frame = UINT_MAX;