Home
last modified time | relevance | path

Searched refs:loc_regs (Results 1 – 8 of 8) sorted by relevance

/system/core/libunwindstack/tests/
DDwarfCfaTest.cpp78 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 …]
DDwarfSectionImplTest.cpp50 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, &regs, &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, &regs, &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 …]
DDwarfSectionTest.cpp111 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/
DDwarfCfa.cpp42 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 …]
DDwarfSection.cpp51 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 …]
DDwarfCfa.h79 dwarf_loc_regs_t* loc_regs);
/system/core/libunwindstack/tools/
Dunwind_reg_info.cpp79 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/
DDwarfSection.h99 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;