This is an archive of the discontinued LLVM Phabricator instance.

[lldb] Make UnwindLLDB a non-plugin
ClosedPublic

Authored by labath on Mar 9 2020, 7:07 AM.

Details

Summary

This is the only real unwinder, and things have been this way for quite
a long time. At this point, the class has accumulated so many features
it is unlikely that anyone will want to reimplement the whole thing.

The class is also fairly closely coupled (through UnwindPlans and
FuncUnwinders) with a lot of other lldb components that it is hard to
imagine a different unwinder implementation being substantially
different without reimplementing all of those.

The existing unwinding functionality is nonetheless fairly complex and
there is space for adding more structure to it, but I believe a more
worthwhile effort would be to take the existing UnwindLLDB class and try
to break it down and introduce extension/customization points, instead
of writing a brand new Unwind implementation.

Diff Detail

Event Timeline

labath created this revision.Mar 9 2020, 7:07 AM
Herald added a project: Restricted Project. · View Herald TranscriptMar 9 2020, 7:07 AM
Herald added a subscriber: mgorny. · View Herald Transcript

Jason should make the call but looks good to me

xiaobai accepted this revision.Mar 9 2020, 11:08 AM

Thanks for doing this. LGTM, might want to wait for Jason's approval like Jonas said though.

This revision is now accepted and ready to land.Mar 9 2020, 11:08 AM
jasonmolenda accepted this revision.Mar 9 2020, 11:26 AM

Thanks for doing this, lgtm.

This revision was automatically updated to reflect the committed changes.