-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Enable runtime async config switch by default #121732
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
Conversation
|
/azp list |
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.
Pull Request Overview
This PR enables runtime async support by default in CoreCLR and activates the associated test suite. The change flips the default configuration value for RuntimeAsync from disabled (0) to enabled (1), and removes a blocking PropertyGroup that prevented async test compilation.
Key Changes
- Sets the
RuntimeAsyncconfiguration default to1(enabled) in the CoreCLR configuration system - Removes the blanket
DisableProjectBuildproperty that previously prevented all async tests from being built
Reviewed Changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
src/coreclr/inc/clrconfigvalues.h |
Changes the default value of the UNSUPPORTED_RuntimeAsync configuration from 0 to 1, enabling runtime async method support by default |
src/tests/async/Directory.Build.targets |
Removes the PropertyGroup that disabled async test builds, allowing tests to compile and run for supported configurations (CoreCLR) while maintaining exclusions for mono, nativeaot, and wasm |
|
/azp run runtime-coreclr outerloop |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
#115094 is the tracking issue. runtime/src/coreclr/vm/methodtablebuilder.cpp Line 2684 in 41c9fa2
|
|
There are 26 I think a good way to work on this in parallel is logging bugs on each of these (or on areas with TODOs if they are in the same area). Then we can assign the bugs around. |
|
As an example - log issues like: #121754 If the approach sounds reasonable, I will go and make issues for other TODOs. |
|
An example of a tracking issue for something, that I do not think is blocking. I think we should just have tracking issues for these kind of NYIs, not TODOs. |
Yes, tracking issues for perf improvements are fine. I am worried about fixing security issues (the integer overflow example above) and observable behavior changes (the COM interop example above) before we flip the switch. |
Yes, if there is a chance that a TODOs may be hiding a functional regression, I'll keep I will still open issues on individual (or groups of TODOs, when in the same area) - that is just to coordinate when/who is fixing them. |
This was done. The biggest one, IMO, is the COM interop in the presence of runtime async. It may even need to be split further, - I am not familiar with the area enough to tell if COM-to-CLR and CLR-to-COM are here unrelated and can or need to be handled separately. |
Co-authored-by: agocke <515774+agocke@users.noreply.github.com>
77f0af6 to
5be29c0
Compare
|
This PR breaks browser/interp probably until we remove the temporary signature detection To unblock us, we will turn asyncv2 for browser off in #122495 |
Enables runtime async support by setting the CoreCLR configuration default and enabling async tests, without forcing the
runtime-async=oncompiler feature across all library code.This enables all the runtime tests, but not the libraries tests. This allows us to opt-in libraries tests one-by-one and confirm no regressions.
Changes
src/coreclr/inc/clrconfigvalues.h: SetRuntimeAsyncdefault to1(enabled)src/tests/async/Directory.Build.targets: RemoveDisableProjectBuildblock that prevented async test compilation