platform/upstream/dotnet/runtime.git
12 months agoRelease the stream once the response is sent (#90722)
github-actions[bot] [Thu, 17 Aug 2023 16:44:10 +0000 (09:44 -0700)]
Release the stream once the response is sent (#90722)

Co-authored-by: ManickaP <mapichov@microsoft.com>
12 months agoMerge pull request #90668 from dotnet-maestro-bot/merge/release/8.0-rc1-to-release/8.0
Carlos Sánchez López [Thu, 17 Aug 2023 15:24:35 +0000 (08:24 -0700)]
Merge pull request #90668 from dotnet-maestro-bot/merge/release/8.0-rc1-to-release/8.0

[automated] Merge branch 'release/8.0-rc1' => 'release/8.0'

12 months agoUpdate dependencies from https://github.com/dotnet/arcade build 20230815.4 (#90665)
dotnet-maestro[bot] [Wed, 16 Aug 2023 23:36:32 +0000 (16:36 -0700)]
Update dependencies from https://github.com/dotnet/arcade build 20230815.4 (#90665)

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.XUnitConsoleRunner , Microsoft.DotNet.XUnitExtensions
 From Version 8.0.0-beta.23411.1 -> To Version 8.0.0-beta.23415.4

Dependency coherency updates

Microsoft.DotNet.XliffTasks
 From Version 1.0.0-beta.23408.1 -> To Version 1.0.0-beta.23415.1 (parent: Microsoft.DotNet.Arcade.Sdk

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Carlos Sánchez López <1175054+carlossanlop@users.noreply.github.com>
12 months agoDo not set fetch depth on source-build (#90704)
github-actions[bot] [Wed, 16 Aug 2023 22:39:04 +0000 (15:39 -0700)]
Do not set fetch depth on source-build (#90704)

Co-authored-by: Matt Mitchell <mmitche@microsoft.com>
12 months agoDo not set fetch depth on source-build (#90703)
Matt Mitchell [Wed, 16 Aug 2023 22:38:38 +0000 (15:38 -0700)]
Do not set fetch depth on source-build (#90703)

12 months ago[release/8.0] Add doc for the new invoker classes (#90636)
github-actions[bot] [Wed, 16 Aug 2023 20:24:39 +0000 (13:24 -0700)]
[release/8.0] Add doc for the new invoker classes (#90636)

* Add doc new invoker classes

* Fix cref typo

* Misc errors

* Remove arg reference in 0-arg ctor summary

---------

Co-authored-by: Steve Harter <steveharter@users.noreply.github.com>
12 months ago[mono] Add a --path command line argument as an alternative to MONO_PATH. (#90678)
github-actions[bot] [Wed, 16 Aug 2023 20:22:34 +0000 (13:22 -0700)]
[mono] Add a --path command line argument as an alternative to MONO_PATH. (#90678)

Can be specified multiple times.

Co-authored-by: Zoltan Varga <vargaz@gmail.com>
12 months ago[release/8.0-rc1] Bump package version for net7 to 7.0.11 (#90651)
Steve Pfister [Wed, 16 Aug 2023 20:20:51 +0000 (13:20 -0700)]
[release/8.0-rc1] Bump package version for net7 to 7.0.11 (#90651)

Co-authored-by: Steve Pfister <steve.pfister@microsoft.com>
Co-authored-by: Larry Ewing <lewing@microsoft.com>
12 months ago[release/8.0-rc1] [mono] Fix InlineArray tests on android platforms (#90679)
github-actions[bot] [Wed, 16 Aug 2023 20:14:48 +0000 (13:14 -0700)]
[release/8.0-rc1] [mono] Fix InlineArray tests on android platforms (#90679)

* Enable inline array tests

* Run android jobs only

* Add verbose logging

* Revert runtime changes

* Remove android-arm64 job

* Rename common assembly and revert CI changes

* Rename assembly name

---------

Co-authored-by: Milos Kotlar <kotlarmilos@gmail.com>
12 months agoFix gcroot SOS command on arm/arm64 (#90658)
github-actions[bot] [Wed, 16 Aug 2023 20:12:49 +0000 (13:12 -0700)]
Fix gcroot SOS command on arm/arm64 (#90658)

Faulted in DAC because the HelperMethodFrame's REGDISPLAY CurrentContextPointers were not initialized correctly.

Fixes issue https://github.com/dotnet/diagnostics/issues/3726

Co-authored-by: Mike McLaughlin <mikem@microsoft.com>
12 months ago[release/8.0-rc1] Add missing type forwards (#90673)
github-actions[bot] [Wed, 16 Aug 2023 19:42:28 +0000 (21:42 +0200)]
[release/8.0-rc1] Add missing type forwards (#90673)

* Add missing type forwards

Fixes https://github.com/dotnet/runtime/issues/90578

IDispatchImplAttribute, IDispatchImplType and SetWin32ContextInIDispatchAttribute were removed with https://github.com/dotnet/runtime/commit/9f1dd1aa499a882453b34d4e8810626423fbfed8 and https://github.com/dotnet/runtime/commit/26a91ad6ac02393c6c7463500c030ec07803c5e6

Those dropped types weren't flagged because APICompat only validates reference assemblies. We have three implementation only shim assemblies: mscorlib, System and System.Data. I verified that no other type forwards were lost between .NET 7 and .NET 8.

* Update mscorlib.cs

---------

Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
12 months agoFix NullableAttribute illink test failures (#90680)
github-actions[bot] [Wed, 16 Aug 2023 18:44:08 +0000 (12:44 -0600)]
Fix NullableAttribute illink test failures (#90680)

When we started building with preview 7 in
5549f72da3b3cea9e74bb81cfbb0f2d27731fc42, NullableAttribute in
these testcases started to use the attribute definition from the
framework, instead of generating it into the code. This broke the
`--used-attrs-only` optimization because `skip` assemblies (the
default for the framework in these testcases) are treated as if
all types in them are kept, for the purposes of the
`--used-attrs-only` optimization. (The optimization removes
attribute instances unless the attribute type is preserved for
some other reason).

It's not clear what the intended behavior of `--used-attrs-only`
is for `skip` assemblies, and the discussion in
https://github.com/dotnet/linker/issues/952 indicates that it's
considered experimental, so this fixes the failures by using the
`link` action. This represents a more realistic scenario since
`skip` is mainly used in testing to avoid linking the framework
in every testcase.

Co-authored-by: Sven Boemer <sbomer@gmail.com>
12 months agoFix problems with `Assembler::ReflectionNotation()` (#90655)
github-actions[bot] [Wed, 16 Aug 2023 18:27:32 +0000 (12:27 -0600)]
Fix problems with `Assembler::ReflectionNotation()` (#90655)

Do more parameter validation, correct buffer size calculations
for security-enhanced CRT functions, and avoid memcpy
buffer overrun of locale.

Co-authored-by: Bruce Forstall <brucefo@microsoft.com>
12 months ago[ppc64le] performance improvements while branching (#90656)
Alhad Deshpande [Wed, 16 Aug 2023 18:26:28 +0000 (23:56 +0530)]
[ppc64le] performance improvements while branching (#90656)

12 months ago[release/8.0-rc1] Unify with logging category matching (#90642)
github-actions[bot] [Wed, 16 Aug 2023 17:58:54 +0000 (11:58 -0600)]
[release/8.0-rc1] Unify with logging category matching (#90642)

* Unify with logging category matching

* -1 => 0

* Weird overlapping match

---------

Co-authored-by: Chris R <Tratcher@outlook.com>
12 months agoMerge pull request #90628 from dotnet-maestro-bot/merge/release/8.0-rc1-to-release/8.0
Carlos Sánchez López [Wed, 16 Aug 2023 15:32:48 +0000 (08:32 -0700)]
Merge pull request #90628 from dotnet-maestro-bot/merge/release/8.0-rc1-to-release/8.0

[automated] Merge branch 'release/8.0-rc1' => 'release/8.0'

12 months ago[release/8.0-rc1] Annotate System.Linq.Expressions with RequiresDynamicCode (#90616)
github-actions[bot] [Wed, 16 Aug 2023 15:32:09 +0000 (08:32 -0700)]
[release/8.0-rc1] Annotate System.Linq.Expressions with RequiresDynamicCode (#90616)

* Annotate System.Linq.Expressions with RequiresDynamicCode

All this ended up with an RUC on Expression.Compile due to new arrays.
I could potentially silence this warning with a feature flag, but it is a
real risk, and one that users could maybe work around if alterted to the problem.

* Remove suppression that's no longer needed

* Fix tests for new feature switch behavior

* Update src/libraries/System.Linq.Expressions/src/System/Linq/Expressions/Expression.cs

Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
* Typo in Throws call

* Fix assert for net framework

* Respond to PR comments

* Add suppression

* Typo

* Update src/libraries/System.Linq.Expressions/src/Resources/Strings.resx

Co-authored-by: Stephen Toub <stoub@microsoft.com>
* PR feedback

---------

Co-authored-by: Andy Gocke <andy@commentout.net>
Co-authored-by: Andy Gocke <angocke@microsoft.com>
Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
Co-authored-by: Stephen Toub <stoub@microsoft.com>
12 months ago[release/8.0-rc1] Fix support for non-public default constructors using JsonIncludeAt...
github-actions[bot] [Wed, 16 Aug 2023 14:38:41 +0000 (07:38 -0700)]
[release/8.0-rc1] Fix support for non-public default constructors using JsonIncludeAttribute (#90615)

* Fix support for non-public constructors using JsonIncludeAttribute

* Address feedback.

---------

Co-authored-by: Eirik Tsarpalis <eirik.tsarpalis@gmail.com>
12 months ago[release/8.0] Return false from ComWrappers.Try... methods (#90635)
github-actions[bot] [Wed, 16 Aug 2023 14:26:12 +0000 (07:26 -0700)]
[release/8.0] Return false from ComWrappers.Try... methods (#90635)

* Return false from ComWrappers.Try... methods

Return false from ComWrappers.TryGetComInstance/TryGetObject instead of
throwing PNSE. It saves callers from needing to protect against PNSE.

Fix #90311

* More efficient IsWindows check

---------

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
12 months agoUpdate dependencies from https://github.com/dotnet/emsdk build 20230815.5 (#90649)
dotnet-maestro[bot] [Wed, 16 Aug 2023 14:17:22 +0000 (07:17 -0700)]
Update dependencies from https://github.com/dotnet/emsdk build 20230815.5 (#90649)

Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100.Transport
 From Version 8.0.0-rc.1.23411.2 -> To Version 8.0.0-rc.1.23415.5

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
12 months agoMerge branch 'release/8.0' into merge/release/8.0-rc1-to-release/8.0
Carlos Sánchez López [Wed, 16 Aug 2023 04:53:03 +0000 (21:53 -0700)]
Merge branch 'release/8.0' into merge/release/8.0-rc1-to-release/8.0

12 months ago[release/8.0-rc1] [workloads] Put quotes around GetFileName call when collecting...
github-actions[bot] [Wed, 16 Aug 2023 04:50:33 +0000 (21:50 -0700)]
[release/8.0-rc1] [workloads] Put quotes around GetFileName call when collecting telemetry (#90606)

* [workloads] Put quotes around GetFileName call when collecting telemetry

There are cases where `%(ReferencePath)` is empty, so prevent exceptions by quoting the value.

Fixes https://github.com/dotnet/runtime/issues/90584

* Feedback

---------

Co-authored-by: Steve Pfister <steve.pfister@microsoft.com>
Co-authored-by: Steve Pfister <steveisok@users.noreply.github.com>
12 months ago[release/8.0-rc1] [mono][ios] Revert LLVM mode for apple mobile tests (#90624)
github-actions[bot] [Wed, 16 Aug 2023 01:24:12 +0000 (18:24 -0700)]
[release/8.0-rc1] [mono][ios] Revert LLVM mode for apple mobile tests (#90624)

* Revert LLVM mode for apple mobile tests

* Add comment

---------

Co-authored-by: Milos Kotlar <kotlarmilos@gmail.com>
12 months ago[wasm] Pin chrome version for testing to 115.0.579.x (#90644)
github-actions[bot] [Wed, 16 Aug 2023 01:19:21 +0000 (18:19 -0700)]
[wasm] Pin chrome version for testing to 115.0.579.x (#90644)

Hybrid globalization tests are breaking with 116.0.5845.0

Co-authored-by: Ankit Jain <radical@gmail.com>
12 months agoFix condition on mono-wasm workloads (#90646)
github-actions[bot] [Tue, 15 Aug 2023 23:21:30 +0000 (16:21 -0700)]
Fix condition on mono-wasm workloads (#90646)

Co-authored-by: Juan Sebastian Hoyos Ayala <juan.hoyos@microsoft.com>
12 months ago[release/8.0-rc1] Setup internal feeds in internal builds (#90638)
github-actions[bot] [Tue, 15 Aug 2023 21:45:34 +0000 (14:45 -0700)]
[release/8.0-rc1] Setup internal feeds in internal builds (#90638)

Co-authored-by: Juan Sebastian Hoyos Ayala <juan.hoyos@microsoft.com>
12 months ago[release/8.0-rc1] Fix ToFrozenDictionary(selectors) on empty sources (#90599)
github-actions[bot] [Tue, 15 Aug 2023 18:16:33 +0000 (11:16 -0700)]
[release/8.0-rc1] Fix ToFrozenDictionary(selectors) on empty sources (#90599)

* Fix ToFrozenDictionary(selectors) on empty sources

As part of optimizing construction, the empty check when using ToFrozenDictionary taking selector delegates was skipped, leading to later failures when an empty source is used.

* Address PR feedback

---------

Co-authored-by: Stephen Toub <stoub@microsoft.com>
12 months ago[release/8.0] Bump to RC2 (#90557)
Carlos Sánchez López [Tue, 15 Aug 2023 16:37:55 +0000 (09:37 -0700)]
[release/8.0] Bump to RC2 (#90557)

* [release/8.0] Bump to RC2

Bump the base release/8.0 branch to target RC2.

* Set prerelease to 0 in configureplatform.make

12 months ago[NativeAOT] Natvis visualization for threadstatic variables. (#90473)
Vladimir Sadov [Mon, 14 Aug 2023 23:49:46 +0000 (16:49 -0700)]
[NativeAOT] Natvis visualization for threadstatic variables. (#90473)

* Slow path

* keep an index node for every type

* encode the offset

* Support inline storage in natvis

* store typeManager in TLS root

* test for module

* root param

* tweak comments.

* make junk MOV`s unreachable dead code

* Keep index nodes for inlined threadstatics unconditionally, remove "deadcode MOV" hack

* Update src/coreclr/nativeaot/Runtime/thread.h

---------

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
12 months agoFix VersionWithType Crossgen2 check for parameterized types (#90501)
Tomáš Rylek [Mon, 14 Aug 2023 23:44:28 +0000 (01:44 +0200)]
Fix VersionWithType Crossgen2 check for parameterized types (#90501)

As Egor Bogatov discovered in

https://github.com/dotnet/runtime/pull/90441

Crossgen2 is unable to compile a method taking RuntimeTypeMethod[]
parameter because Crossgen2 decides that the array doesn't version
with the module being compiled (System.Private.CoreLib in this
case). This change modifies the relevant logic so that, for
parameterized types, we decide on versioning based on the
parameter type.

Thanks

Tomas

12 months agosupport SslStream SSLKEYLOGFILE in debug builds (#90429)
Tomas Weinfurt [Mon, 14 Aug 2023 23:13:17 +0000 (16:13 -0700)]
support SslStream SSLKEYLOGFILE in debug builds (#90429)

* support SslStream SSLKEYLOGFILE in debug builds

* compat

* feedback

12 months agoHttpClientFactory Prevent throwing if ILogger couldn't be created (#90503)
Natalia Kondratyeva [Mon, 14 Aug 2023 22:44:26 +0000 (23:44 +0100)]
HttpClientFactory Prevent throwing if ILogger couldn't be created (#90503)

* HttpClientFactory stop cleanup timer on dispose

* Remove finalizer

* Tweak ThrowIfDisposed

* Revert some changes

* Fix

12 months agoRelease setup (#90529)
Drew Scoggins [Mon, 14 Aug 2023 22:43:44 +0000 (15:43 -0700)]
Release setup (#90529)

* Remove schedule to move us back to rolling

* Add rc1 explict branch name

* Comment out section

12 months agoimprove handling of LLA in Quic (#90455)
Tomas Weinfurt [Mon, 14 Aug 2023 22:35:35 +0000 (15:35 -0700)]
improve handling of LLA in Quic (#90455)

* QUIC LLA

* update

* linux

* line

* update

* Update src/libraries/Common/src/System/Net/IPEndPointExtensions.cs

Co-authored-by: Marie Píchová <11718369+ManickaP@users.noreply.github.com>
---------

Co-authored-by: Marie Píchová <11718369+ManickaP@users.noreply.github.com>
12 months agoRename GeneratedClearManagedSource to correct name (#90537)
Jackson Schuster [Mon, 14 Aug 2023 22:24:44 +0000 (15:24 -0700)]
Rename GeneratedClearManagedSource to correct name (#90537)

12 months agoDCS work nicely with collectible AssemblyLoadContext (#90437)
Steve Molloy [Mon, 14 Aug 2023 22:18:46 +0000 (15:18 -0700)]
DCS work nicely with collectible AssemblyLoadContext (#90437)

* Add tests to check for ALC goodness with DCS.

* Add context-aware collections for caching/indexing DataContracts.

* Refine the context-aware collection types.

* Use lock to prevent running expensive delegate more than once.

* Use double-check pattern to prevent 'create' delegate from running multiple times.

* Upon further review, GetValue/GetOrAdd already do this check before running the 'create' delegate. Docs suggest this is intentional and will remain the case.

12 months ago[libs][mono] Prevent static constructor from referencing `Internal.Runtime.Augments...
Ivan Povazan [Mon, 14 Aug 2023 22:02:42 +0000 (00:02 +0200)]
[libs][mono] Prevent static constructor from referencing `Internal.Runtime.Augments.DynamicDelegateAugments` in build scenarios without linking (#90519)

Fixes https://github.com/dotnet/runtime/issues/90494

---------

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
12 months agoDo not OCSP staple invalid OCSP responses
Kevin Jones [Mon, 14 Aug 2023 22:00:32 +0000 (18:00 -0400)]
Do not OCSP staple invalid OCSP responses

12 months ago[Blazor] Custom ICU loading from runtime path (#90236)
Ilona Tomkowicz [Mon, 14 Aug 2023 21:42:07 +0000 (23:42 +0200)]
[Blazor] Custom ICU loading from runtime path (#90236)

* Loading a user-created custom file from absolute path.
* Issue 2 solved: files from runtime pack work when abs path is used.
* Cover not found file scenario.

* Appied @maraf's suggestion.
Co-authored-by: Ankit Jain <radical@gmail.com>
12 months agoRemoved redist entries from PlatformManifestFileEntry (#90542)
Vladimir Sadov [Mon, 14 Aug 2023 20:53:43 +0000 (13:53 -0700)]
Removed redist entries from PlatformManifestFileEntry (#90542)

12 months agoPut HasNativeCodeReJITAware into GetFunctionAddress (#90049)
mikelle-rogers [Mon, 14 Aug 2023 20:37:22 +0000 (13:37 -0700)]
Put HasNativeCodeReJITAware into GetFunctionAddress (#90049)

* Remove calls to GetFunctionAddress with Null address and clarify method names

12 months ago[mono][debugger]Adding more information about the array type (#89304)
Thays Grazia [Mon, 14 Aug 2023 19:54:01 +0000 (16:54 -0300)]
[mono][debugger]Adding more information about the array type (#89304)

* Adding more information about the array type.

* Adding more changes

* Update src/mono/mono/component/debugger-agent.c

* Only add this info for icordbg.

---------

Co-authored-by: Larry Ewing <lewing@microsoft.com>
12 months agoMake TimeProvider Delay Continuations Synchronously (#90489)
Tarek Mahmoud Sayed [Mon, 14 Aug 2023 19:53:17 +0000 (12:53 -0700)]
Make TimeProvider Delay Continuations Synchronously (#90489)

Co-authored-by: Stephen Toub <stoub@microsoft.com>
12 months agoUse '==' instead of 'Equals()' to test type equality in ServiceIdentifier (#90334)
Benjamin Petit [Mon, 14 Aug 2023 19:47:41 +0000 (21:47 +0200)]
Use '==' instead of 'Equals()' to test type equality in ServiceIdentifier (#90334)

12 months agoUpdate DNNE version (#90524)
Jackson Schuster [Mon, 14 Aug 2023 19:42:24 +0000 (12:42 -0700)]
Update DNNE version (#90524)

* Update Versions.props

12 months agoRevert "Fix perf jobs param (#90215)" (#90535)
Milos Kotlar [Mon, 14 Aug 2023 19:36:13 +0000 (21:36 +0200)]
Revert "Fix perf jobs param (#90215)" (#90535)

This reverts commit df5f3e6ea27bcab2c52fadf71e2961de15b9d17c.

12 months ago[wasm][debugger] Support calling `get_Item` passing decimal, float or double as param...
Thays Grazia [Mon, 14 Aug 2023 19:20:08 +0000 (16:20 -0300)]
[wasm][debugger] Support calling `get_Item` passing decimal, float or double as parameter. (#90260)

* Support calling get_Item using decimal, float and double as parameter.

* Update src/mono/wasm/debugger/BrowserDebugProxy/SignatureTypeProvider.cs

Co-authored-by: Ankit Jain <radical@gmail.com>
* Addressing some comments.

* fix compilation

* Fix wrong cast.

---------

Co-authored-by: Ankit Jain <radical@gmail.com>
12 months ago[wasm][debugger] Do not run the test with justMyCode enabled in debug mode. (#90532)
Thays Grazia [Mon, 14 Aug 2023 19:19:48 +0000 (16:19 -0300)]
[wasm][debugger] Do not run the test with justMyCode enabled in debug mode. (#90532)

* Do not run the test with justMyCode enabled in debug mode.

* Update src/mono/wasm/debugger/DebuggerTestSuite/SteppingTests.cs

Co-authored-by: Ankit Jain <radical@gmail.com>
---------

Co-authored-by: Ankit Jain <radical@gmail.com>
12 months ago[wasm] Respect `AppendRuntimeIdentifierToOutputPath`, and `UseArtifactsOutput` (...
Ankit Jain [Mon, 14 Aug 2023 18:24:18 +0000 (14:24 -0400)]
[wasm] Respect `AppendRuntimeIdentifierToOutputPath`, and `UseArtifactsOutput` (#90365)

* [wasm] Remove all instances of `ConditionalTheory IsUsingWorkloads`

.. because we run tests in two modes:

1. with workloads - all the tests *without* `no-workload` category are
   run (thus the default)
2. no workloads - all the tests *with* `no-workload` category are run
   (thus need explicitly attributes)

* Allow custom bin framework dirs for asserting bundles

* [wasm] Respect `AppendRuntimeIdentifierToOutputPath`, and

.. `UseArtifactsOutput`.

Fixes https://github.com/dotnet/runtime/issues/89744 .

12 months agoFix deadlock in EventPipeEventDispatcher (#90053)
David Mason [Mon, 14 Aug 2023 18:19:13 +0000 (11:19 -0700)]
Fix deadlock in EventPipeEventDispatcher (#90053)

12 months ago[mono] Enable callconv and classloader runtime tests (#90421)
Milos Kotlar [Mon, 14 Aug 2023 17:55:08 +0000 (19:55 +0200)]
[mono] Enable callconv and classloader runtime tests (#90421)

* Enable callconv and classloader runtime tests

* Don't remove merged tests for apple mobile platforms

12 months agoJIT: Unspill normalize-on-load variables using exact small type (#90318)
Jakob Botsch Nielsen [Mon, 14 Aug 2023 17:20:11 +0000 (19:20 +0200)]
JIT: Unspill normalize-on-load variables using exact small type (#90318)

The existing logic would sometimes unspill using the type of the local
that is being unspilled. This type is often wider than the exact small
type in the LclVarDsc, since NOL locals are normally expanded as
CAST(<small type>, LCL_VAR<int>).

This causes problems since morph will in some cases avoid inserting
normalization for NOL locals when it has a subrange assertion available.
This optimization relies on the backend always ensuring that the local
will be normalized as part of unspilling and args homing.

Size-wise regressions are expected on xarch since the encoding of the
normalizing load is larger. However, as we have seen before, using wide
loads can cause significant store-forwarding stalls which can have large
negative impact on performance, so overall there is an expected perf
benefit of using the small loads (in addition to the correctness fix).

Fix #90219

12 months agoFix ilasm casting (#90450)
Bruce Forstall [Mon, 14 Aug 2023 17:08:56 +0000 (10:08 -0700)]
Fix ilasm casting (#90450)

* Fix 64-bit cast

* Fix a few more cases of casting `strlen`

Fix output to use `%zd` for size_t values.

12 months agoImplement Edit and Continue on Linux and MacOS (#90349)
mikelle-rogers [Mon, 14 Aug 2023 16:34:15 +0000 (09:34 -0700)]
Implement Edit and Continue on Linux and MacOS (#90349)

* Add EnC support for Linux and Mac

---------

Co-authored-by: Jakob Botsch Nielsen <jakob.botsch.nielsen@gmail.com>
Co-authored-by: Jan Vorlicek <janvorli@microsoft.com>
Co-authored-by: Tom McDonald <tommcdon@hotmail.com>
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
12 months ago[NativeAOT] Use TCP transport for EventPipe on mobile platforms (#90315)
Filip Navara [Mon, 14 Aug 2023 16:08:55 +0000 (18:08 +0200)]
[NativeAOT] Use TCP transport for EventPipe on mobile platforms (#90315)

* [NativeAOT] Use TCP transport for EventPipe on mobile platforms

* Update src/coreclr/nativeaot/Runtime/eventpipe/CMakeLists.txt

---------

Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
12 months ago[wasm] Cache the output of `mono-aot-cross --print-icall-table` (#90476)
Ankit Jain [Mon, 14 Aug 2023 15:50:26 +0000 (11:50 -0400)]
[wasm] Cache the output of `mono-aot-cross --print-icall-table` (#90476)

Currently, this is invoked to get the runtime icall table for native builds, even if it is not needed by ManagedtoNativeGenerator (for example when outputs are up-to-date). This will change only with the cross compiler, so it can be cached.

Suggested by @vargaz .

Fixes https://github.com/dotnet/runtime/issues/90366 .

12 months ago[wasm] Incremental build improvements (#90194)
Ankit Jain [Mon, 14 Aug 2023 15:48:54 +0000 (11:48 -0400)]
[wasm] Incremental build improvements (#90194)

- [wasm] Sanity check emcc versions only when using a custom EMSDK_PATH
- [wasm] Emit a message about compiling native assets only when actually doing so
- [wasm] ConvertDllsToWebcil: avoid doing unncessary conversion, and other work
- [wasm] ManagedToNativeGenerator: add support for incremental runs (time goes from 1.6s to <900ms)

This improves build times ~30% for no-op rebuilds.

*With* native reference | Old | New | Difference | %
-- | -- | -- | -- | --
First build | 8.01s | 8.13s | +0.12s |  
4th rebuild | 1.91s | 1.35s | -0.56s | 29%
rebuild with only cs change | 2.90s | 2.48s | -0.42s | 14%

*Without* native reference | Old | New | Difference | %
-- | -- | -- | -- | --
First build | 5.34s | 5.29 | -0.05s |  
4th rebuild | 1.78s | 1.20s | -0.58s | 32%
rebuild with only cs change | 1.96s | 1.45s | -0.51s | 26%

- These were run for blazor projects
- These were clean builds, with no `dotnet` process running
- And nuget cache cleared of `*webassembly.pack` which is the relevant package here.
- The native reference was a simple `factorial.c` from https://github.com/dotnet/runtime/issues/60245

Fixes https://github.com/dotnet/runtime/issues/60245 .

With feedback from @kg .

12 months ago[wasm][debugger]Evaluate a sum between an object and a string (#90175)
Thays Grazia [Mon, 14 Aug 2023 15:45:09 +0000 (12:45 -0300)]
[wasm][debugger]Evaluate a sum between an object and a string (#90175)

* Support sum an object and a string

* Update src/mono/wasm/debugger/BrowserDebugProxy/EvaluateExpression.cs

Co-authored-by: Ankit Jain <radical@gmail.com>
* Apply suggestions from code review

Co-authored-by: Ankit Jain <radical@gmail.com>
* Addressing @radical comments

* Adding more tests as suggested by @radical.

---------

Co-authored-by: Ankit Jain <radical@gmail.com>
12 months agoSupport invoke of function pointer type arg (#90270)
Steve Harter [Mon, 14 Aug 2023 15:24:31 +0000 (10:24 -0500)]
Support invoke of function pointer type arg (#90270)

12 months agoSwitch DateTimeKind from Unspecified to Local (#90149)
Maksim Golev [Mon, 14 Aug 2023 15:21:24 +0000 (19:21 +0400)]
Switch DateTimeKind from Unspecified to Local (#90149)

Co-authored-by: Maksim Golev <mgolev@htc-cs.ru>
12 months agoEnsure that constant folding for long->float is handled correctly (#90325)
Tanner Gooding [Mon, 14 Aug 2023 15:17:56 +0000 (08:17 -0700)]
Ensure that constant folding for long->float is handled correctly (#90325)

* Ensure that constant folding for long->float is handled correctly

* Adding a regression test ensuring long->float conversions are correctly handled

* Print failure info for test

* Ensure we continue doing the incorrect 2-step conversion for 32-bit, to match codegen

* Fix build failure

* Ensure test project uses process isolation

12 months ago[mono] Fix Vector<T>.IsSupported intrinsic (#90023)
Ivan Povazan [Mon, 14 Aug 2023 15:10:08 +0000 (17:10 +0200)]
[mono] Fix Vector<T>.IsSupported intrinsic (#90023)

Fixes https://github.com/dotnet/runtime/issues/88983
---------

Co-authored-by: Larry Ewing <lewing@microsoft.com>
12 months agoHandle side-effects in impBoxPatternMatch (#90496)
Egor Bogatov [Mon, 14 Aug 2023 14:50:56 +0000 (16:50 +0200)]
Handle side-effects in impBoxPatternMatch (#90496)

12 months agoDisable InlineArrayValid/Invalid tests on Android (#90414)
Matous Kozak [Mon, 14 Aug 2023 14:03:56 +0000 (16:03 +0200)]
Disable InlineArrayValid/Invalid tests on Android (#90414)

12 months ago[mono] Resolve failing tests on apple mobile platforms (#90515)
Milos Kotlar [Mon, 14 Aug 2023 13:56:44 +0000 (15:56 +0200)]
[mono] Resolve failing tests on apple mobile platforms (#90515)

* Don't run arm64 jobs

* Disable failing jobs

* Fix failing calendar test

12 months agoChange how toggle refs are reported in gcdump (#90467)
Filip Navara [Mon, 14 Aug 2023 13:51:37 +0000 (15:51 +0200)]
Change how toggle refs are reported in gcdump (#90467)

12 months agoImprove error message in the new `JsonNode.GetElementIndex()` and `GetPropertyName...
Eirik Tsarpalis [Mon, 14 Aug 2023 13:22:38 +0000 (16:22 +0300)]
Improve error message in the new `JsonNode.GetElementIndex()` and `GetPropertyName()` methods. (#90486)

12 months ago[mono][debugger] Do not use `select(2)` on debugger-agent (#90293)
Thays Grazia [Mon, 14 Aug 2023 12:31:28 +0000 (09:31 -0300)]
[mono][debugger] Do not use `select(2)` on debugger-agent (#90293)

* Do not use select on debugger-agent

* use pool on APPLE os

12 months ago[wasm][debugger] Symbolicate function names on debug callstack (#90348)
Thays Grazia [Mon, 14 Aug 2023 12:29:19 +0000 (09:29 -0300)]
[wasm][debugger] Symbolicate function names on debug callstack (#90348)

* Symbolicate function names on debug callstack

* Addressing @radical suggestion

* Addressing @radical suggestions.

* cleanup

---------

Co-authored-by: Ankit Jain <radical@gmail.com>
12 months agoUpdate dependencies from https://github.com/dotnet/roslyn-analyzers build 20230812...
dotnet-maestro[bot] [Mon, 14 Aug 2023 10:08:47 +0000 (06:08 -0400)]
Update dependencies from https://github.com/dotnet/roslyn-analyzers build 20230812.1 (#90484)

Microsoft.CodeAnalysis.Analyzers , Microsoft.CodeAnalysis.NetAnalyzers
 From Version 3.11.0-beta1.23407.1 -> To Version 3.11.0-beta1.23412.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
12 months ago[DependencyInjection] Avoid useless reflection call in ActivatorUtilities (#90378)
Benjamin Petit [Mon, 14 Aug 2023 09:42:18 +0000 (11:42 +0200)]
[DependencyInjection] Avoid useless reflection call in ActivatorUtilities (#90378)

12 months agoAdd NonGC documentation (#90206)
Egor Bogatov [Mon, 14 Aug 2023 08:01:24 +0000 (10:01 +0200)]
Add NonGC documentation (#90206)

12 months ago[QUIC] Merge 7.0 fix (#90228)
Marie Píchová [Mon, 14 Aug 2023 07:19:10 +0000 (09:19 +0200)]
[QUIC] Merge 7.0 fix (#90228)

* Merge pull request #90173 from vseanreesermsft/internal-merge-7.0-2023-08-08-1042

Merging internal commits for release/7.0

* Consume MsQuic release package on Win

---------

Co-authored-by: Carlos Sánchez López <1175054+carlossanlop@users.noreply.github.com>
Co-authored-by: Natalia Kondratyeva <knatalia@microsoft.com>
12 months ago[mono][arm64] Fixed passing/receiving hfa structures with fixed buffers. (#90502)
Zoltan Varga [Mon, 14 Aug 2023 05:13:21 +0000 (00:13 -0500)]
[mono][arm64] Fixed passing/receiving hfa structures with fixed buffers. (#90502)

Fixes https://github.com/dotnet/runtime/issues/90423.

12 months agoEnable nullable on Hosting.Systemd (#90495)
Eric Erhardt [Sun, 13 Aug 2023 21:01:25 +0000 (15:01 -0600)]
Enable nullable on Hosting.Systemd (#90495)

- Passing null into the hosting lifetimes' loggerFactory parameters would result in a NRE

Contributes to #90400

12 months agoFixing COM Aggregation and XAML reference tracking on .NET AOT (#90283)
Manodasan Wignarajah [Sun, 13 Aug 2023 20:18:10 +0000 (13:18 -0700)]
Fixing COM Aggregation and XAML reference tracking on .NET AOT (#90283)

* Add initial changes for COM Aggregation and XAML reference tracking in AOT

* Fix dependency list to avoid allocations

* Fix issues with finalizer races and issues with allocating memory during GC

* Add COM weak reference support

* PR feedback on separating reference tracker object fields.

Co-authored-by: Aaron Robinson <arobins@microsoft.com>
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Co-authored-by: Jeremy Koritzinsky <jkoritzinsky@gmail.com>
12 months agoFix TimeProvider Test (#90448)
Tarek Mahmoud Sayed [Sun, 13 Aug 2023 16:41:52 +0000 (09:41 -0700)]
Fix TimeProvider Test (#90448)

12 months agoDisable OneLocBuild in runtime-official.yml (#90480)
Alexander Köplinger [Sun, 13 Aug 2023 12:27:44 +0000 (14:27 +0200)]
Disable OneLocBuild in runtime-official.yml (#90480)

It is blocking the official build: https://github.com/dotnet/runtime/issues/90466

12 months agoLocalized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 224132...
dotnet bot [Sun, 13 Aug 2023 11:49:47 +0000 (04:49 -0700)]
Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 2241323 (#89414)

* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 2228738

* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 2229389

* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 2230534

* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 2231640

* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 2233112

* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 2234217

* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 2235989

* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 2236160

* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 2236693

* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 2238073

* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 2240179

* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 2241002

* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 2241178

---------

Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
12 months agoRun trimming tests for global.json changes (#90451)
Sven Boemer [Sun, 13 Aug 2023 02:50:54 +0000 (19:50 -0700)]
Run trimming tests for global.json changes (#90451)

12 months ago[wasm] Add more blazor tests for InvariantGlobalization (#90440)
Ankit Jain [Sun, 13 Aug 2023 02:50:19 +0000 (22:50 -0400)]
[wasm] Add more blazor tests for InvariantGlobalization (#90440)

* [wasm] build-packages make target - build all the required packages for wbt

* WBT: Add more tests for blazor+InvariantGlobalization

* Fix test

12 months ago[wasm] Suggest installing the workload when publishing a blazor project (#90471)
Ankit Jain [Sun, 13 Aug 2023 02:49:47 +0000 (22:49 -0400)]
[wasm] Suggest installing the workload when publishing a blazor project (#90471)

12 months ago[wasm][debugger] Disable some tests on Firefox (#90347)
Thays Grazia [Sat, 12 Aug 2023 23:28:52 +0000 (20:28 -0300)]
[wasm][debugger] Disable some tests on Firefox (#90347)

* Do not run this test on Firefox

* Disable other test

12 months ago[wasm] Don't build samples in parallel on CI (#90470)
Ankit Jain [Sat, 12 Aug 2023 23:25:58 +0000 (19:25 -0400)]
[wasm] Don't build samples in parallel on CI (#90470)

Prompted by failures described in https://github.com/dotnet/dnceng/issues/450

12 months ago[NativeAOT] Do not use private APIs on iOS/macOS (#90430)
Filip Navara [Sat, 12 Aug 2023 18:54:12 +0000 (20:54 +0200)]
[NativeAOT] Do not use private APIs on iOS/macOS (#90430)

* Use custom implementation of _dyld_find_unwind_sections on Apple
platforms since it's a private API and it blocks uploads to TestFlight,
iOS App Store, and Mac App Store.

* Link against local ICU libraries on iOS-like platforms

* Update src/coreclr/nativeaot/BuildIntegration/Microsoft.NETCore.Native.Unix.targets

* Add comment

* Update src/coreclr/nativeaot/Runtime/unix/UnwindHelpers.cpp

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
---------

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
12 months agoFix condition for setting if symbol is a file in native AOT publish targets (#90438)
Elinor Fung [Sat, 12 Aug 2023 17:51:21 +0000 (10:51 -0700)]
Fix condition for setting if symbol is a file in native AOT publish targets (#90438)

12 months agoruntime: fix variable null check (#89920)
Павел Харьков [Sat, 12 Aug 2023 15:58:33 +0000 (18:58 +0300)]
runtime: fix variable null check (#89920)

Fixed error when _hashtableContentsToEnumerate is null.
It appears always when using 'Length' property when variable is null.
Also reduced nesting.

12 months ago[main] Update dependencies from dotnet/arcade dotnet/emsdk (#90461)
dotnet-maestro[bot] [Sat, 12 Aug 2023 14:39:49 +0000 (16:39 +0200)]
[main] Update dependencies from dotnet/arcade dotnet/emsdk (#90461)

* Update dependencies from https://github.com/dotnet/arcade build 20230811.1

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.XUnitConsoleRunner , Microsoft.DotNet.XUnitExtensions
 From Version 8.0.0-beta.23409.5 -> To Version 8.0.0-beta.23411.1

* Update dependencies from https://github.com/dotnet/emsdk build 20230811.2

Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100.Transport
 From Version 8.0.0-rc.1.23411.1 -> To Version 8.0.0-rc.1.23411.2

Dependency coherency updates

runtime.linux-arm64.Microsoft.NETCore.Runtime.ObjWriter,runtime.linux-x64.Microsoft.NETCore.Runtime.ObjWriter,runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.ObjWriter,runtime.linux-musl-x64.Microsoft.NETCore.Runtime.ObjWriter,runtime.win-arm64.Microsoft.NETCore.Runtime.ObjWriter,runtime.win-x64.Microsoft.NETCore.Runtime.ObjWriter,runtime.osx-arm64.Microsoft.NETCore.Runtime.ObjWriter,runtime.osx-x64.Microsoft.NETCore.Runtime.ObjWriter,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 16.0.5-alpha.1.23401.4 -> To Version 16.0.5-alpha.1.23408.1 (parent: Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100.Transport

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
12 months ago[workloads] Remove experimental off of librarybuilder workload (#90410)
Steve Pfister [Sat, 12 Aug 2023 13:20:54 +0000 (06:20 -0700)]
[workloads] Remove experimental off of librarybuilder workload (#90410)

12 months agoJIT: Prevent generic context runaway during inlining of polymorphic recursive methods...
Jakob Botsch Nielsen [Sat, 12 Aug 2023 12:12:53 +0000 (14:12 +0200)]
JIT: Prevent generic context runaway during inlining of polymorphic recursive methods (#90306)

The inliner heuristics do not take into account that inlining methods
causes type/method loading of the generic context. After #88749 this can
quickly cause significant resources to be consumed as part of inlining
when polymorphic recursion is involved (the blow-up can be exponential,
as we see in the failing test under jitstress).

This PR adds another safe-guard to the recursive inlining check in terms
of a complexity limit on the generic context of the inline candidate.

Fix #90144

12 months agoRemove all use of <Nullable>annotations</Nullable> (#90401)
Stephen Toub [Sat, 12 Aug 2023 03:41:47 +0000 (23:41 -0400)]
Remove all use of <Nullable>annotations</Nullable> (#90401)

* Remove all use of <Nullable>annotations</Nullable>

We've inadvertently shipped multiple libraries with incorrect nullable reference type annotations because:
a) Their ref assemblies aren't actually being shipped, and/or
b) Their src projects using `<Nullable>annotations</Nullable>`

`<Nullable>annotations</Nullable>` means "I'm nullable annotated but don't validate them", which means consumers of these libraries see annotations that we haven't thoughtfully added or reviewed.

This removes all use of it and gets us back to a place where we're only shipping nullable annotations for libraries where we've done the work to ensure they're correct.  We can subsequently finish annotating these stragglers.

* Don't disable LibraryImportGenerator when nullable is disabled

* Add #nullable enable to LibraryImportAttribute file for polyfill scenarios.

* Disable LibraryImportGenerator on ILCompiler.TypeSystem.Tests assemblies.
Convert a DllImport in HostWriter that now gets the polyfill experience.

---------

Co-authored-by: Eric StJohn <ericstj@microsoft.com>
Co-authored-by: Jeremy Koritzinsky <jekoritz@microsoft.com>
12 months agoAdd DiagnosticDescriptorHelper to set HelpURI for generator / analyzer diagnostics...
Eric StJohn [Sat, 12 Aug 2023 03:25:37 +0000 (20:25 -0700)]
Add DiagnosticDescriptorHelper to set HelpURI for generator / analyzer diagnostics (#90353)

* Add DiagnosticDescriptorHelper

Create a helper method that formats and sets the helpLink for
DiagnosticDescriptors

* Add HelpLinkUris to ILLink

* Handle different DiagnosticCategories

12 months ago[workloads] Add telemetry for mobile and wasm workloads (#90208)
Steve Pfister [Sat, 12 Aug 2023 01:49:21 +0000 (18:49 -0700)]
[workloads] Add telemetry for mobile and wasm workloads (#90208)

This change adds CLI telemetry for common mobile and wasm scenarios.

Total app size is another element we plan on tracking and that will be added in a follow up.

Fixes https://github.com/dotnet/runtime/issues/88844

12 months agoUpdate Versions.props (#90425)
Jackson Schuster [Sat, 12 Aug 2023 01:17:11 +0000 (18:17 -0700)]
Update Versions.props (#90425)

12 months agoPrefix type names with global and use static TypeSyntax and NameSyntax instead of...
Jackson Schuster [Fri, 11 Aug 2023 23:54:43 +0000 (16:54 -0700)]
Prefix type names with global and use static TypeSyntax and NameSyntax instead of Parse(Type)Name (#90339)

* Prefix type names with global and use static TypeSyntax and NameSyntax instead of Parse(Type)Name

12 months agoSupport Exposing new Metric properties using EventSource (#90417)
Tarek Mahmoud Sayed [Fri, 11 Aug 2023 23:29:23 +0000 (16:29 -0700)]
Support Exposing new Metric properties using EventSource (#90417)

12 months ago[wasm] Fix builds for blazor app + InvariantGlobalization=true (#90432)
Ankit Jain [Fri, 11 Aug 2023 23:06:31 +0000 (19:06 -0400)]
[wasm] Fix builds for blazor app + InvariantGlobalization=true (#90432)

The following commit caused workload to be required for a blazor app
when `InvariantGlobalization==true`, but this is not required.

```
commit 26ae09784c16dfa6707cd73eca2aeb00a28741d0
Author: Ankit Jain <radical@gmail.com>
Date:   Thu Aug 10 23:39:10 2023 -0400

    [wasm] Fix up conditions to trigger relink, and require `wasm-tools` workload (#89754)
```

And this broke some sdk tests.

12 months agoAllow reference types for pinned GC.AllocateArray() (#89293)
jthorborg [Fri, 11 Aug 2023 21:50:26 +0000 (23:50 +0200)]
Allow reference types for pinned GC.AllocateArray() (#89293)

* Relaxing constraints of System.GC.AllocateArray<T>.

It's now possible to allocate pinned and default-initialized arrays that contain references.

Fix #48703

* Adding coverage of GC.AllocateArray with ref types.

Added a test that pins a reference type array and resolves references to indices with pointer arithmetic, checking that modifications are visible back in the original array.

Test #48703

* Mono/NativeAOT relaxing of System.GC.AllocateArray<T>.

* Relaxed GC.AllocateUninitializedArray for ref types as well.

This was done by deferring reference types to GC.AllocateArray to avoid potential memory issues with the GC + uninitialized memory. The API only promises to avoid initialization if possible, anyway.
Refactored tests to parametrically exercise these new relaxed constraints.

* Simplifiy conditionals in AllocateUninitializedArray.

Relying on internal implementation zeroing refs if necessary.

* Also simplify path for NativeOAT.

Mono already piggybacks on the AllocateArray path anyway.

* Simplify pinning paths.

All conditional paths in GC.Allocate*Array now handle pinning unconditionally out of the main branch.

* Don't use `var` if type name doesn't exist explicitly on right-hand side

* PR feedback for using terse method tables and JIT intrinsics for GC array allocation that should be slightly faster.

* Changed EmbeddedValueType and added comment.

After a longer discussion, settled on a slightly augmented suggestion that isn't as controversial as the prior one.

* Fixing signature for `RhAllocateNewArray` in NativeAOT to directly use a `MethodTable*`

* Adding explicit structlayout to silence warning for EmbeddedValueType in GCTests, and improved the comment.

---------

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
12 months agoFix session-local named mutex compat issue (#90342)
Koundinya Veluri [Fri, 11 Aug 2023 21:34:40 +0000 (14:34 -0700)]
Fix session-local named mutex compat issue (#90342)

- A previous change that was serviced back changed session-local named mutexes to be user-specific by restricting the permissions of the session directories and files under them, and adding the sticky bit to some directoires. A compat issue arose from that change, as the session directories have the session ID in their name and session IDs can be reused between different users. The current plan that we have discussed is to revert the change and service back the revert, which also restores the intended behavior, and offer user-specific mutexes as a new feature in a future .NET that would satisfy some user scenarios in a better way.
- This PR reverts the previous change (first commit) and restores one change from the previous change (second commit) to improve backward compatibility due to differences in permissions for session directories before and after the change
- Fixes https://github.com/dotnet/runtime/issues/80619

12 months agoUsing stackalloc instead of new byte[x] on Streams (#88303)
Poppyto [Fri, 11 Aug 2023 21:30:50 +0000 (23:30 +0200)]
Using stackalloc instead of new byte[x] on Streams (#88303)

* first XOR Linq implemetation

* replace classic allocation by stack allocation for ReadByte

* replace classic allocation by stack allocation for ReadByte & WriteByte

* replace classic allocation by stack allocation for ReadByte/CopyToAsync

* add missing ConfigureAwait(false) on ReadAsync

* replace classic allocation by stack allocation for ReadByte/WriteByte

* Revert "first XOR Linq implemetation"

This reverts commit 449fddec66b3311866dc1e57c07ad7127e8039ff.

* indent fix

* rollback stackalloc on async methods

* missing char

* fix ConfigureAwait

* rollback ReadByte optim (degrade perfs)

* variablename fix

* missing comment

* rollback Stream allocations

* missing arguments

* add Write(ReadOnlySpan<byte>) method

* better initialize Span

* add CRLF

* resolve comments

* simplification call method Write

* Update src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/Json/JsonEncodingStreamWrapper.cs

replace Span by ReadOnlySpan

Co-authored-by: Michał Petryka <35800402+MichalPetryka@users.noreply.github.com>
* remove trailing whitespace

* Update src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/Json/JsonEncodingStreamWrapper.cs

Co-authored-by: Stephen Toub <stoub@microsoft.com>
* Update src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/Json/JsonEncodingStreamWrapper.cs

Co-authored-by: Stephen Toub <stoub@microsoft.com>
---------

Co-authored-by: Michał Petryka <35800402+MichalPetryka@users.noreply.github.com>
Co-authored-by: Stephen Toub <stoub@microsoft.com>