Commit f45ef81
[RFC FS-1087, FS-1097, FS-1098] tasks, resumable state machines, inline on parameters (#6811)
* Move existing Compiler.ComponentTests to a new Compiler.fs framework (#9839) (#9847)
* Move existing Compiler.ComponentTests to a new Compiler.fs framework; Add 'parse' function
* Changed some wording in error messages
Co-authored-by: Vlad Zarytovskii <vzaritovsky@hotmail.com>
* fix build
* fix order of diagnostics
* update baselines
* Delete FSharp.Compiler.Service.fsproj
* fix comments
* fix comments
* fix build
* fix build
* Reduce number of typeEquiv checks (#10324) (#10374)
Co-authored-by: Steffen Forkmann <steffen.forkmann@msu-solutions.de>
* xlf
* fix build
* fix build
* fix build
* fix build
* fix list and array builder perf
* better perf testing
* better perf testing
* better perf testing
* update baselines
* work on taskSeq { ... }
* remove old file
* enable all benchmarks
* update benchmarks
* update baseline
* static checking of resumable code
* static checking of resumable code
* fix build
* fix build
* fix build
* fix build
* fix build
* fix build
* fix baseline
* try fix stack overflow
* fix up tests
* add some negative testing, simplify implementation
* fix up tests
* fix baseline
* fix test and add negative baselines
* rename intrinsic and add test for seq case
* fix build
* fix and rename test
* fix test
* improve debugging
* improve debugging of try/with and try/finally
* fix baseline
* infer resumable code from single attribute on delegate type
* update samples
* inline if lambda
* update baselines
* fix check
* delegate and computed function reductions for inlined code
* update baselines
* update baselines
* update test
* fix test that failed randomly due to inexact floating point
* add tests for generated IL
* update tests
* don't use InlineIfLambda on sumBy and averageBy due to slight floating point changes
* add ability for struct machines to implement additional interfaces (needed for low allocation co-routines)
* add coroutines
* update baselines
* resumable code combinators and tailcalls for coroutines
* fix baselinhe
* make tasks using shared resumable code combinators the default. Also testing and fixes for dynamic execution of resumable code
* update baselines
* suppress warning in FSharp.Core
* suppress warning in FSharp.Core
* fix build
* fix build
* fix build
* update test
* only struct state machines
* codegen IResumableStateMachine
* update baselines
* update baselines
* notes on sample
* fix build
* Update coroutine.fs
* Negative testing following spec for compilability. Additional testing for dynamic implementation of tasks
* simpler coroutine sample, fix build
* update baselines
* remove unused state vars from internal represenation of object expressions
* add coroutine example
* update perf benchmarks
* remove old files
* code cleanup
* add compilergenerated attribute, add async2 approximate implementation
* test async perf w.r.t. previous compiler, add test for reduced stack trace
* using on IAsyncDisposable
* remove dynamic Awaiter field from tasks
* update surface area
* add backgroundTask { ... }
* surface area test only for decalred members etc.
* fix test
* add dynamic tests for backgroundTask
* fix codegen bug
* fix build
* simplify SRTP use in task.fs/fsi
* fix build and baselines
* fix build
* fix build
* fix build
* fix pacakge
* remove RFC FS-1099 from this PR
* remove RFC FS-1099 from this PR
* backgroundTask only switches to background if necessary
* Update tasks.fs
* fix test
* clear sync context for test
* clear sync context for test
* update baseline
* code review
* fix build
* fix build
* fix clearing state machines
* fix to clearing code
* improve generated task code and debugging
* only update baselines on failure
* fix some cases of debug stepping, improve isnull codegen, add more tests
* move TaskPerf to benchmarks directory
* fix baseline
* only update baselines when things changed
* fix baselines
* update baselines
* fix baselines
* fix build
* fix some tests, add hard error on language version check
* reset unchanged files
* update baselines
* update baselines
* fix baseline
* fix comparer
* flags
* Revert "flags"
This reverts commit 5b2a011.
* fix merge
* fix build
* fix build
* fix build
* update baseline
* fix build
* fix build
* update baseline
* fix baselines
* update baseline
* fix build
* fix build
* update baseline
* fix test
* code review changes
Co-authored-by: Kevin Ransom (msft) <codecutter@hotmail.com>
Co-authored-by: Phillip Carter <pcarter@fastmail.com>
Co-authored-by: dotnet bot <dotnet-bot@dotnetfoundation.org>
Co-authored-by: Vlad Zarytovskii <vzaritovsky@hotmail.com>
Co-authored-by: Don Syme <donsyme@fastmail.com>
Co-authored-by: Steffen Forkmann <steffen.forkmann@msu-solutions.de>
Co-authored-by: Brett V. Forsgren <brettfo@microsoft.com>1 parent e19155e commit f45ef81
203 files changed
Lines changed: 19043 additions & 4318 deletions
File tree
- BenchmarkDotNet.Artifacts/results
- src/fsharp
- FSharp.Compiler.Service
- FSharp.Core
- fsi
- service
- symbols
- xlf
- tests
- FSharp.Compiler.ComponentTests/EmittedIL
- FSharp.Compiler.Service.Tests
- FSharp.Core.UnitTests
- FSharp.Core
- Microsoft.FSharp.Collections
- Microsoft.FSharp.Control
- FSharp.Test.Utilities
- benchmarks
- TaskPerfCSharp
- TaskPerfPreviousCompiler
- TaskPerf
- fsharpqa/Source
- CodeGen/EmittedIL
- CCtorDUWithMember
- GeneratedIterators
- ListExpressionStepping
- Misc
- QueryExpressionStepping
- SeqExpressionStepping
- SeqExpressionTailCalls
- StaticInit
- TestFunctions
- Tuples
- Optimizations
- ForLoop
- GenericComparison
- Inlining
- fsharp
- Compiler
- CodeGen/EmittedIL
- Language
- core
- seq
- state-machines
- walkthroughs/DebugStepping
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 67 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
0 commit comments