Searched refs:regs (Results 1 - 25 of 64) sorted by relevance

123

/system/core/libunwindstack/include/unwindstack/
H A DRegsGetLocal.h36 inline __always_inline void RegsGetLocal(Regs* regs) { argument
37 void* reg_data = regs->RawData();
58 inline __always_inline void RegsGetLocal(Regs* regs) {
59 void* reg_data = regs->RawData();
88 extern "C" void AsmGetRegs(void* regs);
90 inline void RegsGetLocal(Regs* regs) {
91 AsmGetRegs(regs->RawData());
H A DUserArm.h35 uint32_t regs[18]; member in struct:unwindstack::arm_user_regs
H A DUserArm64.h35 uint64_t regs[31]; member in struct:unwindstack::arm64_user_regs
H A DUserMips.h40 uint32_t regs[45]; member in struct:unwindstack::mips_user_regs
H A DUserMips64.h40 uint64_t regs[45]; member in struct:unwindstack::mips64_user_regs
H A DUcontextArm.h48 uint32_t regs[ARM_REG_LAST]; // unsigned long member in struct:unwindstack::arm_mcontext_t
/system/core/libunwindstack/tests/
H A DRegsStepIfSignalHandlerTest.cpp56 RegsArm regs; local
57 regs[ARM_REG_PC] = 0x5000;
58 regs[ARM_REG_SP] = addr;
66 ASSERT_TRUE(regs.StepIfSignalHandler(0x5000, elf_.get(), &process_memory_));
67 EXPECT_EQ(0x100U, regs[ARM_REG_SP]);
68 EXPECT_EQ(0x120U, regs[ARM_REG_PC]);
69 EXPECT_EQ(0x100U, regs.sp());
70 EXPECT_EQ(0x120U, regs.pc());
86 RegsArm regs; local
87 regs[ARM_REG_P
116 RegsArm64 regs; local
135 RegsX86 regs; local
158 RegsX86 regs; local
186 RegsX86_64 regs; local
206 RegsMips regs; local
225 RegsMips regs; local
244 RegsMips64 regs; local
[all...]
H A DDwarfSectionImplTest.cpp95 RegsImplFake<TypeParam> regs(10);
98 regs.set_pc(0x100);
99 regs.set_sp(0x2000);
100 regs[5] = 0x20;
101 regs[9] = 0x3000;
104 ASSERT_FALSE(this->section_->Eval(&cie, &this->memory_, loc_regs, &regs, &finished));
111 RegsImplFake<TypeParam> regs(10);
114 regs.set_pc(0x100);
115 regs.set_sp(0x2000);
116 regs[
[all...]
H A DElfInterfaceArmTest.cpp314 RegsArm regs; local
315 regs[ARM_REG_SP] = 0x1000;
316 regs[ARM_REG_LR] = 0x20000;
317 regs.set_sp(regs[ARM_REG_SP]);
318 regs.set_pc(0x1234);
319 ASSERT_FALSE(interface.StepExidx(0x7000, 0, &regs, &process_memory_, &finished));
325 ASSERT_FALSE(interface.StepExidx(0x7000, 0, &regs, &process_memory_, &finished));
330 ASSERT_TRUE(interface.StepExidx(0x7000, 0, &regs, &process_memory_, &finished));
333 ASSERT_EQ(0x1000U, regs
357 RegsArm regs; local
382 RegsArm regs; local
405 RegsArm regs; local
432 RegsArm regs; local
[all...]
H A DUnwindTest.cpp102 static void VerifyUnwind(pid_t pid, Maps* maps, Regs* regs, argument
106 Unwinder unwinder(512, maps, regs, process_memory);
131 std::unique_ptr<Regs> regs(Regs::CreateFromLocal());
132 RegsGetLocal(regs.get());
134 VerifyUnwind(getpid(), &maps, regs.get(), kFunctionOrder);
208 std::unique_ptr<Regs> regs(Regs::RemoteGet(pid));
209 ASSERT_TRUE(regs.get() != nullptr);
211 VerifyUnwind(pid, &maps, regs.get(), kFunctionOrder);
253 std::unique_ptr<Regs> regs(Regs::CreateFromUcontext(Regs::CurrentArch(), ucontext));
255 VerifyUnwind(getpid(), &maps, regs
[all...]
H A DRegsTest.cpp217 uint32_t* regs = reinterpret_cast<uint32_t*>(arm.RawData()); local
218 regs[13] = 0x100;
219 regs[15] = 0x200;
226 uint64_t* regs = reinterpret_cast<uint64_t*>(arm64.RawData()); local
227 regs[31] = 0xb100000000ULL;
228 regs[32] = 0xc200000000ULL;
235 uint32_t* regs = reinterpret_cast<uint32_t*>(x86.RawData()); local
236 regs[4] = 0x23450000;
237 regs[8] = 0xabcd0000;
244 uint64_t* regs local
253 uint32_t* regs = reinterpret_cast<uint32_t*>(mips.RawData()); local
262 uint64_t* regs = reinterpret_cast<uint64_t*>(mips64.RawData()); local
290 clone_test(Regs* regs) argument
307 std::vector<std::unique_ptr<Regs>> regs; local
[all...]
H A DArmExidxDecodeTest.cpp191 ASSERT_EQ(0x10U, (*exidx_->regs())[15]);
212 ASSERT_EQ(0x20U, (*exidx_->regs())[4]);
213 ASSERT_EQ(0x21U, (*exidx_->regs())[5]);
214 ASSERT_EQ(0x22U, (*exidx_->regs())[6]);
215 ASSERT_EQ(0x23U, (*exidx_->regs())[7]);
216 ASSERT_EQ(0x24U, (*exidx_->regs())[8]);
217 ASSERT_EQ(0x25U, (*exidx_->regs())[9]);
218 ASSERT_EQ(0x26U, (*exidx_->regs())[10]);
219 ASSERT_EQ(0x27U, (*exidx_->regs())[11]);
220 ASSERT_EQ(0x28U, (*exidx_->regs())[1
[all...]
/system/core/libunwindstack/
H A DRegsInfo.h28 RegsInfo(RegsImpl<AddressType>* regs) : regs(regs) {} argument
30 RegsImpl<AddressType>* regs = nullptr; member in struct:unwindstack::RegsInfo
38 return (*regs)[reg];
48 saved_regs[reg] = (*regs)[reg];
49 return &(*regs)[reg];
61 inline uint16_t Total() { return regs->total_regs(); }
H A DRegsX86_64.cpp95 RegsX86_64* regs = new RegsX86_64(); local
96 (*regs)[X86_64_REG_RAX] = user->rax;
97 (*regs)[X86_64_REG_RBX] = user->rbx;
98 (*regs)[X86_64_REG_RCX] = user->rcx;
99 (*regs)[X86_64_REG_RDX] = user->rdx;
100 (*regs)[X86_64_REG_R8] = user->r8;
101 (*regs)[X86_64_REG_R9] = user->r9;
102 (*regs)[X86_64_REG_R10] = user->r10;
103 (*regs)[X86_64_REG_R11] = user->r11;
104 (*regs)[X86_64_REG_R1
136 RegsX86_64* regs = new RegsX86_64(); local
[all...]
H A DRegsX86.cpp87 RegsX86* regs = new RegsX86(); local
88 (*regs)[X86_REG_EAX] = user->eax;
89 (*regs)[X86_REG_EBX] = user->ebx;
90 (*regs)[X86_REG_ECX] = user->ecx;
91 (*regs)[X86_REG_EDX] = user->edx;
92 (*regs)[X86_REG_EBP] = user->ebp;
93 (*regs)[X86_REG_EDI] = user->edi;
94 (*regs)[X86_REG_ESI] = user->esi;
95 (*regs)[X86_REG_ESP] = user->esp;
96 (*regs)[X86_REG_EI
117 RegsX86* regs = new RegsX86(); local
[all...]
H A DRegs.cpp113 Regs* regs; local
115 regs = new RegsArm();
117 regs = new RegsArm64();
119 regs = new RegsX86();
121 regs = new RegsX86_64();
123 regs = new RegsMips();
125 regs = new RegsMips64();
129 return regs;
H A DRegsMips.cpp110 RegsMips* regs = new RegsMips(); local
111 uint32_t* reg_data = reinterpret_cast<uint32_t*>(regs->RawData());
113 memcpy(regs->RawData(), &user->regs[MIPS32_EF_R0], (MIPS_REG_R31 + 1) * sizeof(uint32_t));
115 reg_data[MIPS_REG_PC] = user->regs[MIPS32_EF_CP0_EPC];
116 return regs;
122 RegsMips* regs = new RegsMips(); local
123 // Copy 64 bit sc_regs over to 32 bit regs
125 (*regs)[MIPS_REG_R0 + i] = mips_ucontext->uc_mcontext.sc_regs[i];
127 (*regs)[MIPS_REG_P
[all...]
H A DRegsMips64.cpp110 RegsMips64* regs = new RegsMips64(); local
111 uint64_t* reg_data = reinterpret_cast<uint64_t*>(regs->RawData());
113 memcpy(regs->RawData(), &user->regs[MIPS64_EF_R0], (MIPS64_REG_R31 + 1) * sizeof(uint64_t));
115 reg_data[MIPS64_REG_PC] = user->regs[MIPS64_EF_CP0_EPC];
116 return regs;
122 RegsMips64* regs = new RegsMips64(); local
123 // Copy 64 bit sc_regs over to 64 bit regs
124 memcpy(regs->RawData(), &mips64_ucontext->uc_mcontext.sc_regs[0], 32 * sizeof(uint64_t));
125 (*regs)[MIPS64_REG_P
[all...]
H A DRegsArm64.cpp110 RegsArm64* regs = new RegsArm64(); local
111 memcpy(regs->RawData(), &user->regs[0], (ARM64_REG_R31 + 1) * sizeof(uint64_t));
112 uint64_t* reg_data = reinterpret_cast<uint64_t*>(regs->RawData());
115 return regs;
121 RegsArm64* regs = new RegsArm64(); local
122 memcpy(regs->RawData(), &arm64_ucontext->uc_mcontext.regs[0], ARM64_REG_LAST * sizeof(uint64_t));
123 return regs;
H A DRegsArm.cpp116 RegsArm* regs = new RegsArm(); local
117 memcpy(regs->RawData(), &user->regs[0], ARM_REG_LAST * sizeof(uint32_t));
118 return regs;
124 RegsArm* regs = new RegsArm(); local
125 memcpy(regs->RawData(), &arm_ucontext->uc_mcontext.regs[0], ARM_REG_LAST * sizeof(uint32_t));
126 return regs;
H A DArmExidx.h49 ArmExidx(RegsArm* regs, Memory* elf_memory, Memory* process_memory) argument
50 : regs_(regs), elf_memory_(elf_memory), process_memory_(process_memory) {}
66 RegsArm* regs() { return regs_; } function in class:unwindstack::ArmExidx
/system/extras/simpleperf/
H A DOfflineUnwinder.cpp43 static unwindstack::Regs* GetBacktraceRegs(const RegSet& regs) { argument
44 switch (regs.arch) {
53 arm_user_regs.regs[i] = static_cast<uint32_t>(regs.data[i]);
64 memcpy(&arm64_user_regs.regs[unwindstack::ARM64_REG_R0], &regs.data[PERF_REG_ARM64_X0],
66 arm64_user_regs.sp = regs.data[PERF_REG_ARM64_SP];
67 arm64_user_regs.pc = regs.data[PERF_REG_ARM64_PC];
73 x86_user_regs.eax = static_cast<uint32_t>(regs.data[PERF_REG_X86_AX]);
74 x86_user_regs.ebx = static_cast<uint32_t>(regs
115 UnwindCallChain(const ThreadEntry& thread, const RegSet& regs, const char* stack, size_t stack_size, std::vector<uint64_t>* ips, std::vector<uint64_t>* sps) argument
[all...]
/system/core/libunwindstack/tools/
H A Dunwind.cpp61 unwindstack::Regs* regs = unwindstack::Regs::RemoteGet(pid); local
62 if (regs == nullptr) {
68 switch (regs->Arch()) {
94 unwindstack::Unwinder unwinder(128, &remote_maps, regs, process_memory);
97 unwinder.SetJitDebug(&jit_debug, regs->Arch());
100 unwinder.SetDexFiles(&dex_files, regs->Arch());
/system/core/libbacktrace/
H A DUnwindStack.cpp48 bool Backtrace::Unwind(unwindstack::Regs* regs, BacktraceMap* back_map, argument
54 regs, stack_map->process_memory());
57 unwinder.SetJitDebug(stack_map->GetJitDebug(), regs->Arch());
61 unwinder.SetDexFiles(stack_map->GetDexFiles(), regs->Arch());
131 bool Backtrace::UnwindOffline(unwindstack::Regs* regs, BacktraceMap* back_map, argument
144 return Backtrace::Unwind(regs, back_map, frames, 0U, nullptr, error);
155 std::unique_ptr<unwindstack::Regs> regs; local
157 regs.reset(unwindstack::Regs::CreateFromLocal());
160 unwindstack::RegsGetLocal(regs.get());
162 regs
180 std::unique_ptr<unwindstack::Regs> regs; local
[all...]
H A Dbacktrace_testlib.cpp82 std::unique_ptr<unwindstack::Regs> regs(unwindstack::Regs::CreateFromLocal());
83 unwindstack::RegsGetLocal(regs.get());
88 memcpy(&ucontext.uc_mcontext, regs->RawData(), sizeof(uint32_t) * 16);
90 memcpy(&ucontext.uc_mcontext, regs->RawData(), sizeof(uint64_t) * 33);
92 uint32_t* reg_data = reinterpret_cast<uint32_t*>(regs->RawData());
108 uint64_t* reg_data = reinterpret_cast<uint64_t*>(regs->RawData());

Completed in 991 milliseconds

123