Skip to content

Conversation

PranavSenthilnathan
Copy link
Member

No description provided.

github-actions bot and others added 29 commits September 23, 2025 16:11
…rning default value for out-of-bounds indices (dotnet#119844)

* Initial plan

* Fix DefaultIfEmptyIterator.TryGetElementAt to return default when element not found

Co-authored-by: eiriktsarpalis <2813363+eiriktsarpalis@users.noreply.github.com>

* Add regression test and finalize fix for DefaultIfEmptyIterator.TryGetElementAt

Co-authored-by: eiriktsarpalis <2813363+eiriktsarpalis@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: eiriktsarpalis <2813363+eiriktsarpalis@users.noreply.github.com>
…21.3 (dotnet#119981)

On relative base path root
Microsoft.SourceBuild.Intermediate.cecil , Microsoft.DotNet.Cecil From Version 0.11.5-alpha.25464.3 -> To Version 0.11.5-alpha.25471.3

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
…et#119978)

* [release/9.0] Update dependencies from dotnet/emsdk (dotnet#119753)

* Update dependencies from https://github.com/dotnet/emsdk build 20250915.2
On relative base path root
Microsoft.SourceBuild.Intermediate.emsdk , Microsoft.NET.Workload.Emscripten.Current.Manifest-9.0.100.Transport From Version 9.0.10-servicing.25462.3 -> To Version 9.0.10-servicing.25465.2
Microsoft.NET.Workload.Emscripten.Current.Manifest-9.0.100 From Version 9.0.10 -> To Version 9.0.10

* Update dependencies from https://github.com/dotnet/emsdk build 20250916.2
On relative base path root
Microsoft.SourceBuild.Intermediate.emsdk , Microsoft.NET.Workload.Emscripten.Current.Manifest-9.0.100.Transport From Version 9.0.10-servicing.25462.3 -> To Version 9.0.10-servicing.25466.2
Microsoft.NET.Workload.Emscripten.Current.Manifest-9.0.100 From Version 9.0.10 -> To Version 9.0.10

Dependency coherency updates
On relative base path root
runtime.linux-arm64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.linux-x64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.linux-musl-x64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.win-arm64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.win-x64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.osx-arm64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.osx-x64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools,runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools,runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools,runtime.linux-musl-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.linux-musl-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools,runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools,runtime.osx-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.osx-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools,runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools From Version 19.1.0-alpha.1.25414.3 -> To Version 19.1.0-alpha.1.25462.1 (parent: Microsoft.NET.Workload.Emscripten.Current.Manifest-9.0.100.Transport)

* Update dependencies from https://github.com/dotnet/emsdk build 20250916.6
On relative base path root
Microsoft.SourceBuild.Intermediate.emsdk , Microsoft.NET.Workload.Emscripten.Current.Manifest-9.0.100.Transport From Version 9.0.10-servicing.25462.3 -> To Version 9.0.10-servicing.25466.6
Microsoft.NET.Workload.Emscripten.Current.Manifest-9.0.100 From Version 9.0.10 -> To Version 9.0.10

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Update dependencies from https://github.com/dotnet/emsdk build 20250917.4 (dotnet#119809)

On relative base path root
Microsoft.SourceBuild.Intermediate.emsdk , Microsoft.NET.Workload.Emscripten.Current.Manifest-9.0.100.Transport From Version 9.0.10-servicing.25466.6 -> To Version 9.0.10-servicing.25467.4
Microsoft.NET.Workload.Emscripten.Current.Manifest-9.0.100 From Version 9.0.10 -> To Version 9.0.10

Dependency coherency updates
On relative base path root
runtime.linux-arm64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.linux-x64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.linux-musl-x64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.win-arm64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.win-x64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.osx-arm64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.osx-x64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools,runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools,runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools,runtime.linux-musl-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.linux-musl-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools,runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools,runtime.osx-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.osx-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools,runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools From Version 19.1.0-alpha.1.25462.1 -> To Version 19.1.0-alpha.1.25466.4 (parent: Microsoft.NET.Workload.Emscripten.Current.Manifest-9.0.100.Transport)

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Update dependencies from https://github.com/dotnet/emsdk build 20250919.4 (dotnet#119900)

On relative base path root
Microsoft.SourceBuild.Intermediate.emsdk , Microsoft.NET.Workload.Emscripten.Current.Manifest-9.0.100.Transport From Version 9.0.10-servicing.25467.4 -> To Version 9.0.10-servicing.25469.4
Microsoft.NET.Workload.Emscripten.Current.Manifest-9.0.100 From Version 9.0.10 -> To Version 9.0.10

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

---------

Co-authored-by: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Tarek Mahmoud Sayed <10833894+tarekgh@users.noreply.github.com>
The setting of the NDirectMethodDesc::kNDirectPopulated bit
is done via an interlocked operation. This bit is used to indicate
if the NDirectMethodDesc has been populated with the needed
information to load the P/Invoke. The reading of this bit however
was missing an acquire barrier and thus setting of fields between
the check and set weren't being observed correctly.

Co-authored-by: Aaron R Robinson <arobins@microsoft.com>
…13385)

* Bump System.Text.Json toolset version

* Use PackageDownloadAndReference same as upstream PR

* Change System.Buffers to ref/net45

---------

Co-authored-by: Steve Pfister <stpfiste@microsoft.com>
…923.2 (dotnet#120034)

On relative base path root
Microsoft.SourceBuild.Intermediate.arcade , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XliffTasks , Microsoft.DotNet.XUnitExtensions From Version 9.0.0-beta.25465.2 -> To Version 9.0.0-beta.25473.2
Microsoft.DotNet.XUnitAssert , Microsoft.DotNet.XUnitConsoleRunner From Version 2.9.0-beta.25465.2 -> To Version 2.9.0-beta.25473.2

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
…23.1 (dotnet#120033)

On relative base path root
Microsoft.SourceBuild.Intermediate.cecil , Microsoft.DotNet.Cecil From Version 0.11.5-alpha.25471.3 -> To Version 0.11.5-alpha.25473.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
…ence-packages build 20250912.1 (dotnet#120020)

On relative base path root
Microsoft.SourceBuild.Intermediate.source-build-reference-packages From Version 9.0.0-alpha.1.25452.2 -> To Version 9.0.0-alpha.1.25462.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Handle the case where there is an ambiguous name and signature match, but one is generic and the other isn't.
* [release/9.0] Bump OSX.12 helix queues to OSX.13

* Do superpmi too

* Incorporate dotnet#112647

* Backport dotnet#119273 for msquic and more test excludes

* Exclude msquic package in tests
…925.3 (dotnet#120128)

On relative base path root
Microsoft.SourceBuild.Intermediate.arcade , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XliffTasks , Microsoft.DotNet.XUnitExtensions From Version 9.0.0-beta.25473.2 -> To Version 9.0.0-beta.25475.3
Microsoft.DotNet.XUnitAssert , Microsoft.DotNet.XUnitConsoleRunner From Version 2.9.0-beta.25473.2 -> To Version 2.9.0-beta.25475.3

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
…25.2 (dotnet#120129)

On relative base path root
Microsoft.SourceBuild.Intermediate.cecil , Microsoft.DotNet.Cecil From Version 0.11.5-alpha.25473.1 -> To Version 0.11.5-alpha.25475.2

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
…ence-packages build 20250923.1 (dotnet#120106)

On relative base path root
Microsoft.SourceBuild.Intermediate.source-build-reference-packages From Version 9.0.0-alpha.1.25462.1 -> To Version 9.0.0-alpha.1.25473.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
…ease/9.0-staging

[automated] Merge branch 'release/9.0' => 'release/9.0-staging'
…28.3 (dotnet#120240)

On relative base path root
Microsoft.SourceBuild.Intermediate.cecil , Microsoft.DotNet.Cecil From Version 0.11.5-alpha.25475.2 -> To Version 0.11.5-alpha.25478.3

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
…ble (dotnet#120154)

* [mono][metadata] Enable compressed interface bitmap by default (dotnet#119694)

* [mono][metadata] Enable compressed interface bitmap by default

* Fix build on windows

* Fix publishing of compressed bitmap

Before this commit we were doing changes on the published data which is problematic for multithreaded environments. We ensure the bitmap is fully processed before publishing it so that we can rely on the data dependency memory ordering constraint for correctness.

* [mono] Enable configuration at runtime of the compressed interface bitmap feature (dotnet#119881)

* Add option to configure use of compressed interface bitmaps

This optimization is disabled by default. Enable it with `MONO_COMPRESSED_INTERFACE_BITMAP=1`

* Add support for detecting mismatch with aot images
…otnet#120265)

Co-authored-by: Jeff Handley <jeffhandley@users.noreply.github.com>
…ild 20251002.3 (dotnet#120331)

On relative base path root
Microsoft.DotNet.HotReload.Utils.Generator.BuildTool From Version 9.0.0-alpha.0.25462.1 -> To Version 9.0.0-alpha.0.25502.3

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Aaron R Robinson <arobins@microsoft.com>
…date if it is an empty one (dotnet#120335)

* If we receive an empty update we should just ignore it.

* Update src/mono/mono/component/hot_reload.c

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Thays Grazia <thtaglia@microsoft.com>
Co-authored-by: Thays Grazia <thaystg@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
)

* Update dependencies from https://github.com/dotnet/icu build 20251002.3
On relative base path root
Microsoft.NETCore.Runtime.ICU.Transport From Version 9.0.0-rtm.25469.1 -> To Version 9.0.0-rtm.25502.3

* Update dependencies from https://github.com/dotnet/icu build 20251004.3
On relative base path root
Microsoft.NETCore.Runtime.ICU.Transport From Version 9.0.0-rtm.25469.1 -> To Version 9.0.0-rtm.25504.3

* Update dependencies from https://github.com/dotnet/icu build 20251005.1
On relative base path root
Microsoft.NETCore.Runtime.ICU.Transport From Version 9.0.0-rtm.25469.1 -> To Version 9.0.0-rtm.25505.1

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
…003.3 (dotnet#120397)

On relative base path root
Microsoft.SourceBuild.Intermediate.arcade , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XliffTasks , Microsoft.DotNet.XUnitExtensions From Version 9.0.0-beta.25475.3 -> To Version 9.0.0-beta.25503.3
Microsoft.DotNet.XUnitAssert , Microsoft.DotNet.XUnitConsoleRunner From Version 2.9.0-beta.25475.3 -> To Version 2.9.0-beta.25503.3

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
…04.2 (dotnet#120418)

On relative base path root
Microsoft.SourceBuild.Intermediate.cecil , Microsoft.DotNet.Cecil From Version 0.11.5-alpha.25478.3 -> To Version 0.11.5-alpha.25504.2

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
…51004.2 (dotnet#120425)

On relative base path root
Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Common , Microsoft.DotNet.XHarness.TestRunners.Xunit From Version 9.0.0-prerelease.25426.1 -> To Version 9.0.0-prerelease.25504.2

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
…ild 20251004.3 (dotnet#120404)

On relative base path root
Microsoft.DotNet.HotReload.Utils.Generator.BuildTool From Version 9.0.0-alpha.0.25502.3 -> To Version 9.0.0-alpha.0.25504.3

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
…ld 20251004.2 (dotnet#120417)

On relative base path root
Microsoft.DotNet.CilStrip.Sources , System.ComponentModel.TypeConverter.TestData , System.Data.Common.TestData , System.Drawing.Common.TestData , System.Formats.Tar.TestData , System.IO.Compression.TestData , System.IO.Packaging.TestData , System.Net.TestData , System.Private.Runtime.UnicodeData , System.Runtime.Numerics.TestData , System.Runtime.TimeZoneData , System.Security.Cryptography.X509Certificates.TestData , System.Text.RegularExpressions.TestData , System.Windows.Extensions.TestData From Version 9.0.0-beta.25462.1 -> To Version 9.0.0-beta.25504.2

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
….1 (dotnet#120586)

On relative base path root
Microsoft.NETCore.Runtime.ICU.Transport From Version 9.0.0-rtm.25505.1 -> To Version 9.0.0-rtm.25509.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
BrzVlad and others added 3 commits October 12, 2025 09:03
…und dynamic methods (dotnet#120600)

* [mono][interp] Fix various leaks, primarily around dynamic methods (dotnet#119176)

* [mono][interp] Fix leaking of compilation data

For dynamic methods, imethod_alloc0 allocates from the dynamic method's mempool which is freed when the method is collected. We were previously allocating only from the global memory manager.

* [mono][interp] Stop leaking data items

Previously we were registering imethod locations from these data items in order for them to be patched once a method is tiered up. Because of this registering, the data item had to always be around. We now free the data item for dynamic methods and also we deregister the patch locations when freeing such a method.

* [mono][interp] Free headers allocated for inlined methods

We add them to a list for later freeing. This uses the same pattern as jit.

* [mono][interp] Skip interp free for methods not yet compiled

* [mono][interp] Fix attempt to free tiering data when tiering is disabled (dotnet#119294)

* [mono] Actually free dynamic methods, even if we have profiler attached (dotnet#119749)

* [mono] Actually free dynamic methods, even if we have profiler attached

Ever since the early days of mono, freeing dynamic methods was disabled if a profiler was attached. The reason for this was probably that the profiler might store `MonoMethod` instances in its own data, leading to problems if we free those instances. Looking at the profilers nowadays it is not clear where patterns like this would happen. Profilers that do store methods (like aot, coverage), don't process wrapper methods, so we should be safe since dynamic methods have the MONO_WRAPPER_DYNAMIC_METHOD wrapper type.

The problem is that, nowadays, we can always have a profiler attached even if no actual profiling happens. macios for example always calls mono_profiler_install. I belive actual callbacks can be added later as necessary.

* Disable freeing dynamic methods only when eventpipe or debugger are enabled

* [mono][interp] Fix race when registering patch point data items (dotnet#119990)

The code of a compiled method can use data items that contain InterpMethod* pointers. Because at the moment when a method is compiled these referenced interp methods weren't yet tiered up, we will register these data item locations to the tiering backend so that, when they do get tiered up, the locations get updated with the new InterpMethod* reference. At this moment of compilation time, we could race with other compilers of the same InterpMethod so we could end up registering redundant data_items (only the data_items for the method winning the race will actually end up being used by the executing interpreter code). Normally this is harmless, we just patch some data that never gets used.

The problems start when we free interpreter methods. When the interp method is freed, we need to clear the patch_sites_table of any locations pointing into this method's data items. We do a search starting from the data items of this method. Because we have no way to reference the wrongly registered data items, these entries will stay alive in the table. As the memory gets reused, these entries will point into other runtime code, and when the get patched, it will result in corruption of memory.

We fix this issue by registering the patch sites only for the method winning the compilation race (the one that first sets the transformed flag).

* [mono] Enable dynfree of methods only if env var is passed

If the MONO_ENABLE_DYNMETHOD_FREE is not passed, the behavior is not changed at all in order to mitigate potential risk. The old behavior was that if we have a profiler installed we don't free dynamic methods, which was always the case on maui.
…major collection (dotnet#120533)

When we are in this method, major sweep hasn't yet finished so we check with some imprecise conservative values. min_heap_size is a conservative lower limit of the actual heap size. Allowance represents how much more we allow the heap to grow after the previous major collection. We were comparing the min_heap_size with the allowance by mistake, when we should have compared it with the next major trigger size (which is the heap_size after the last collection plus the allowance).

Co-authored-by: Vlad Brezae <brezaevlad@gmail.com>
…ease/9.0-staging

[automated] Merge branch 'release/9.0' => 'release/9.0-staging'
@PranavSenthilnathan PranavSenthilnathan marked this pull request as ready for review October 13, 2025 18:55
@Copilot Copilot AI review requested due to automatic review settings October 13, 2025 18:55
Copy link
Contributor

@Copilot Copilot AI left a 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 is a manual merge from the release/9.0-staging branch into release/9.0, incorporating multiple fixes and improvements primarily focused on runtime stability, test infrastructure updates, and bug fixes.

Key changes include:

  • Compressed interface bitmap implementation in Mono runtime
  • Memory management improvements for dynamic methods and interp transforms
  • Infrastructure updates including Helix queue migrations and dependency version bumps

Reviewed Changes

Copilot reviewed 44 out of 44 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/tests/baseservices/compilerservices/UnsafeAccessors/UnsafeAccessorsTests.Generics.cs Added tests for ambiguous method name resolution and fixed generic method naming in inheritance tests
src/tasks/Directory.Build.targets Updated package references from ExcludeAssets to PackageDownloadAndReference pattern
src/native/corehost/hostmisc/pal.windows.cpp Fixed UTF-8 formatting issue by replacing va_list() with proper format string handling
src/mono/mono/utils/options-def.h Added compressed interface bitmap runtime option
src/mono/mono/sgen/sgen-memory-governor.c Fixed heap size calculation in conservative major collection logic
src/mono/mono/mini/type-checking.c Replaced preprocessor conditionals with runtime check for compressed interface bitmap
src/mono/mono/mini/mini-runtime.c Updated icall registration to use runtime option check
src/mono/mono/mini/interp/transform.h Added headers_to_free field for memory management
src/mono/mono/mini/interp/transform.c Improved memory management for method headers and data items
src/mono/mono/mini/interp/tiering.h Added function declaration for clearing data items patch sites
src/mono/mono/mini/interp/tiering.c Implemented patch site cleanup for freed dynamic methods
src/mono/mono/mini/interp/interp.c Enhanced method cleanup with patch site clearing
src/mono/mono/mini/interp/interp-internals.h Added n_data_items field to InterpMethod structure
src/mono/mono/mini/aot-runtime.h Incremented AOT file version and added compressed interface bitmap flag
src/mono/mono/mini/aot-runtime.c Added compatibility check for compressed interface bitmap feature
src/mono/mono/mini/aot-compiler.c Set compressed interface bitmap flag during AOT compilation
src/mono/mono/metadata/metadata.c Added environment variable support for compressed interface bitmap
src/mono/mono/metadata/marshal.c Replaced preprocessor conditional with runtime check
src/mono/mono/metadata/loader.c Added dynamic method freeing control and improved safety checks
src/mono/mono/metadata/jit-icall-reg.h Renamed icall function for compressed interface matching
src/mono/mono/metadata/class-setup-vtable.c Converted compressed bitmap logic to runtime-configurable
src/mono/mono/metadata/class-internals.h Updated interface matching macros for runtime selection
src/mono/mono/metadata/class-init.c Made compressed bitmap compression runtime-configurable
src/mono/mono/component/hot_reload.c Added empty update check to prevent unnecessary processing
src/libraries/tests.proj Excluded OpenSSL tests on macOS due to missing dependencies
src/libraries/System.Text.Json/tests/System.Text.Json.Tests/Serialization/Stream.WriteTests.cs Reduced test depth to prevent memory constraint failures
src/libraries/System.Security.Cryptography/tests/DefaultRSAProvider.cs Consolidated RSA384 support detection logic
src/libraries/System.Security.Cryptography.Csp/tests/RSACryptoServiceProviderProvider.cs Updated to use centralized platform support detection
src/libraries/System.Security.Cryptography.Cng/tests/RSACngProvider.cs Simplified RSA384 support detection
src/libraries/System.Net.Quic/src/System.Net.Quic.csproj Removed transport package conditionals and simplified configuration
src/libraries/System.Net.Quic/readme.md Updated documentation for simplified package consumption
src/libraries/System.Linq/tests/DefaultIfEmptyTests.cs Added regression test for ElementAtOrDefault behavior
src/libraries/System.Linq/src/System/Linq/DefaultIfEmpty.SpeedOpt.cs Fixed ElementAtOrDefault to return type default for out-of-bounds indices
src/libraries/Common/tests/System/Security/Cryptography/PlatformSupport.cs Added centralized RSA384 support detection with test parameters
src/coreclr/vm/prestub.cpp Enhanced generic signature validation in unsafe accessor matching
src/coreclr/vm/method.hpp Added volatile load for thread-safe flag checking
src/coreclr/vm/gcheaputilities.cpp Fixed standalone GC loading when base directory is empty
src/coreclr/tools/Common/TypeSystem/IL/UnsafeAccessors.cs Added generic parameter count validation
src/coreclr/scripts/superpmi_collect_setup.py Updated macOS Helix queue versions
eng/pipelines/libraries/helix-queues-setup.yml Updated macOS queue references to OSX.13
eng/pipelines/coreclr/templates/helix-queues-setup.yml Updated macOS queue references to OSX.13
eng/Versions.props Updated dependency versions and added new toolset package versions
eng/Version.Details.xml Updated dependency SHAs and versions
.config/dotnet-tools.json Updated XHarness CLI version

Copy link
Member

@jozkee jozkee left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

At this moment, there's one more commit in release/9.0...release/9.0-staging, I wouldn't retrigger the CI for it since is just a test-only change.

@PranavSenthilnathan PranavSenthilnathan added NO-SQUASH The PR should not be squashed Servicing-approved Approved for servicing release labels Oct 13, 2025
@PranavSenthilnathan PranavSenthilnathan requested review from a team October 13, 2025 22:27
@PranavSenthilnathan
Copy link
Member Author

/ba-g known failures. runtime-llvm leg is still running but it's not analyzed as part of BA

@PranavSenthilnathan PranavSenthilnathan merged commit 0d09ce7 into dotnet:release/9.0 Oct 13, 2025
329 of 348 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

NO-SQUASH The PR should not be squashed Servicing-approved Approved for servicing release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants