Home
last modified time | relevance | path

Searched refs:process_memory (Results 1 – 25 of 47) sorted by relevance

12

/aosp12/system/unwinding/libunwindstack/benchmarks/
H A Dlocal_unwind_benchmarks.cpp35 std::shared_ptr<unwindstack::Memory>& process_memory; member
86 auto process_memory = unwindstack::Memory::CreateProcessMemory(getpid()); in BM_local_unwind_uncached_process_memory() local
92 UnwindData data = {.process_memory = process_memory, .maps = &maps, .resolve_names = true}; in BM_local_unwind_uncached_process_memory()
104 UnwindData data = {.process_memory = process_memory, .maps = &maps, .resolve_names = true}; in BM_local_unwind_cached_process_memory()
116 UnwindData data = {.process_memory = process_memory, .maps = &maps, .resolve_names = true}; in BM_local_unwind_local_updatable_maps_uncached()
128 UnwindData data = {.process_memory = process_memory, .maps = &maps, .resolve_names = true}; in BM_local_unwind_local_updatable_maps_cached()
140 UnwindData data = {.process_memory = process_memory, .maps = &maps, .resolve_names = true}; in BM_local_unwind_local_updatable_maps_thread_cached()
162 UnwindData data = {.process_memory = process_memory, .maps = &maps, .resolve_names = false}; in BM_local_unwind_uncached_process_memory_no_func_names()
174 UnwindData data = {.process_memory = process_memory, .maps = &maps, .resolve_names = false}; in BM_local_unwind_cached_process_memory_no_func_names()
186 UnwindData data = {.process_memory = process_memory, .maps = &maps, .resolve_names = false}; in BM_local_unwind_local_updatable_maps_uncached_no_func_names()
[all …]
H A Dremote_unwind_benchmarks.cpp112 std::shared_ptr<unwindstack::Memory> process_memory; in RemoteUnwind() local
114 process_memory = unwindstack::Memory::CreateProcessMemoryCached(pid); in RemoteUnwind()
116 process_memory = unwindstack::Memory::CreateProcessMemory(pid); in RemoteUnwind()
125 unwindstack::Unwinder unwinder(32, &maps, regs.get(), process_memory); in RemoteUnwind()
/aosp12/system/unwinding/libunwindstack/
H A DMapInfo.cpp136 Memory* MapInfo::CreateMemory(const std::shared_ptr<Memory>& process_memory) { in CreateMemory() argument
156 if (process_memory == nullptr) { in CreateMemory()
167 std::unique_ptr<MemoryRange> memory(new MemoryRange(process_memory, start(), end() - start(), 0)); in CreateMemory()
183 ranges->Insert(new MemoryRange(process_memory, start(), end() - start(), 0)); in CreateMemory()
184 ranges->Insert(new MemoryRange(process_memory, next_real_map()->start(), in CreateMemory()
208 ranges->Insert(new MemoryRange(process_memory, prev_real_map()->start(), in CreateMemory()
210 ranges->Insert(new MemoryRange(process_memory, start(), end() - start(), elf_offset())); in CreateMemory()
215 Elf* MapInfo::GetElf(const std::shared_ptr<Memory>& process_memory, ArchEnum expected_arch) { in GetElf() argument
234 Memory* memory = CreateMemory(process_memory); in GetElf()
289 uint64_t MapInfo::GetLoadBias(const std::shared_ptr<Memory>& process_memory) { in GetLoadBias() argument
[all …]
H A DRegsX86.cpp53 bool RegsX86::SetPcFromReturnAddress(Memory* process_memory) { in SetPcFromReturnAddress() argument
56 if (!process_memory->ReadFully(regs_[X86_REG_SP], &new_pc, sizeof(new_pc)) || in SetPcFromReturnAddress()
115 bool RegsX86::StepIfSignalHandler(uint64_t elf_offset, Elf* elf, Memory* process_memory) { in StepIfSignalHandler() argument
136 if (!process_memory->ReadFully(regs_[X86_REG_SP] + 4, &context, sizeof(context))) { in StepIfSignalHandler()
161 if (!process_memory->ReadFully(regs_[X86_REG_SP] + 8, &ptr, sizeof(ptr))) { in StepIfSignalHandler()
166 if (!process_memory->ReadFully(ptr + 0x14, &x86_ucontext.uc_mcontext, sizeof(x86_mcontext_t))) { in StepIfSignalHandler()
H A DElfInterfaceArm.cpp103 bool ElfInterfaceArm::Step(uint64_t pc, Regs* regs, Memory* process_memory, bool* finished, in Step() argument
109 return ElfInterface32::Step(pc, regs, process_memory, finished, is_signal_frame) || in Step()
110 StepExidx(pc, regs, process_memory, finished); in Step()
113 bool ElfInterfaceArm::StepExidx(uint64_t pc, Regs* regs, Memory* process_memory, bool* finished) { in StepExidx() argument
127 ArmExidx arm(regs_arm, memory_, process_memory); in StepExidx()
H A DRegsArm.cpp99 bool RegsArm::StepIfSignalHandler(uint64_t elf_offset, Elf* elf, Memory* process_memory) { in StepIfSignalHandler() argument
124 if (!process_memory->ReadFully(sp, &data, sizeof(data))) { in StepIfSignalHandler()
149 if (!process_memory->ReadFully(sp, &data, sizeof(data))) { in StepIfSignalHandler()
164 if (!process_memory->ReadFully(offset, regs_.data(), sizeof(uint32_t) * ARM_REG_LAST)) { in StepIfSignalHandler()
H A DRegsX86_64.cpp54 bool RegsX86_64::SetPcFromReturnAddress(Memory* process_memory) { in SetPcFromReturnAddress() argument
57 if (!process_memory->ReadFully(regs_[X86_64_REG_SP], &new_pc, sizeof(new_pc)) || in SetPcFromReturnAddress()
135 bool RegsX86_64::StepIfSignalHandler(uint64_t elf_offset, Elf* elf, Memory* process_memory) { in StepIfSignalHandler() argument
156 if (!process_memory->ReadFully(regs_[X86_64_REG_SP] + 0x28, &x86_64_ucontext.uc_mcontext, in StepIfSignalHandler()
H A DRegsMips64.cpp122 bool RegsMips64::StepIfSignalHandler(uint64_t elf_offset, Elf* elf, Memory* process_memory) { in StepIfSignalHandler() argument
143 if (!process_memory->Read(sp + 24 + 128 + 40, regs_.data(), in StepIfSignalHandler()
150 if (!process_memory->Read(sp + 24 + 128 + 40 + 576, &regs_[MIPS64_REG_PC], sizeof(uint64_t))) { in StepIfSignalHandler()
H A DArmExidx.h56 ArmExidx(RegsArm* regs, Memory* elf_memory, Memory* process_memory) in ArmExidx() argument
57 : regs_(regs), elf_memory_(elf_memory), process_memory_(process_memory) {} in ArmExidx()
H A DElf.cpp181 bool Elf::StepIfSignalHandler(uint64_t rel_pc, Regs* regs, Memory* process_memory) { in StepIfSignalHandler() argument
190 return regs->StepIfSignalHandler(rel_pc - load_bias_, this, process_memory); in StepIfSignalHandler()
194 bool Elf::Step(uint64_t rel_pc, Regs* regs, Memory* process_memory, bool* finished, in Step() argument
202 return interface_->Step(rel_pc, regs, process_memory, finished, is_signal_frame); in Step()
/aosp12/system/core/debuggerd/libdebuggerd/
H A Dscudo.cpp28 std::unique_ptr<char[]> AllocAndReadFully(unwindstack::Memory* process_memory, uint64_t addr, in AllocAndReadFully() argument
31 if (!process_memory->ReadFully(addr, buf.get(), size)) { in AllocAndReadFully()
37 ScudoCrashData::ScudoCrashData(unwindstack::Memory* process_memory, in ScudoCrashData() argument
43 auto stack_depot = AllocAndReadFully(process_memory, process_info.scudo_stack_depot, in ScudoCrashData()
45 auto region_info = AllocAndReadFully(process_memory, process_info.scudo_region_info, in ScudoCrashData()
47 auto ring_buffer = AllocAndReadFully(process_memory, process_info.scudo_ring_buffer, in ScudoCrashData()
65 process_memory->ReadFully(i, memory.get() + i - memory_begin, PAGE_SIZE); in ScudoCrashData()
70 memory_tags[(i - memory_begin) / kTagGranuleSize] = process_memory->ReadTag(i); in ScudoCrashData()
H A Dgwp_asan.cpp33 static bool retrieve_gwp_asan_state(unwindstack::Memory* process_memory, uintptr_t state_addr, in retrieve_gwp_asan_state() argument
35 return process_memory->ReadFully(state_addr, state, sizeof(*state)); in retrieve_gwp_asan_state()
44 unwindstack::Memory* process_memory, const gwp_asan::AllocatorState& state, in retrieve_gwp_asan_metadata() argument
56 if (!process_memory->ReadFully(metadata_addr, meta, in retrieve_gwp_asan_metadata()
68 GwpAsanCrashData::GwpAsanCrashData(unwindstack::Memory* process_memory, in GwpAsanCrashData() argument
70 if (!process_memory || !process_info.gwp_asan_metadata || !process_info.gwp_asan_state) return; in GwpAsanCrashData()
72 if (!retrieve_gwp_asan_state(process_memory, process_info.gwp_asan_state, &state_)) return; in GwpAsanCrashData()
73 …metadata_.reset(retrieve_gwp_asan_metadata(process_memory, state_, process_info.gwp_asan_metadata)… in GwpAsanCrashData()
H A Dtombstone.cpp154 const ProcessInfo& process_info, unwindstack::Memory* process_memory) { in dump_signal_info() argument
162 process_memory->Read(addr, &instruction, sizeof(instruction)); in dump_signal_info()
209 static void dump_abort_message(log_t* log, unwindstack::Memory* process_memory, uint64_t address) { in dump_abort_message() argument
215 if (!process_memory->ReadFully(address, &length, sizeof(length))) { in dump_abort_message()
230 if (!process_memory->ReadFully(address + sizeof(length), &msg[0], length)) { in dump_abort_message()
258 std::shared_ptr<unwindstack::Memory>& process_memory = unwinder->GetProcessMemory(); in dump_all_maps() local
300 uint64_t load_bias = map_info->GetLoadBias(process_memory); in dump_all_maps()
596 auto process_memory = in engrave_tombstone_ucontext() local
598 unwinder.SetProcessMemory(process_memory); in engrave_tombstone_ucontext()
/aosp12/system/unwinding/libunwindstack/include/unwindstack/
H A DUnwinder.h68 Unwinder(size_t max_frames, Maps* maps, Regs* regs, std::shared_ptr<Memory> process_memory) in Unwinder() argument
72 process_memory_(process_memory), in Unwinder()
74 Unwinder(size_t max_frames, Maps* maps, std::shared_ptr<Memory> process_memory) in Unwinder() argument
75 : max_frames_(max_frames), maps_(maps), process_memory_(process_memory) {} in Unwinder()
134 std::shared_ptr<Memory> process_memory, bool resolve_names);
177 void SetProcessMemory(std::shared_ptr<Memory>& process_memory) { in SetProcessMemory() argument
178 process_memory_ = process_memory; in SetProcessMemory()
H A DRegsMips64.h39 bool SetPcFromReturnAddress(Memory* process_memory) override;
41 bool StepIfSignalHandler(uint64_t elf_offset, Elf* elf, Memory* process_memory) override;
H A DRegsArm.h39 bool SetPcFromReturnAddress(Memory* process_memory) override;
41 bool StepIfSignalHandler(uint64_t elf_offset, Elf* elf, Memory* process_memory) override;
H A DRegsMips.h39 bool SetPcFromReturnAddress(Memory* process_memory) override;
41 bool StepIfSignalHandler(uint64_t elf_offset, Elf* elf, Memory* process_memory) override;
H A DRegsX86.h40 bool SetPcFromReturnAddress(Memory* process_memory) override;
42 bool StepIfSignalHandler(uint64_t elf_offset, Elf* elf, Memory* process_memory) override;
H A DRegsX86_64.h40 bool SetPcFromReturnAddress(Memory* process_memory) override;
42 bool StepIfSignalHandler(uint64_t elf_offset, Elf* elf, Memory* process_memory) override;
H A DRegsArm64.h40 bool SetPcFromReturnAddress(Memory* process_memory) override;
42 bool StepIfSignalHandler(uint64_t elf_offset, Elf* elf, Memory* process_memory) override;
H A DMapInfo.h131 Elf* GetElf(const std::shared_ptr<Memory>& process_memory, ArchEnum expected_arch);
133 uint64_t GetLoadBias(const std::shared_ptr<Memory>& process_memory);
135 Memory* CreateMemory(const std::shared_ptr<Memory>& process_memory);
/aosp12/system/unwinding/libunwindstack/tests/
H A DElfTest.cpp319 MemoryFake process_memory; in VerifyStepIfSignalHandler() local
320 process_memory.SetData32(0x50000, 0); in VerifyStepIfSignalHandler()
322 process_memory.SetData32(0x500a0 + i * sizeof(uint32_t), i); in VerifyStepIfSignalHandler()
326 ASSERT_TRUE(elf.StepIfSignalHandler(0x3000 + load_bias, &regs, &process_memory)); in VerifyStepIfSignalHandler()
372 MemoryFake process_memory; in TEST_F() local
376 EXPECT_CALL(*interface, Step(0x1000, &regs, &process_memory, &finished, &is_signal_frame)) in TEST_F()
379 ASSERT_TRUE(elf.Step(0x1000, &regs, &process_memory, &finished, &is_signal_frame)); in TEST_F()
H A DUnwindTest.cpp138 auto process_memory(Memory::CreateProcessMemory(pid)); in VerifyUnwind() local
140 Unwinder unwinder(512, maps, regs, process_memory); in VerifyUnwind()
180 auto process_memory(Memory::CreateProcessMemory(getpid())); in InnerFunction() local
181 unwinder.reset(new Unwinder(512, maps.get(), regs.get(), process_memory)); in InnerFunction()
462 auto process_memory(Memory::CreateProcessMemory(getpid())); in TEST_F() local
470 std::thread* thread = new std::thread([i, &frames, &maps, &process_memory, &wait]() { in TEST_F()
476 Unwinder unwinder(512, &maps, regs.get(), process_memory); in TEST_F()
/aosp12/system/unwinding/libbacktrace/
H A DUnwindStack.cpp49 auto process_memory = stack_map->process_memory(); in Unwind() local
51 regs, stack_map->process_memory()); in Unwind()
/aosp12/system/unwinding/libunwindstack/tools/
H A Dunwind_for_offline.cpp102 auto process_memory = unwindstack::Memory::CreateProcessMemory(pid); in SaveStack() local
103 if (!process_memory->Read(sp_start, buffer.data(), buffer.size())) { in SaveStack()
215 void SaveMapInformation(std::shared_ptr<unwindstack::Memory>& process_memory, map_info_t* info, in SaveMapInformation() argument
224 if (CreateElfFromMemory(process_memory, info)) { in SaveMapInformation()

12