Commit 063abb3
committed
[lldb] Implement SwiftLanguage::AreEqualForFrameComparison
This checks whether the two provided symbol contexts refer to funclets of the
same async function.
In particular, this fixes an issue in the ThreadPlanStepOverRange algorithm for
async functions.
When the plan stops, it compares the current symbol context to the symbol
context of where it started. An initial comparison is done through StackIDs. If
that comparison says the two are equal, the plan then attempts to confirm the
two SymbolContexts are the same by checking whether the underlying functions are
the same. Because different funclets correspond to different low level
functions, this comparison was failing.1 parent 1aec81a commit 063abb3
File tree
2 files changed
+23
-0
lines changed- lldb/source/Plugins/Language/Swift
2 files changed
+23
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1834 | 1834 | | |
1835 | 1835 | | |
1836 | 1836 | | |
| 1837 | + | |
| 1838 | + | |
| 1839 | + | |
| 1840 | + | |
| 1841 | + | |
| 1842 | + | |
| 1843 | + | |
| 1844 | + | |
| 1845 | + | |
| 1846 | + | |
| 1847 | + | |
| 1848 | + | |
| 1849 | + | |
| 1850 | + | |
| 1851 | + | |
| 1852 | + | |
| 1853 | + | |
1837 | 1854 | | |
1838 | 1855 | | |
1839 | 1856 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
75 | 75 | | |
76 | 76 | | |
77 | 77 | | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
78 | 84 | | |
79 | 85 | | |
80 | 86 | | |
| |||
0 commit comments