Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
221 commits
Select commit Hold shift + click to select a range
0beb3f0
More updates
davidwrighton Sep 18, 2023
783754d
more tweaks
davidwrighton Sep 18, 2023
8c43a9a
It builds
davidwrighton Sep 18, 2023
545509c
ItCompilesButConvertingFromAsyncVariantsIsntRight
davidwrighton Sep 19, 2023
20eb76e
It builds and it should work... but doesn't
davidwrighton Sep 20, 2023
ad0bd71
Oops pMethod can be NULL
davidwrighton Sep 20, 2023
8d416cb
We are able to load Task<T> methods which are virtual again, next to …
davidwrighton Sep 21, 2023
0fbd60c
Add some simple benchmarks of the existing situation
davidwrighton Sep 21, 2023
3270fdf
Add Test case for synchronous behavior
davidwrighton Sep 21, 2023
84ae54d
Now we should be forcing transient lookup which wont' work
davidwrighton Sep 22, 2023
84f7148
Fix method classification for async2 methods
davidwrighton Sep 22, 2023
51e2011
We are now triggering the transient IL compilation for the thunks
davidwrighton Sep 22, 2023
6fc166a
Calling Sample Works! Now to implement an actual async implementatio…
davidwrighton Sep 22, 2023
0b10933
WithYield runtime task test
davidwrighton Sep 25, 2023
34a2219
- Add async to Task stub
davidwrighton Sep 26, 2023
38b2087
Runtime handled tasks markdown for experiment
davidwrighton Sep 27, 2023
b7b00de
Writeup managed side of runtime driven suspension. Need to write deta…
davidwrighton Sep 28, 2023
8353bd8
Add the logic to try to flow ExecutionContext and SynchronizationCont…
davidwrighton Sep 28, 2023
2aac618
It compiles, but doesn't link
davidwrighton Oct 9, 2023
0e82446
C++ portion builds
davidwrighton Oct 9, 2023
718aa39
In theory, this should work?
davidwrighton Oct 11, 2023
6d1e7b7
native part builds
davidwrighton Oct 12, 2023
d20bb17
Merged PR 34323: make things build
VSadov Oct 12, 2023
aee9b9f
It successfully captures... and unwind doesn't quite work
davidwrighton Oct 13, 2023
df91ac6
Basic unwind support mostly works. Expected that it crashes unpredict…
davidwrighton Oct 17, 2023
56178c3
It runs? Doesn't handle return value correctly, but runs for the righ…
davidwrighton Oct 17, 2023
52f272b
Free memory properly
davidwrighton Oct 17, 2023
204633e
Merged PR 34523: remove DEFINE_METHOD for no longer existing methods
VSadov Oct 18, 2023
f30fa3f
Fix returns within async2 tasks... returning value to outer task is s…
davidwrighton Oct 18, 2023
19b5c99
Set the return value on output from this whole thing! The example works!
davidwrighton Oct 18, 2023
4174447
Fix for code which uses the 32 byte parameter area on X64
davidwrighton Oct 19, 2023
989c4cb
Add corjit flags and corinfo for the new async work
davidwrighton Oct 19, 2023
9c7a444
Add test case compiled with the new compiler
davidwrighton Oct 20, 2023
bd38a81
Fix issue exposed by merging to latest main bits
davidwrighton Oct 20, 2023
41aaae8
Add GC Support to unwind based async implementation
davidwrighton Oct 20, 2023
18d7cdd
Merged PR 34691: Prototype for generating state machines in JIT for a…
jakobbotsch Oct 20, 2023
4cc1f18
Merged PR 34735: Simplify the async2 api surface
davidwrighton Oct 23, 2023
7645bfd
Merged PR 34743: Update compiler and such
davidwrighton Oct 23, 2023
9e4389b
Merged PR 34707: Get basic thunk working for JIT state machines
jakobbotsch Oct 23, 2023
6d1091b
Add test case with new logic which doesn't actually yield, but has al…
davidwrighton Oct 23, 2023
669eb44
Closer to correct implementation of thunk which uses UnsafeAwaitAwait…
davidwrighton Oct 23, 2023
34897d7
Merged PR 34763: Get suspension working with jit state machines
jakobbotsch Oct 24, 2023
2fd8029
Fixes to make it all build and run properly
davidwrighton Oct 24, 2023
51a3a87
Merged PR 34776: replaces couple IL tests with trivial C# variants, a…
VSadov Oct 26, 2023
5caa51e
Merged PR 34773: Get MinOpts and OSR working with JIT state machines
jakobbotsch Oct 26, 2023
b7baed9
Merged PR 34838: Upgrade the markdown doc with a somewhat better desc…
davidwrighton Oct 26, 2023
604e50f
Merged PR 34841: Make BYREF CSEs unavailable across suspension points
jakobbotsch Oct 27, 2023
7d241b7
Merged PR 34886: update roslyn reference for impement/override suppor…
VSadov Oct 28, 2023
fe0f8bb
Merged PR 34865: Make Continuation a class
jakobbotsch Oct 30, 2023
6449b63
Merged PR 34889: Implement SPMI support for JIT state machine JIT<->E…
jakobbotsch Oct 30, 2023
00519cf
Merged PR 34910: Update and merge design document for JIT generated s…
jakobbotsch Oct 30, 2023
65fa227
Merged PR 34897: Implement proper GC reporting for async continuation…
jakobbotsch Oct 30, 2023
15af83a
Merged PR 34912: Add support for void returning Async2 methods, and V…
davidwrighton Oct 30, 2023
2909b7f
Merged PR 34919: Add support for ValueTask<T> and Task/ValueTask nong…
davidwrighton Oct 31, 2023
4aa0bcf
Fix build failure
jakobbotsch Oct 31, 2023
ed1e50b
Fix test build
jakobbotsch Oct 31, 2023
b3f5b6f
Fix getting return value from continuation
jakobbotsch Oct 31, 2023
e7d4a00
Merged PR 34944: Add EH support to the JIT SM prototype
jakobbotsch Oct 31, 2023
92f852f
Merged PR 35015: Fix type of RuntimeAsyncMaintainedData
jakobbotsch Nov 1, 2023
2fc5a2a
Merged PR 35022: test for generics and a roslyn update to compile it
VSadov Nov 2, 2023
851c7c3
Merged PR 35000: Handle retbufs properly in JIT SM prototype
jakobbotsch Nov 2, 2023
335e302
Merged PR 34896: Add "varying yields" benchmark; optimize/fix prototy…
jakobbotsch Nov 2, 2023
626de90
Merged PR 35032: Avoid boxing return values in the resumed path when …
jakobbotsch Nov 3, 2023
1edab00
Merged PR 35049: Call async2 entry from thunks with direct "call" IL …
jakobbotsch Nov 6, 2023
848d734
Merged PR 35055: initial compiler support for ValueTask
VSadov Nov 6, 2023
9dce32d
Merged PR 35075: Fix ValueTask handling for async2
davidwrighton Nov 6, 2023
00da10f
Fix incorrect resume BB insertion
jakobbotsch Nov 7, 2023
55e9410
Skip post-async2 functions for GC stress
jakobbotsch Nov 7, 2023
b9190c6
Run jit-format
jakobbotsch Nov 7, 2023
6ac1f06
Fix mixing up struct slot indices with GC data array indices
jakobbotsch Nov 7, 2023
fba68af
Merged PR 35077: Add an EH performance benchmark
davidwrighton Nov 7, 2023
350cf5a
Update outdated comment
jakobbotsch Nov 8, 2023
6ac06db
Fix a JITDUMP
jakobbotsch Nov 8, 2023
e762f70
Update design document for latest JIT SM changes
jakobbotsch Nov 8, 2023
0828e72
Remove dead/unnecessary code
jakobbotsch Nov 8, 2023
177c3b2
Fix non-generic async1 -> async2 thunks
jakobbotsch Nov 8, 2023
2c4257a
Add a list of expected test failures
jakobbotsch Nov 8, 2023
6c3e6a4
Merged PR 35118: Add a writeup based on the EH microbenchmark I wrote up
davidwrighton Nov 9, 2023
5ba6888
Merged PR 35196: Switching to the new syntax
VSadov Nov 13, 2023
d9fbc66
Merged PR 35215: Writeup about span/byref and runtime-async
VSadov Nov 15, 2023
11f8bd2
Update buildroslynnugets.cmd script to use public github details
davidwrighton Nov 16, 2023
a6a45ed
Add readme for async2 experiment
davidwrighton Nov 16, 2023
6fec721
Follow instructions in the Create an experiment document
davidwrighton Nov 16, 2023
9495c90
Correct issue number for async2 work
davidwrighton Nov 16, 2023
75319ab
Fix readme even more
davidwrighton Nov 16, 2023
c4a2eb3
Merged PR 35233: Add measurement of async2 logic with Execution and S…
davidwrighton Nov 16, 2023
6b47db0
Fix the roslyn build script (#2422)
davidwrighton Nov 16, 2023
842ad04
Null out TLS head continuation reference
jakobbotsch Nov 17, 2023
282218b
Manual CSE
jakobbotsch Nov 17, 2023
5e9973b
Fix paths in buildroslynnugets.cmd (#2426)
jakobbotsch Nov 17, 2023
0b1105a
Switch to JIT prototype by default; add support matrix (#2427)
jakobbotsch Nov 17, 2023
fc15ad6
Rename GetHeadContinuation -> UnlinkHeadContinuation
jakobbotsch Nov 17, 2023
7b79279
Merge pull request #2429 from jakobbotsch/tls-continuation-ref
jakobbotsch Nov 17, 2023
ba3bbb0
Fix resumption stub target in the presence of backpatching (#2428)
jakobbotsch Nov 28, 2023
a691996
[Async-2] A few small tweaks on the managed side of state-machine bas…
VSadov Nov 30, 2023
5205ef3
[Async-2]: Tasklet aging (#2425)
VSadov Dec 12, 2023
ff668bd
Bump the roslyn commit to a version supporting top-level async2 funct…
VSadov Dec 25, 2023
4ba1bc5
Benchmark of interaction between async1 and async2 (#2469)
davidwrighton Jan 2, 2024
c5a199c
Fix typo
IS4Code Jan 9, 2024
0c15f95
Merge pull request #2479 from IS4Code/patch-1
danmoseley Jan 9, 2024
e69dda5
Writeup on C# Language changes in async2 experiment. (#2488)
VSadov Jan 23, 2024
ce82124
Merge remote-tracking branch 'upstream/main' into update-to-main
jakobbotsch Oct 15, 2024
f538fc9
Adapt SPC and JIT
jakobbotsch Oct 15, 2024
16bb36a
mdc -> mdf
jakobbotsch Oct 15, 2024
43fd4d9
Rename
jakobbotsch Oct 15, 2024
a91a99b
Regenerate JIT-EE interface
jakobbotsch Oct 15, 2024
b0fe4c5
Last VM fixes
jakobbotsch Oct 15, 2024
07e8e59
Run API compat suppression generator
jakobbotsch Oct 15, 2024
badb398
point to rebased Roslyn branch
VSadov Oct 17, 2024
6996857
fix the build
VSadov Oct 17, 2024
9b89c68
Merge remote-tracking branch 'upstream-main/main' into update-to-main
jakobbotsch Oct 21, 2024
94d8614
Fix AllocContinuation
jakobbotsch Oct 21, 2024
26924fa
Fix recognition of async2 RuntimeHelpers intrinsics
jakobbotsch Oct 21, 2024
1e6fabc
Set likelihoods in async transformation
jakobbotsch Oct 21, 2024
b0f3179
Ensure async continuation is busy
jakobbotsch Oct 21, 2024
0f73c40
Fix recognition of Async2CallContinuation intrinsic
jakobbotsch Oct 21, 2024
bef94ed
Compute DFS tree for liveness
jakobbotsch Oct 21, 2024
1ba32a4
Rename likelihood
jakobbotsch Oct 21, 2024
4ca306b
Fix storing results on no EH rethrow
jakobbotsch Oct 21, 2024
a1bdae0
Fix resuming with 2 states
jakobbotsch Oct 21, 2024
f99ea2b
Spill only for async2 methods
jakobbotsch Oct 21, 2024
0647500
Fix type of VA cookie
jakobbotsch Oct 21, 2024
8f27c2a
Merge pull request #2717 from jakobbotsch/update-to-main
jakobbotsch Oct 21, 2024
083681c
Deleting parts of suspension-async flavor. (#2738)
VSadov Oct 28, 2024
cc268ed
[Runtime Async] Addressing test failures. (#2760)
VSadov Nov 11, 2024
0a10db8
[Runtime Async] Add support for shared generics (#2755)
jakobbotsch Nov 12, 2024
19ce23f
[RuntimeAsync] Add x86 support (#2767)
jakobbotsch Nov 13, 2024
0c66941
[RuntimeAsync] Clean up and fix async2 tests (#2768)
jakobbotsch Nov 14, 2024
efb2892
[RuntimeAsync] Add support for arm64 (#2769)
jakobbotsch Nov 14, 2024
36b4305
Fix linux-x64 support (#2770)
jakobbotsch Nov 14, 2024
0933305
Add arm32 support (#2773)
jakobbotsch Nov 15, 2024
81e5c1e
awaits of Task-returning methods from async2 are done as thunk calls.…
VSadov Nov 18, 2024
4e7c442
[RuntimeAsync] Add support for async struct instance methods (potenti…
jakobbotsch Nov 26, 2024
4daa761
[RuntimeAsync] Keep `LoaderAllocator` objects alive from continuation…
jakobbotsch Nov 28, 2024
d38e953
[RuntimeAsync] Fix support for pinvokes (#2847)
jakobbotsch Dec 4, 2024
d95f6ea
[RuntimeAsync] Fix a couple of cases where x86 would overwrite ecx on…
jakobbotsch Dec 5, 2024
7624a38
[RuntimeAsync] Switch the implementation to the new shape of runtime …
VSadov Dec 14, 2024
dc762b7
Merge branch 'main' of github.com:dotnet/runtime into update-to-main
jakobbotsch Dec 17, 2024
d1a1b71
Fixes after merge
jakobbotsch Dec 17, 2024
bd7b3f5
Delete CODEOWNERS to avoid notifications (#2894)
jakobbotsch Dec 17, 2024
301bdce
Merge branch 'feature/async2-experiment' of github.com:dotnet/runtime…
jakobbotsch Dec 17, 2024
9151883
Merge pull request #2895 from jakobbotsch/update-to-main
jakobbotsch Dec 18, 2024
b077e29
Format async2 JIT code (#2915)
jakobbotsch Jan 9, 2025
de4719c
Implement a change in IL API to use RuntimeHelpers.Await<T>(Task<T>) …
VSadov Feb 24, 2025
be99a4d
Merge remote-tracking branch 'upstream-main/main' into merge-from-ups…
jakobbotsch Mar 6, 2025
fdd554b
Fixes after merge
jakobbotsch Mar 6, 2025
b4257bf
Run jit-format
jakobbotsch Mar 6, 2025
320a565
bump roslyn ref to a newer drop
VSadov Mar 7, 2025
2922a4e
Fix one assert
jakobbotsch Mar 7, 2025
ce5fd93
Update to handle custom layouts properly
jakobbotsch Mar 7, 2025
8fb0f4c
FIx more JIT asserts
jakobbotsch Mar 7, 2025
d32d2e8
Fix inlining with AsyncContinuation
jakobbotsch Mar 7, 2025
2cea79a
Fix `JIT_ResumeOSRWorker` holding lock for too long
jakobbotsch Mar 7, 2025
f342fe7
Stop capturing ret buff arg
jakobbotsch Mar 7, 2025
22c4d06
Disable object stack allocation in async2 methods
jakobbotsch Mar 7, 2025
fcc449d
[RuntimeAsync] Merge from upstream (#3030)
jakobbotsch Mar 7, 2025
917982f
[RuntimeAsync] Some VM cleanups, TODOs, renames and better comments. …
VSadov Mar 11, 2025
a0d704d
fix build (#3041)
VSadov Mar 15, 2025
a6e563b
[RuntimeAsync] Normalize the box type in resume stubs (#3042)
VSadov Mar 18, 2025
76f1d17
Made Fibonacci tests to actually run Fibonacci algorithm (#3050)
VSadov Mar 21, 2025
d3be329
[RuntimeAsync] Recognizing new overloads of Await related to the Conf…
VSadov Mar 26, 2025
94f8e5a
turn off the assert and enable test scenario (#3054)
VSadov Mar 26, 2025
eae52ed
reconcile root and eng files with runtime repo
VSadov Mar 27, 2025
33887a4
Merge remote-tracking branch 'upstream/main' into a2move
VSadov Mar 27, 2025
f788e1e
fix build
VSadov Mar 27, 2025
1efcc66
disable building runtime async tests for now
VSadov Mar 28, 2025
5de877a
fix for unix
VSadov Mar 28, 2025
d74066d
another fix for unix
VSadov Mar 28, 2025
c9284cf
another unix fix
VSadov Mar 28, 2025
1ff64f1
build fixes for x86
VSadov Mar 28, 2025
e93475a
build fix for mono
VSadov Mar 28, 2025
5f48abb
jit formatting
VSadov Mar 28, 2025
f42e260
trailing whitespaces
VSadov Mar 28, 2025
9558af6
build fix for riscv
VSadov Mar 28, 2025
01e96b5
do not report async2 variants to reflection
VSadov Mar 29, 2025
0601d4a
merge from main
VSadov Mar 29, 2025
dba51db
alow ELEMENT_TYPE_INTERNAL when classifying signatures.
VSadov Mar 29, 2025
45a610b
handle Task-returning methods implementing/overriding non-Task-return…
VSadov Mar 29, 2025
cdf37d0
infinite recursion in TryResolveVirtualStaticMethodOnThisType
VSadov Mar 30, 2025
0ad595f
Merge remote-tracking branch 'upstream/main' into a2move
VSadov Mar 30, 2025
aae997e
fix for EnC
VSadov Mar 30, 2025
43cdf7d
Another workaround for reflection (need a better solution though)
VSadov Mar 30, 2025
0a52d75
Merge branch 'main' into a2move
VSadov Mar 31, 2025
f9facc3
more build fixes for RISCV
VSadov Mar 31, 2025
d105671
Restore CODEOWNERS
jakobbotsch Mar 31, 2025
b8450d9
Add license headers for new files
jakobbotsch Mar 31, 2025
d796485
Delete unused file
jakobbotsch Mar 31, 2025
66c8239
Undo whitespace change
jakobbotsch Mar 31, 2025
3190a60
Remove new unused code slot methods
jakobbotsch Mar 31, 2025
e6078fc
Remove new unused EmitUNBOX method
jakobbotsch Mar 31, 2025
479d4f4
Revert a logging change
jakobbotsch Mar 31, 2025
33d026d
Update src/coreclr/jit/codegenriscv64.cpp
VSadov Mar 31, 2025
b3c2804
Merge branch 'main' into a2move
VSadov Mar 31, 2025
21981a9
Remove unused IsInCurrentFrame
jakobbotsch Mar 31, 2025
5299ec7
Remove unused new CLASSID_SYSTEM_BYTE
jakobbotsch Mar 31, 2025
688466b
Refactor and split up async2 transformation
jakobbotsch Mar 31, 2025
3a76d37
Write function headers for new JIT functions
jakobbotsch Apr 1, 2025
828e7b2
Remove unused functions
jakobbotsch Apr 1, 2025
52ce4f7
More function headers and clean up
jakobbotsch Apr 1, 2025
d9487b2
Rename async2 -> async
jakobbotsch Apr 1, 2025
7364c0c
Rename in RISC-V and LA64 as well
jakobbotsch Apr 1, 2025
e659987
remove code added to eetwain and gcinfodecoder
VSadov Apr 3, 2025
fd1c224
merge from upstream
VSadov Apr 3, 2025
0aff212
fix after merge
VSadov Apr 3, 2025
211a281
undo unnecessary change in QCallHandlers.cs
VSadov Apr 4, 2025
6bb5492
reference continuation return from volatileCurrContextPointers on ARM…
VSadov Apr 4, 2025
df5b767
PR feedback
VSadov Apr 4, 2025
40514a0
Merge branch 'main' into a2move
VSadov Apr 4, 2025
af84887
remove unnecessary change
VSadov Apr 5, 2025
7ba09e8
fix for x86
VSadov Apr 5, 2025
50e1e85
fix for arm32
VSadov Apr 5, 2025
4cce333
Merge branch 'main' into a2move
VSadov Apr 5, 2025
b1fe9e2
more fixing for arm32
VSadov Apr 5, 2025
030c988
typo
VSadov Apr 5, 2025
3f3fe9e
actual fix?
VSadov Apr 6, 2025
d5e4faf
hide async2 variants from reflection
VSadov Apr 6, 2025
6e43cad
undo reflection workaround
VSadov Apr 6, 2025
f015aec
undo unnecessary EnC related changes
VSadov Apr 7, 2025
32d27f8
Undo whitespace only changes
VSadov Apr 7, 2025
86075c1
some trivial cleanups
VSadov Apr 7, 2025
21fcafa
IntroducedMethodIterator should return all methods, filter async vari…
VSadov Apr 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/design/features/async-mincallcost.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading