Skip to content

Conversation

yowl
Copy link
Contributor

@yowl yowl commented Sep 3, 2025

  • Change EMSDK_PATH back to EMSDK
  • abi,h - add some wasm fields and getPassedByRef accessor
  • async.cpp add include for #include "treelifeupdater.h"
  • compiler.h move fgIsThrow to public
  • gentree.cpp add resultReg = REG_LLVM; for the debug dump
  • gentree.h remove one of the asserts in SetLayout with comment
  • importercalls.cpp use the CorType overload in impPopCallArgs
  • lclvars.cpp remove rsCalleeRegArgCount for Wasm
  • llvm.cpp add new helpers, static_assert_no_msg -> static_assert
  • llvmlower.cpp ebdID and compEHID initialisation
  • llvmlssa.cpp lvaLclSize to lvaLclStackHomeSize
  • ssabuilder.cpp RenamePushMemoryDef return early for LIR
  • targetwasm.cpp align m_stackArgSize and set and pass passedByRef, thanks SingleAccretion.
  • targetwasm.h set some values for new macros.
  • nativeaot/CMakelists.txt remove wasm-exceptions
  • Portable/CMakelists.txt add -C to include license text when preprocessing
  • ilc.sln, add ARM64 config to make debugging on Surface laptops easier. Upstream?
  • MetadataManager.Wasm.cs - some ObjectInterner.IsNull removal
  • RyuJitCompilationBuilder.cs - make some fields protected to access from LLVMCodegenCompilationBuilder
  • types.h - include inttypes to avoid redefine error when inttypes.h is included later.

jkotas and others added 30 commits August 14, 2025 06:22
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.
(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
janvorli and others added 26 commits September 3, 2025 10:17
* 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
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
@yowl yowl closed this Oct 3, 2025
@yowl yowl reopened this Oct 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.