-
Notifications
You must be signed in to change notification settings - Fork 5.5k
Compile runtime async versions of synchronous task-returning methods #128384
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
jakobbotsch
wants to merge
95
commits into
dotnet:main
Choose a base branch
from
jakobbotsch:runtime-async-versions
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+1,133
−389
Open
Changes from all commits
Commits
Show all changes
95 commits
Select commit
Hold shift + click to select a range
192f7ba
Cache Task continuation for runtime async callable task thunks
jakobbotsch 74aab70
Compile runtime async versions of synchronous task-returning methods
jakobbotsch 5cec9e3
Disable some stack trace tests
jakobbotsch 27470b8
Return some code to fix crossgen2
jakobbotsch 9572940
Run jit-format
jakobbotsch 514d583
Call impNormStructVal on value tasks, fix some docs
jakobbotsch 13c2045
Another comment
jakobbotsch 26c12f9
Run jit-format
jakobbotsch 1cbeb65
Fix bug
jakobbotsch e4f192a
Fix assert
jakobbotsch 560d57c
Fix comment
jakobbotsch a84f1f9
Merge branch 'main' of github.com:dotnet/runtime into cache-task-cont…
jakobbotsch b408bbb
Fix after merge
jakobbotsch c8c51bd
Actually fix after merge
jakobbotsch 98fbcd6
Feedback
jakobbotsch 9171266
Jackson's fix
jakobbotsch 3c75d0c
Enable inlining
jakobbotsch c641a27
Fixes
jakobbotsch 9a83488
Remove argument
jakobbotsch 66ce9bc
Merge branch 'main' of github.com:dotnet/runtime into runtime-async-v…
jakobbotsch 9bd789b
Run jit-format
jakobbotsch ec9ac48
JIT: Allow inlining of AsyncHelpers.Await
jakobbotsch 8a699d2
WIP
jakobbotsch 8a56ec2
Merge branch 'main' of github.com:dotnet/runtime into cache-task-cont…
jakobbotsch c94a1e7
Slight revise
jakobbotsch f90af75
Merge remote-tracking branch 'origin/cache-task-continuation' into in…
jakobbotsch 26dfa36
WIP
jakobbotsch b6c8df0
WIP
jakobbotsch d1e9b6f
Fix
jakobbotsch 6608440
Run jit-format
jakobbotsch a51ee2c
Add test
jakobbotsch cb72b1f
Fix
jakobbotsch 95a22ef
Nits
jakobbotsch 9fce751
Fix
jakobbotsch 3821f20
Inlining fix
jakobbotsch d2478b7
Add some MONO ifdefs
jakobbotsch d868fa1
Cannot assume initialized
jakobbotsch d30d682
Feedback
jakobbotsch 7d68aed
Fix function headers
jakobbotsch 9fc801c
Fix interpreter
jakobbotsch 2ab7e7e
Remove aggressive inlining
jakobbotsch 0210e2a
Feedback
jakobbotsch bb0cd7e
Merge branch 'main' of github.com:dotnet/runtime into inline-await
jakobbotsch 4cd1798
Fix after merge
jakobbotsch 61f16ee
Fix docs
jakobbotsch ab9a2a8
Fix VS auto change
jakobbotsch 4292f8a
Fix
jakobbotsch 002e41d
Merge branch 'main' of github.com:dotnet/runtime into runtime-async-v…
jakobbotsch f906f72
Merge remote-tracking branch 'origin/inline-await' into runtime-async…
jakobbotsch 09aada0
Merge
jakobbotsch e680b74
Revert
jakobbotsch 0810b96
Revert
jakobbotsch f6f0e83
Add helpers used by JIT
jakobbotsch 8b92f62
Return a hack
jakobbotsch b10ff69
WIP
jakobbotsch 058d5d0
IL scanner work
jakobbotsch ccebf1b
More
jakobbotsch 40bc90f
Merge branch 'main' of github.com:dotnet/runtime into runtime-async-v…
jakobbotsch f018bdc
Merge branch 'main' of github.com:dotnet/runtime into runtime-async-v…
jakobbotsch bdb00ea
Fixes after merge
jakobbotsch 8e4bf6f
Minimize test
jakobbotsch 1e601d7
Revert "Minimize test"
jakobbotsch cb429d9
Add caller context to getAwaitReturnCall
jakobbotsch 8d3b9ea
Revert "Add caller context to getAwaitReturnCall"
jakobbotsch 815f100
Remove dotnet/corert#3873 workarounds
MichalStrehovsky 144a6f7
Merge branch 'main' of github.com:dotnet/runtime into runtime-async-v…
jakobbotsch 3c5235a
New JIT-EE GUID after merge
jakobbotsch 12bfb2d
Run jit-format
jakobbotsch 65d1b97
Merge branch 'main' of github.com:dotnet/runtime into runtime-async-v…
jakobbotsch d74ec56
Undo hack
jakobbotsch 4ec6f1e
Clean up
jakobbotsch ccbe3b0
Fix build, clean up
jakobbotsch 50d03de
Fix reflection test
jakobbotsch a09e258
Fix after merge
jakobbotsch b1d26ba
Feedback
jakobbotsch 17e1f34
Feedback
jakobbotsch f41ad6e
Feedback
jakobbotsch aaaa3c6
Implement interpreter support
jakobbotsch 69aef66
Implement WrapTopOfStackInAwait
jakobbotsch d8b3b2c
Remove unnecessary code
jakobbotsch d1c9c43
More fixes
jakobbotsch 40cf410
Fix bug in interpreter implementation
jakobbotsch 7a04e3f
Fixes
jakobbotsch 71badf6
Fixes
jakobbotsch 42c8f00
Reword comments
jakobbotsch f0f0713
Remove unrelated change
jakobbotsch 081ac5e
More feedback
jakobbotsch 9758ec6
Even more feedback
jakobbotsch d6dff98
Skip crossgen2 for async version functions
jakobbotsch b3f4d04
Copilot feedback
jakobbotsch dc63e63
Merge branch 'main' of github.com:dotnet/runtime into runtime-async-v…
jakobbotsch 62112be
Add SupportsAsyncVersionCodegen and use it
jakobbotsch 44438da
Remove dead code
jakobbotsch 3b97fed
Generate unsafe accessors before async thunks, add a test
jakobbotsch 3e5dfce
Simpler solution
jakobbotsch File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or 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 hidden or 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 hidden or 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 hidden or 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.
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I want to rename these in a follow-up -- we have
TransparentAwaitalready that always suspends andTransparentAwaitWithResultthat does a check and then suspends. I think the "always suspend" variant should be calledTransparentSuspendinstead ofTransparentAwait, and this version should be calledTransparentAwaitto match what theawaitkeyword does. But I want to do that separately since this PR is already large.