Commit 5418e44
committed
[lldb] Skip prologue when stepping through swift_task_switch
Plans stepping through a swift_task_switch are often the last sub-plan
for a StepOver action, meaning the plan's destination is also the PC
where users will take control of the program. As such, it is crucial
that these plans skip over the prologue of their destination function,
otherwise most variables won't be in scope.
Because x86 and arm diverge on the codegen for `}` in a scope, I had to
add a `print` statement in the for loop of the affected test.
(cherry picked from commit 3ed5f1d)1 parent 08fc52a commit 5418e44
File tree
3 files changed
+21
-3
lines changed- lldb
- source/Plugins/LanguageRuntime/Swift
- test/API/lang/swift/async/stepping/step_over
3 files changed
+21
-3
lines changedLines changed: 12 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
394 | 394 | | |
395 | 395 | | |
396 | 396 | | |
397 | | - | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
398 | 409 | | |
399 | 410 | | |
400 | 411 | | |
| |||
Lines changed: 8 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
10 | 15 | | |
11 | 16 | | |
12 | 17 | | |
| |||
25 | 30 | | |
26 | 31 | | |
27 | 32 | | |
28 | | - | |
29 | | - | |
| 33 | + | |
| 34 | + | |
30 | 35 | | |
31 | 36 | | |
32 | 37 | | |
33 | 38 | | |
34 | 39 | | |
| 40 | + | |
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| 7 | + | |
7 | 8 | | |
8 | 9 | | |
9 | 10 | | |
| |||
0 commit comments