This is an archive of the discontinued LLVM Phabricator instance.

DWZ 02/06: Refactor DWARFUnit::ExtractDIEsScoped
AbandonedPublic

Authored by jankratochvil on Jul 29 2018, 1:25 PM.

Details

Reviewers
clayborg
Summary

Change the method of construction from:

DWARFUnit::ScopedExtractDIEs DWARFUnit::ExtractDIEsScoped()

to:

DWARFUnit::ScopedExtractDIEs::ScopedExtractDIEs(DWARFUnit *cu)

So that a later patch can implement:

std::unordered_map<const DWARFUnit *, DWARFUnit::ScopedExtractDIEs>
    .emplace(DWARFUnit *,DWARFUnit *)

so that if the map element already exists DWARFUnit::ScopedExtractDIEs is not temporarily constructed. If the caller called DWARFUnit::ExtractDIEsScoped() as an emplace parameter it would get constructed already in the caller.
Patch also contains what I considered as a general cleanup.

All DWZ patches are also applied in: git clone -b dwz git://git.jankratochvil.net/lldb

Diff Detail

Event Timeline

jankratochvil created this revision.Jul 29 2018, 1:25 PM
jankratochvil edited the summary of this revision. (Show Details)Jul 29 2018, 1:33 PM
jankratochvil set the repository for this revision to rLLDB LLDB.Aug 2 2018, 9:25 AM
jankratochvil added a project: Restricted Project.Aug 30 2018, 7:14 AM
jankratochvil planned changes to this revision.Jun 27 2019, 3:45 AM
jankratochvil abandoned this revision.Feb 7 2021, 9:12 PM

This change is no longer needed.