Skip to content

Emit line table entries for closure setup instructions. #73326

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Apr 30, 2024

Conversation

adrian-prantl
Copy link
Contributor

Currently the Swift compiler makes these instructions with SILLocations marked as autgenerated. While this allows for somewhat smoother stepping in some cases, it can also make some debugging tasks harder due to missing source location information, for example, when attributing memory allocations.

This patch makes these locations available again, based on that a debug info consumer could consider filtering them out by recognizing that a source location is on the opening { of a closure, but inside the scope of the function the closure is defined in.

rdar://127095833

@adrian-prantl
Copy link
Contributor Author

@swift-ci test

Currently the Swift compiler makes these instructions with SILLocations marked
as autgenerated. While this allows for somewhat smoother stepping in some cases,
it can also make some debugging tasks harder due to missing source location
information, for example, when attributing memory allocations.

This patch makes these locations available again, based on that a debug info
consumer could consider filtering them out by recognizing that a source location
is on the opening `{` of a closure, but inside the scope of the function the
closure is defined in.

rdar://127095833
@adrian-prantl adrian-prantl changed the title Emit line table entries for colusure setup instructions. Emit line table entries for closure setup instructions. Apr 29, 2024
@adrian-prantl
Copy link
Contributor Author

@swift-ci test

@adrian-prantl adrian-prantl merged commit c0a9f44 into swiftlang:main Apr 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants