/system/core/libunwindstack/tests/ |
D | DwarfCfaTest.cpp | 78 dwarf_loc_regs_t loc_regs; in TYPED_TEST_P() local 80 ASSERT_FALSE(this->cfa_->GetLocationInfo(this->fde_.pc_start, 0x2000, 0x2001, &loc_regs)); in TYPED_TEST_P() 91 dwarf_loc_regs_t loc_regs; in TYPED_TEST_P() local 93 ASSERT_TRUE(this->cfa_->GetLocationInfo(this->fde_.pc_start, 0x2000, 0x2001, &loc_regs)); in TYPED_TEST_P() 95 ASSERT_EQ(0U, loc_regs.size()); in TYPED_TEST_P() 104 dwarf_loc_regs_t loc_regs; in TYPED_TEST_P() local 106 ASSERT_TRUE(this->cfa_->GetLocationInfo(this->fde_.pc_start, 0x2000, 0x2002, &loc_regs)); in TYPED_TEST_P() 108 ASSERT_EQ(1U, loc_regs.size()); in TYPED_TEST_P() 109 auto location = loc_regs.find(3); in TYPED_TEST_P() 110 ASSERT_NE(loc_regs.end(), location); in TYPED_TEST_P() [all …]
|
D | DwarfSectionImplTest.cpp | 50 void TestSetCachedCieLocRegs(uint64_t offset, const dwarf_loc_regs_t& loc_regs) { in TestSetCachedCieLocRegs() argument 51 this->cie_loc_regs_[offset] = loc_regs; in TestSetCachedCieLocRegs() 100 dwarf_loc_regs_t loc_regs; in TYPED_TEST_P() local 106 loc_regs[CFA_REG] = DwarfLocation{DWARF_LOCATION_VAL_EXPRESSION, {0x2, 0x5002}}; in TYPED_TEST_P() 108 ASSERT_FALSE(this->section_->Eval(&cie, &this->memory_, loc_regs, ®s, &finished)); in TYPED_TEST_P() 116 dwarf_loc_regs_t loc_regs; in TYPED_TEST_P() local 123 loc_regs[CFA_REG] = DwarfLocation{DWARF_LOCATION_VAL_EXPRESSION, {0x2, 0x5002}}; in TYPED_TEST_P() 125 ASSERT_FALSE(this->section_->Eval(&cie, &this->memory_, loc_regs, ®s, &finished)); in TYPED_TEST_P() 132 dwarf_loc_regs_t loc_regs; in TYPED_TEST_P() local 141 loc_regs[CFA_REG] = DwarfLocation{DWARF_LOCATION_EXPRESSION, {0x4, 0x5004}}; in TYPED_TEST_P() [all …]
|
D | DwarfSectionTest.cpp | 111 dwarf_loc_regs_t* loc_regs) { in MockGetCfaLocationInfo() argument 112 loc_regs->pc_start = fde->pc_start; in MockGetCfaLocationInfo() 113 loc_regs->pc_end = fde->pc_end; in MockGetCfaLocationInfo()
|
/system/core/libunwindstack/ |
D | DwarfCfa.cpp | 42 dwarf_loc_regs_t* loc_regs) { in GetLocationInfo() argument 45 (*loc_regs)[entry.first] = entry.second; in GetLocationInfo() 54 loc_regs->pc_start = cur_pc_; in GetLocationInfo() 57 loc_regs->pc_end = cur_pc_; in GetLocationInfo() 61 loc_regs->pc_end = fde_->pc_end; in GetLocationInfo() 64 loc_regs->pc_start = cur_pc_; in GetLocationInfo() 88 (*loc_regs)[cfa_low] = {.type = DWARF_LOCATION_OFFSET, in GetLocationInfo() 101 loc_regs->erase(cfa_low); in GetLocationInfo() 103 (*loc_regs)[cfa_low] = reg_entry->second; in GetLocationInfo() 136 if (!(this->*handle_func)(loc_regs)) { in GetLocationInfo() [all …]
|
D | DwarfSection.cpp | 51 dwarf_loc_regs_t loc_regs; in Step() local 52 if (!GetCfaLocationInfo(pc, fde, &loc_regs)) { in Step() 55 loc_regs.cie = fde->cie; in Step() 58 it = loc_regs_.emplace(loc_regs.pc_end, std::move(loc_regs)).first; in Step() 406 const dwarf_loc_regs_t* loc_regs; member 474 const dwarf_loc_regs_t& loc_regs, Regs* regs, in Eval() argument 483 auto cfa_entry = loc_regs.find(CFA_REG); in Eval() 484 if (cfa_entry == loc_regs.end()) { in Eval() 492 EvalInfo<AddressType> eval_info{.loc_regs = &loc_regs, in Eval() 521 for (const auto& entry : loc_regs) { in Eval() [all …]
|
D | DwarfCfa.h | 79 dwarf_loc_regs_t* loc_regs);
|
/system/core/libunwindstack/tools/ |
D | unwind_reg_info.cpp | 79 std::vector<std::pair<uint32_t, DwarfLocation>> loc_regs; in PrintRegInformation() local 81 loc_regs.push_back(loc); in PrintRegInformation() 83 std::sort(loc_regs.begin(), loc_regs.end(), [](auto a, auto b) { in PrintRegInformation() 92 for (auto& entry : loc_regs) { in PrintRegInformation()
|
/system/core/libunwindstack/include/unwindstack/ |
D | DwarfSection.h | 99 virtual bool GetCfaLocationInfo(uint64_t pc, const DwarfFde* fde, dwarf_loc_regs_t* loc_regs) = 0; 134 bool Eval(const DwarfCie* cie, Memory* regular_memory, const dwarf_loc_regs_t& loc_regs, 137 bool GetCfaLocationInfo(uint64_t pc, const DwarfFde* fde, dwarf_loc_regs_t* loc_regs) override;
|