/system/core/libunwindstack/tests/ |
D | DwarfCfaTest.cpp | 80 dwarf_loc_regs_t loc_regs; in TYPED_TEST_P() local 82 ASSERT_FALSE(this->cfa_->GetLocationInfo(this->fde_.pc_start, 0x2000, 0x2001, &loc_regs)); in TYPED_TEST_P() 93 dwarf_loc_regs_t loc_regs; in TYPED_TEST_P() local 95 ASSERT_TRUE(this->cfa_->GetLocationInfo(this->fde_.pc_start, 0x2000, 0x2001, &loc_regs)); in TYPED_TEST_P() 97 ASSERT_EQ(0U, loc_regs.size()); in TYPED_TEST_P() 106 dwarf_loc_regs_t loc_regs; in TYPED_TEST_P() local 108 ASSERT_TRUE(this->cfa_->GetLocationInfo(this->fde_.pc_start, 0x2000, 0x2002, &loc_regs)); in TYPED_TEST_P() 110 ASSERT_EQ(1U, loc_regs.size()); in TYPED_TEST_P() 111 auto location = loc_regs.find(3); in TYPED_TEST_P() 112 ASSERT_NE(loc_regs.end(), location); in TYPED_TEST_P() [all …]
|
D | DwarfSectionImplTest.cpp | 51 void TestSetCachedCieLocRegs(uint64_t offset, const dwarf_loc_regs_t& loc_regs) { in TestSetCachedCieLocRegs() argument 52 this->cie_loc_regs_[offset] = loc_regs; in TestSetCachedCieLocRegs() 101 dwarf_loc_regs_t loc_regs; in TYPED_TEST_P() local 107 loc_regs[CFA_REG] = DwarfLocation{DWARF_LOCATION_VAL_EXPRESSION, {0x2, 0x5002}}; in TYPED_TEST_P() 109 ASSERT_FALSE(this->section_->Eval(&cie, &this->memory_, loc_regs, ®s, &finished)); in TYPED_TEST_P() 117 dwarf_loc_regs_t loc_regs; in TYPED_TEST_P() local 124 loc_regs[CFA_REG] = DwarfLocation{DWARF_LOCATION_VAL_EXPRESSION, {0x2, 0x5002}}; in TYPED_TEST_P() 126 ASSERT_FALSE(this->section_->Eval(&cie, &this->memory_, loc_regs, ®s, &finished)); in TYPED_TEST_P() 133 dwarf_loc_regs_t loc_regs; in TYPED_TEST_P() local 142 loc_regs[CFA_REG] = DwarfLocation{DWARF_LOCATION_EXPRESSION, {0x4, 0x5004}}; in TYPED_TEST_P() [all …]
|
D | DwarfSectionTest.cpp | 118 dwarf_loc_regs_t* loc_regs, ArchEnum) { in MockGetCfaLocationInfo() argument 119 loc_regs->pc_start = fde->pc_start; in MockGetCfaLocationInfo() 120 loc_regs->pc_end = fde->pc_end; in MockGetCfaLocationInfo()
|
/system/core/libunwindstack/ |
D | DwarfCfa.cpp | 44 dwarf_loc_regs_t* loc_regs) { in GetLocationInfo() argument 47 (*loc_regs)[entry.first] = entry.second; in GetLocationInfo() 56 loc_regs->pc_start = cur_pc_; in GetLocationInfo() 59 loc_regs->pc_end = cur_pc_; in GetLocationInfo() 63 loc_regs->pc_end = fde_->pc_end; in GetLocationInfo() 66 loc_regs->pc_start = cur_pc_; in GetLocationInfo() 90 (*loc_regs)[cfa_low] = {.type = DWARF_LOCATION_OFFSET, in GetLocationInfo() 103 loc_regs->erase(cfa_low); in GetLocationInfo() 105 (*loc_regs)[cfa_low] = reg_entry->second; in GetLocationInfo() 138 if (!(this->*handle_func)(loc_regs)) { in GetLocationInfo() [all …]
|
D | DwarfSection.cpp | 52 dwarf_loc_regs_t loc_regs; in Step() local 53 if (!GetCfaLocationInfo(pc, fde, &loc_regs, regs->Arch())) { in Step() 56 loc_regs.cie = fde->cie; in Step() 59 it = loc_regs_.emplace(loc_regs.pc_end, std::move(loc_regs)).first; in Step() 409 const dwarf_loc_regs_t* loc_regs; member 484 const dwarf_loc_regs_t& loc_regs, Regs* regs, in Eval() argument 493 auto cfa_entry = loc_regs.find(CFA_REG); in Eval() 494 if (cfa_entry == loc_regs.end()) { in Eval() 506 EvalInfo<AddressType> eval_info{.loc_regs = &loc_regs, in Eval() 535 for (const auto& entry : loc_regs) { in Eval() [all …]
|
D | DwarfCfa.h | 83 dwarf_loc_regs_t* loc_regs);
|
/system/core/libunwindstack/tools/ |
D | unwind_reg_info.cpp | 81 std::vector<std::pair<uint32_t, DwarfLocation>> loc_regs; in PrintRegInformation() local 83 loc_regs.push_back(loc); in PrintRegInformation() 85 std::sort(loc_regs.begin(), loc_regs.end(), [](auto a, auto b) { in PrintRegInformation() 94 for (auto& entry : loc_regs) { in PrintRegInformation()
|
/system/core/libunwindstack/include/unwindstack/ |
D | DwarfSection.h | 100 virtual bool GetCfaLocationInfo(uint64_t pc, const DwarfFde* fde, dwarf_loc_regs_t* loc_regs, 142 bool Eval(const DwarfCie* cie, Memory* regular_memory, const dwarf_loc_regs_t& loc_regs, 145 bool GetCfaLocationInfo(uint64_t pc, const DwarfFde* fde, dwarf_loc_regs_t* loc_regs,
|