swift
bf2be9eb - [concurrency] IRGen: update task/executor/context on every suspend point

Commit
4 years ago
[concurrency] IRGen: update task/executor/context on every suspend point For this, store those 3 values on the stack at function entry and update them with the return values of coro_suspend_async intrinsic calls. This fixes a correctness issue, because the executor may be different after a resume. It also is more efficient, because this means that the 3 values don't have to preserved in the context over a suspension point.
Author
Committer
Parents
Loading