Emit hop_to_executor instructors for foreign async calls.
#38768
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Explanation: Fix a miscompile where a call to an Objective-C completion-handler method as
asyncwould fail to emit anappropriate
hop_to_executorinstruction to hop back to the current executor afterward, meaning that subsequent code would not execute on the correct actor. This could cause data races and crashes.Scope: Affects new code using Swift's Concurrency model.
Radar/SR Issue: rdar://81468980
Risk: Low.
Reviewed By: Joe Groff
Testing: PR testing and CI on main, including new tests.
Original PR: #38767