Add support for async stack-traces to Barrier/BarrierTask
Summary: `BarrierTask` and `DetachedBarrierTask` coroutines now have their own `AsyncStackFrame`. This means that when a `Task` executes `co_await barrier.arriveAndWait()` that we can use symmetric transfer to resume the `Task` since the `BarrierTask` will already have an active `AsyncStackRoot` that we can reuse. This fixes the test for stack-overflow of synchronously completing coroutines that use `collectAll()` algorithms (which internally use `BarrierTask`). Reviewed By: andriigrynenko Differential Revision: D24435340 fbshipit-source-id: 87b622e8083f6c8f2b12f6b2f4b0bccd8bd5a595
Showing
Please register or sign in to comment