Lines Matching refs:E

44   Interpret(const DWARFLocationEntry &E);
53 DWARFLocationInterpreter::Interpret(const DWARFLocationEntry &E) { in Interpret() argument
54 switch (E.Kind) { in Interpret()
58 Base = LookupAddr(E.Value0); in Interpret()
60 return createResolverError(E.Value0, E.Kind); in Interpret()
64 std::optional<SectionedAddress> LowPC = LookupAddr(E.Value0); in Interpret()
66 return createResolverError(E.Value0, E.Kind); in Interpret()
67 std::optional<SectionedAddress> HighPC = LookupAddr(E.Value1); in Interpret()
69 return createResolverError(E.Value1, E.Kind); in Interpret()
72 E.Loc}; in Interpret()
75 std::optional<SectionedAddress> LowPC = LookupAddr(E.Value0); in Interpret()
77 return createResolverError(E.Value0, E.Kind); in Interpret()
79 LowPC->Address + E.Value1, in Interpret()
81 E.Loc}; in Interpret()
89 DWARFAddressRange Range{Base->Address + E.Value0, Base->Address + E.Value1, in Interpret()
92 Range.SectionIndex = E.SectionIndex; in Interpret()
93 return DWARFLocationExpression{Range, E.Loc}; in Interpret()
96 return DWARFLocationExpression{std::nullopt, E.Loc}; in Interpret()
98 Base = SectionedAddress{E.Value0, E.SectionIndex}; in Interpret()
102 DWARFAddressRange{E.Value0, E.Value1, E.SectionIndex}, E.Loc}; in Interpret()
105 DWARFAddressRange{E.Value0, E.Value0 + E.Value1, E.SectionIndex}, in Interpret()
106 E.Loc}; in Interpret()
134 Error E = visitLocationList(Offset, [&](const DWARFLocationEntry &E) { in dumpLocationList() argument
135 Expected<std::optional<DWARFLocationExpression>> Loc = Interp.Interpret(E); in dumpLocationList()
137 dumpRawEntry(E, OS, Indent, DumpOpts, Obj); in dumpLocationList()
154 if (E.Kind != dwarf::DW_LLE_base_address && in dumpLocationList()
155 E.Kind != dwarf::DW_LLE_base_addressx && in dumpLocationList()
156 E.Kind != dwarf::DW_LLE_end_of_list) { in dumpLocationList()
158 dumpExpression(OS, DumpOpts, E.Loc, Data.isLittleEndian(), in dumpLocationList()
163 if (E) { in dumpLocationList()
164 DumpOpts.RecoverableErrorHandler(std::move(E)); in dumpLocationList()
175 return visitLocationList(&Offset, [&](const DWARFLocationEntry &E) { in visitAbsoluteLocationList() argument
176 Expected<std::optional<DWARFLocationExpression>> Loc = Interp.Interpret(E); in visitAbsoluteLocationList()
217 DWARFLocationEntry E; in visitLocationList() local
224 E.Kind = dwarf::DW_LLE_end_of_list; in visitLocationList()
226 E.Kind = dwarf::DW_LLE_base_address; in visitLocationList()
227 E.Value0 = Value1; in visitLocationList()
228 E.SectionIndex = SectionIndex; in visitLocationList()
230 E.Kind = dwarf::DW_LLE_offset_pair; in visitLocationList()
231 E.Value0 = Value0; in visitLocationList()
232 E.Value1 = Value1; in visitLocationList()
233 E.SectionIndex = SectionIndex; in visitLocationList()
236 Data.getU8(C, E.Loc, Bytes); in visitLocationList()
241 if (!Callback(E) || E.Kind == dwarf::DW_LLE_end_of_list) in visitLocationList()
280 DWARFLocationEntry E; in visitLocationList() local
281 E.Kind = Data.getU8(C); in visitLocationList()
282 switch (E.Kind) { in visitLocationList()
286 E.Value0 = Data.getULEB128(C); in visitLocationList()
289 E.Value0 = Data.getULEB128(C); in visitLocationList()
290 E.Value1 = Data.getULEB128(C); in visitLocationList()
293 E.Value0 = Data.getULEB128(C); in visitLocationList()
297 E.Value1 = Data.getU32(C); in visitLocationList()
299 E.Value1 = Data.getULEB128(C); in visitLocationList()
302 E.Value0 = Data.getULEB128(C); in visitLocationList()
303 E.Value1 = Data.getULEB128(C); in visitLocationList()
304 E.SectionIndex = SectionedAddress::UndefSection; in visitLocationList()
309 E.Value0 = Data.getRelocatedAddress(C, &E.SectionIndex); in visitLocationList()
312 E.Value0 = Data.getRelocatedAddress(C, &E.SectionIndex); in visitLocationList()
313 E.Value1 = Data.getRelocatedAddress(C); in visitLocationList()
316 E.Value0 = Data.getRelocatedAddress(C, &E.SectionIndex); in visitLocationList()
317 E.Value1 = Data.getULEB128(C); in visitLocationList()
322 "LLE of kind %x not supported", (int)E.Kind); in visitLocationList()
325 if (E.Kind != dwarf::DW_LLE_base_address && in visitLocationList()
326 E.Kind != dwarf::DW_LLE_base_addressx && in visitLocationList()
327 E.Kind != dwarf::DW_LLE_end_of_list) { in visitLocationList()
330 Data.getU8(C, E.Loc, Bytes); in visitLocationList()
335 Continue = F(E) && E.Kind != dwarf::DW_LLE_end_of_list; in visitLocationList()