Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
runtime: reduce codegen per task (#5213)
This PR should hopefully reduce the amount of code generated per future-type spawned on the runtime. The following methods are no longer generic: * `try_set_join_waker` * `remote_abort` * `clone_waker` * `drop_waker` * `wake_by_ref` * `wake_by_val` A new method is added to the vtable called schedule, which is used when a task should be scheduled on the runtime. E.g. wake_by_ref will call it if the state change says that the task needs to be scheduled. However, this method is only generic over the scheduler, and not the future type, so it also isn't generated for every task. Additionally, one of the changes involved in the above makes it possible to remove the id field from JoinHandle and AbortHandle.
- Loading branch information
Showing
7 changed files
with
323 additions
and
257 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.