Skip to content

Conversation

@lhames
Copy link
Contributor

@lhames lhames commented Nov 18, 2025

Introduces the Task and TaskDispatcher interfaces (TaskDispatcher.h), ThreadPoolTaskDispatcher implementation (ThreadPoolTaskDispatch.h), and updates Session to include a TaskDispatcher instance that can be used to run tasks.

TaskDispatcher's introduction is motivated by the need to handle calls to JIT'd code initiated from the controller process: Incoming calls will be wrapped in Tasks and dispatched. Session shutdown will wait on TaskDispatcher shutdown, ensuring that all Tasks are run or destroyed prior to the Session being destroyed.

Introduces the Task and TaskDispatcher interfaces (TaskDispatcher.h),
ThreadPoolTaskDispatcher implementation (ThreadPoolTaskDispatch.h), and updates
Session to include a TaskDispatcher instance that can be used to run tasks.

TaskDispatcher's introduction is motivated by the need to handle calls to JIT'd
code initiated from the controller process: Incoming calls will be wrapped in
Tasks and dispatched. Session shutdown will wait on TaskDispatcher shutdown,
ensuring that all Tasks are run or destroyed prior to the Session being
destroyed.
@lhames lhames merged commit ed78ab7 into llvm:main Nov 18, 2025
11 checks passed
@lhames lhames deleted the orc-rt-taskdispatch branch November 18, 2025 22:50
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.

1 participant