-
Notifications
You must be signed in to change notification settings - Fork 215
[NativeAOT-LLVM]: Merge sep 25 #3160
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
Draft
yowl
wants to merge
2,853
commits into
dotnet:feature/NativeAOT-LLVM
Choose a base branch
from
yowl:merge-sep-25
base: feature/NativeAOT-LLVM
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.
Draft
+790,224
−509,822
Conversation
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
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v4...v5) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…okup in ApkBuilder (#118674) * Initial plan * Fix AndroidAppBuilder to use assembly name for runtimeconfig.json lookup Co-authored-by: davidnguyen-tech <[email protected]> * Update AndroidAppBuilder to use runtimeconfig.bin instead of assembly-specific runtimeconfig.json Co-authored-by: davidnguyen-tech <[email protected]> * Add documentation comment explaining binary format source in ParseRuntimeConfigProperties Co-authored-by: davidnguyen-tech <[email protected]> * Replace custom Read methods with existing BlobReader from System.Reflection.Metadata Co-authored-by: davidnguyen-tech <[email protected]> * Simplify runtime config parsing by removing manual file existence check Co-authored-by: davidnguyen-tech <[email protected]> * Allow unsafe blocks because of ApkBuilder (#118721) --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: davidnguyen-tech <[email protected]>
dotnet/runtime@e911894 broke the runtime-linker-tests pipeline (the .yml failure didn't surface in github). Fix this by using a variable, not a template paramater, for archType.
…space (#118691) * Enable logging generator tests on netfx * Fix build error in the logging source generator tests when targeting netfx --------- Co-authored-by: Tarek Mahmoud Sayed <[email protected]>
… directly (#118629) * Initial plan * Simplify ZipHelper.ReadBytes by using Stream.ReadAtLeast default behavior Co-authored-by: rzikm <[email protected]> * Remove ZipHelper.ReadBytes wrapper methods and use Stream.ReadAtLeast directly Co-authored-by: stephentoub <[email protected]> --------- Co-authored-by: Copilot <[email protected]> Co-authored-by: rzikm <[email protected]> Co-authored-by: stephentoub <[email protected]>
…lve_sdk2` (#118418) We currently ignore invalid global.json, which can lead to unexpected/undesired behaviour. While we're not going to change that behaviour right now, this change adds some indication about this situation in `dotnet --info` and updates a `hostfxr` API to indicate if an invalid global.json was found. - Make `sdk_resolver` track/store information about global.json even when it is deemed invalid - Update `dotnet --info` to list invalid global.json file path and error message - Add `hostfxr_resolve_sdk2_result_key_t::global_json_state` for `hostfxr_resolve_sdk2` API - string values of: `not_found`, `valid`, `invalid_json`, `invalid_data` - This can be used in the SDK to add telemetry for when we have invalid global.json Example part of `dotnet --info`: ``` global.json file: Invalid [C:\repos\helloworld\global.json] Version '9.0' is not valid for the 'sdk/version' value Invalid global.json is ignored for SDK resolution. ``` Before: ``` global.json file: Not found ```
…9 (#118681) Updated Dependencies: Microsoft.CodeAnalysis, Microsoft.CodeAnalysis.Analyzers, Microsoft.CodeAnalysis.CSharp, Microsoft.Net.Compilers.Toolset (Version 5.0.0-2.25412.102 -> 5.0.0-2.25413.101) Microsoft.CodeAnalysis.NetAnalyzers (Version 10.0.0-preview.25412.102 -> 10.0.0-preview.25413.101) Microsoft.DotNet.ApiCompat.Task, Microsoft.NET.Workload.Emscripten.Current.Manifest-10.0.100.Transport (Version 10.0.100-rc.1.25412.102 -> 10.0.100-rc.1.25413.101) 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.XliffTasks, Microsoft.DotNet.XUnitExtensions (Version 10.0.0-beta.25412.102 -> 10.0.0-beta.25413.101) Microsoft.DotNet.Cecil (Version 0.11.5-alpha.25412.102 -> 0.11.5-alpha.25413.101) Microsoft.DotNet.XUnitAssert, Microsoft.DotNet.XUnitConsoleRunner (Version 2.9.3-beta.25412.102 -> 2.9.3-beta.25413.101) Microsoft.NET.Sdk.IL, Microsoft.NETCore.App.Ref, Microsoft.NETCore.ILAsm, runtime.native.System.IO.Ports, System.Reflection.Metadata, System.Reflection.MetadataLoadContext, System.Text.Json (Version 10.0.0-rc.1.25412.102 -> 10.0.0-rc.1.25413.101) NuGet.Frameworks, NuGet.Packaging, NuGet.ProjectModel, NuGet.Versioning (Version 7.0.0-preview.1.602 -> 7.0.0-preview.1.41901) System.CommandLine (Version 2.0.0-rc.1.25412.102 -> 2.0.0-rc.1.25413.101) Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
…n adding fields/classes via ApplyMetadata (#118608) This does not eliminate all possible race conditions here, if a type is in progress loading when the metadata is updated, then there is still a race, but this should narrow the possible races in this space. Additionally, this should address the debug asserts which have been hit in this space. Fixes #115318
This is a narrow change to address a user reported issue on System.Type and the common implementation detail type, RuntimeType. There are other related issues that discuss the underlying Reflection behavior, see #98533 and #28056.
- Instead of loading the static field type, use metadata directly to pull the needed info if we can't load the target type. - Add tests covering various scenarios found by customers in the last year or so - Remove existing scheme which could handle directly self referential statics - Defer checking RVA static valuetypes for their field type until a later type loader stage - Add VMFLAG for HasRVAStaticFields - Remove VMFLAG for HasPublicFields, this was found to be unused (its a legacy of an old CAS type loader check which no longer exists) Fixes #104511
This specifically addresses IL3050 warnings (ones generated as part of AOT-compat). Contributes to dotnet/runtime#75480
…otnet-optimization build 20250813.5 (#118743) optimization.linux-arm64.MIBC.Runtime , optimization.linux-x64.MIBC.Runtime , optimization.windows_nt-arm64.MIBC.Runtime , optimization.windows_nt-x64.MIBC.Runtime , optimization.windows_nt-x86.MIBC.Runtime , optimization.PGO.CoreCLR From Version 1.0.0-prerelease.25363.1 -> To Version 1.0.0-prerelease.25413.5 Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Andy Ayers <[email protected]>
I don't think anything calls these and because these are virtual, they cannot be trimmed.
Handling was missing to mark these as async and to insert async continuations. --------- Co-authored-by: Vladimir Sadov <[email protected]>
…eeded and HTTP tests (#118733) * Remove System.Security.Cryptography.Tests.csproj from Smoke Tests for CoreCLR Android * Refactoring * Enable the tests for devices (on emulators, they are still disabled) * Refatoring - remove from smoke tests for good * Remove smoke tests that are failing * Skip test --------- Co-authored-by: Milos Kotlar <[email protected]>
…6 (#118759) Updated Dependencies: Microsoft.CodeAnalysis, Microsoft.CodeAnalysis.Analyzers, Microsoft.CodeAnalysis.CSharp, Microsoft.Net.Compilers.Toolset (Version 5.0.0-2.25413.101 -> 5.0.0-2.25414.103) Microsoft.CodeAnalysis.NetAnalyzers (Version 10.0.0-preview.25413.101 -> 10.0.0-preview.25414.103) Microsoft.DotNet.ApiCompat.Task, Microsoft.NET.Workload.Emscripten.Current.Manifest-10.0.100.Transport (Version 10.0.100-rc.1.25413.101 -> 10.0.100-rc.1.25414.103) 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.XliffTasks, Microsoft.DotNet.XUnitExtensions (Version 10.0.0-beta.25413.101 -> 10.0.0-beta.25414.103) Microsoft.DotNet.Cecil (Version 0.11.5-alpha.25413.101 -> 0.11.5-alpha.25414.103) Microsoft.DotNet.XUnitAssert, Microsoft.DotNet.XUnitConsoleRunner (Version 2.9.3-beta.25413.101 -> 2.9.3-beta.25414.103) Microsoft.NET.Sdk.IL, Microsoft.NETCore.App.Ref, Microsoft.NETCore.ILAsm, runtime.native.System.IO.Ports, System.Reflection.Metadata, System.Reflection.MetadataLoadContext, System.Text.Json (Version 10.0.0-rc.1.25413.101 -> 10.0.0-rc.1.25414.103) NuGet.Frameworks, NuGet.Packaging, NuGet.ProjectModel, NuGet.Versioning (Version 7.0.0-preview.1.41901 -> 7.0.0-preview.1.42003) System.CommandLine (Version 2.0.0-rc.1.25413.101 -> 2.0.0-rc.1.25414.103) Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
…729) This unifies `LogExceptionThrown` with the other eventing that is implemented in the native runtime (threads/threadpool). Noticed this in dotnet/runtime#107418 (comment) where we run an awful lot of code in situations where event source is not even enabled.
…InProject test (#118203)
…emplate (#118518)
(With `StackTraceSupport=false`, `OptimizationPreference=Size`, `UseSystemResourceKeys=true`) The thing that makes the difference is that we are no longer boxing enums and we can get rid of the super expensive enum stringification logic. Not boxing enums also means that #118640 can fully kick in because enums are the last remaining place that looks at custom attributes (looking for `FlagsAttribute`). Co-authored-by: Jan Kotas <[email protected]>
Issue #108255 was fixed by PR #118594
* Fix issues with interpreted EH The exception handling with interpreter enabled was not working properly when the managed code exception handling code was interpreted too. There were couple of places where we try to unwind to the first managed frame using native unwind that obviously doesn't work for fully interpreted code. There is also an assert in the ExceptionHandling.cs that checks sanity of the handling frame SP, but it assumes that managed locals are stored on the processor stack. This is not the case for interpreted code. This change fixes those places, namely: * Updating floating point registers for Frames. It now unwinds upto a specific SP instead of searching for managed frame except for InlinedCallFrame case when that frame is in JIT/AOT code. * Resuming after catch is fixed and also simplified a lot. * Disable the sanity assert when runtime is compiled with interpreter. I don't think there is much value in that assert. It also enables two pinvoke tests that were fixed in the past already, but not enabled yet. * Fix build break on non-windows and non-x64 archs in general * One more build break fix due to SSP * Fix WASM and arm64 build break * Add missing call to SetInterpExecMethodSP in INTOP_CALL_FINALLY
* Consume main MsQuic in stress * Fix msquic build
dotnet#893 (comment) better 4 years late than never I guess.
Fixes #116089. The method accesses shared static state, locking is needed.
…call (#119262) * Fix misleading order of EventSource log and AcquireClientCredentials call Discovered while investigating #119259. `AcquireClientCredentials` produces other events as well, so the order in the log is misleading and makes investigations harder. * Update src/libraries/System.Net.Security/src/System/Net/Security/SslStream.Protocol.cs
* Implement GetGCHeapDetails * Implement GetGCHeapStaticData * Expand GC data descriptor
This changes the output from: ``` Some/long/path/that /gets/broken/up ``` To: ``` Some/long/path/that/gets/broken/up ``` Leaving wrapping up to the terminal and making C&P much easier.
# Conflicts: # .gitignore # Directory.Build.props # build.sh # eng/Subsets.props # eng/Versions.props # eng/native/configureplatform.cmake # eng/native/gen-buildsys.cmd # eng/native/gen-buildsys.sh # eng/native/tryrun.cmake # eng/pipelines/common/templates/pipeline-with-resources.yml # eng/pipelines/official/stages/publish.yml # eng/testing/tests.singlefile.targets # src/coreclr/CMakeLists.txt # src/coreclr/build-runtime.cmd # src/coreclr/gc/unix/gcenv.unix.cpp # src/coreclr/inc/corinfo.h # src/coreclr/inc/jithelpers.h # src/coreclr/jit/compiler.cpp # src/coreclr/jit/compiler.h # src/coreclr/jit/gentree.cpp # src/coreclr/jit/gentree.h # src/coreclr/jit/importercalls.cpp # src/coreclr/jit/lclvars.cpp # src/coreclr/jit/liveness.cpp # src/coreclr/jit/morph.cpp # src/coreclr/jit/rationalize.cpp # src/coreclr/jit/ssabuilder.cpp # src/coreclr/jit/target.h # src/coreclr/nativeaot/BuildIntegration/BuildIntegration.proj # src/coreclr/nativeaot/BuildIntegration/Microsoft.NETCore.Native.Publish.targets # src/coreclr/nativeaot/BuildIntegration/Microsoft.NETCore.Native.targets # src/coreclr/nativeaot/Runtime.Base/src/System/Runtime/InternalCalls.cs # src/coreclr/nativeaot/Runtime.Base/src/System/Runtime/RuntimeExports.cs # src/coreclr/nativeaot/Runtime/Portable/CMakeLists.txt # src/coreclr/nativeaot/Runtime/inc/CommonTypes.h # src/coreclr/nativeaot/Runtime/portable.cpp # src/coreclr/nativeaot/Runtime/thread.h # src/coreclr/nativeaot/Runtime/unix/PalUnix.cpp # src/coreclr/nativeaot/System.Private.CoreLib/src/Internal/Runtime/CompilerHelpers/MathHelpers.cs # src/coreclr/nativeaot/System.Private.CoreLib/src/System.Private.CoreLib.csproj # src/coreclr/nativeaot/System.Private.CoreLib/src/System/Environment.NativeAot.cs # src/coreclr/runtime.proj # src/coreclr/tools/Common/JitInterface/CorInfoHelpFunc.cs # src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/TypePreinit.cs # src/coreclr/tools/aot/ILCompiler.RyuJit/Compiler/RyuJitCompilation.cs # src/coreclr/tools/aot/ILCompiler.RyuJit/Compiler/RyuJitCompilationBuilder.cs # src/coreclr/tools/aot/ILCompiler.RyuJit/JitInterface/CorInfoImpl.RyuJit.cs # src/coreclr/tools/aot/ILCompiler/ILCompilerRootCommand.cs # src/coreclr/tools/aot/ILCompiler/Program.cs # src/coreclr/tools/aot/ilc.sln # src/installer/pkg/projects/nativeaot-packages.proj # src/libraries/System.Runtime.InteropServices.JavaScript/src/System/Runtime/InteropServices/JavaScript/JSHostImplementation.cs # src/libraries/System.Threading/tests/MutexTests.cs # src/libraries/pretest.proj # src/mono/browser/browser.proj # src/mono/browser/runtime/startup.ts # src/native/libs/System.Globalization.Native/CMakeLists.txt # src/native/libs/System.Native/CMakeLists.txt # src/native/libs/build-native.cmd # src/native/libs/build-native.proj # src/native/libs/build-native.sh # src/tests/Common/CLRTest.Execute.Bash.targets # src/tests/nativeaot/SmokeTests/SharedLibrary/SharedLibrary.cs # src/tests/nativeaot/SmokeTests/UnitTests/Interfaces.cs # src/tests/nativeaot/SmokeTests/UnitTests/Main.cs # src/tests/run.cmd
…ge-sep-25 # Conflicts: # src/coreclr/gc/unix/gcenv.unix.cpp # src/coreclr/gc/wasm/gcenv.wasm.cpp
remove wasi version check merge usings
add RhpNewPtrArrayFast add back BindManagedFunction NATIVE_AOT version remove -rpath link option
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
resultReg = REG_LLVM;
for the debug dumpSetLayout
with commentCorType
overload inimpPopCallArgs
ebdID
andcompEHID
initialisationlvaLclSize
tolvaLclStackHomeSize
RenamePushMemoryDef
return early for LIRpassedByRef
, thanks SingleAccretion.ObjectInterner.IsNull
removalLLVMCodegenCompilationBuilder