Natalia Kondratyeva [Fri, 28 Jul 2023 16:53:51 +0000 (17:53 +0100)]
Implement IKeyedServiceProvider interface on ServiceProviderEngineScope (#89509)
* Implement IKeyedServiceProvider interface
* Add more tests
Filip Navara [Fri, 28 Jul 2023 15:57:07 +0000 (17:57 +0200)]
Re-enable event tracing feature on NativeAOT/iOS and fix PalCreateDump.cpp build (#89627)
James Newton-King [Fri, 28 Jul 2023 15:39:20 +0000 (23:39 +0800)]
Don't include empty prefix with EnvironmentVariablesConfigurationProvider (#89612)
Milos Kotlar [Fri, 28 Jul 2023 13:29:12 +0000 (15:29 +0200)]
Add explicit conversion of call args (#89428)
Vlad-Alexandru Ionescu [Fri, 28 Jul 2023 12:13:51 +0000 (15:13 +0300)]
[mono][jit] Enabled Ctor, Set_Item and Get_Item Vector4 intrinsics for miniJIT on ARM64 (#89501)
* Enabled rest of V4 intrinsics
Signed-off-by: Vlad - Alexandru Ionescu <vlad-alexandruionescu@Vlads-MacBook-Pro-5.local>
* Added support for non-constant index
Signed-off-by: Vlad <vladionescu1399@gmail.com>
---------
Signed-off-by: Vlad - Alexandru Ionescu <vlad-alexandruionescu@Vlads-MacBook-Pro-5.local>
Signed-off-by: Vlad <vladionescu1399@gmail.com>
Co-authored-by: Vlad - Alexandru Ionescu <vlad-alexandruionescu@Vlads-MacBook-Pro-5.local>
Jan Dupej [Fri, 28 Jul 2023 09:24:36 +0000 (11:24 +0200)]
[mono] Fix second pass of MarshallingPInvokeScanner with metadata-free DLLs (#89555)
* Fix second pass of marshalling scanner to also tolerate metadata-free PEs.
* Assembly name is now checked only when metadata are present.
Jan Dupej [Fri, 28 Jul 2023 09:09:42 +0000 (11:09 +0200)]
Ensure marshal-ilgen is included. (#89564)
Will Smith [Fri, 28 Jul 2023 08:23:31 +0000 (01:23 -0700)]
Make a copy of 'clrjit' binary for use in SuperPMI collect to avoid heap errors when the same 'clrjit' binary is used (#89473)
* Make a copy of 'clrjit' binary for use in SuperPMI collect to avoid heap errors when the same 'clrjit' binary is used
* Feedback
* Feedback
Jan Vorlicek [Fri, 28 Jul 2023 07:54:14 +0000 (09:54 +0200)]
Fix ProfileEnter / ProfileLeave (#88134)
* Fix ProfileEnter / ProfileLeave
These two functions can be entered in preemptive mode for
UnmanagedCallersOnly methods and also on thread that was not known to
runtime. This change switches to cooperative mode if the thread is known
to runtime and early outs when the thread was not known.
* Add runtime thread setup if it doesn't exist
* Undo the thread struct setup for ProfileLeave
Michal Strehovský [Fri, 28 Jul 2023 07:10:59 +0000 (16:10 +0900)]
Fix issue with being able to MakeGenericMethod methods on generic types (#89615)
The guarantees that one can always `MakeGeneric` instances over reference types should extend to generic methods on generic types.
We were previously not able to guarantee this, but #83438 made this possible.
Tomasz Sowiński [Fri, 28 Jul 2023 06:58:17 +0000 (08:58 +0200)]
[RISC-V] Enable TLS field access optimization (#89561)
Manish Godse [Fri, 28 Jul 2023 05:50:40 +0000 (22:50 -0700)]
adding clrgc variant with regions enabled (#89129)
* adding clrgc variant with regions enabled
* only build regions for 64 bit platforms
* rename to clrgcexp for experimental
Genevieve Warren [Fri, 28 Jul 2023 02:45:53 +0000 (19:45 -0700)]
Remove extraneous quotation marks and other doc fixes (#89528)
* Remove extraneous quotation marks
* Update GC.CoreCLR.cs
Jeremy Koritzinsky [Fri, 28 Jul 2023 02:05:12 +0000 (19:05 -0700)]
Add more doc comments that were missing (#89597)
Mike McLaughlin [Fri, 28 Jul 2023 01:58:42 +0000 (18:58 -0700)]
NativeAOT createdump fork/exec for crash dump generation (#89203)
* NativeAOT createdump fork/exec for crash dump generation
Port the .NET Core createdump fork/exec code to NativeAOT.
Add src/native/inc/generatedumpflags.h. Remove dup definitions of this enum.
Move and port clrconfignocache.h from src/coreclr/inc to src/native/inc/.
* Add building more command line arguments for signal number, etc.
Fix some build problems.
* Code review feedback - use RhConfig instead of clrconfignocache.h
* Fix string buffer length
* Fix nativeaot test failures. Added crash buffer address to debug header contract
* Generate a core dump on unhandled SIGSEGV/SIGFPE
Add PalCreateDump.h with all the public functions.
* Build and pass an EXCEPTION_RECORD for Linux like it was done for Windows. The next step is to pass the address of it to createdump.
* Pass exception record address to createdump
* Add special diagnostic info memory region
Contains the exception record address for Native AOT crashes.
Ankit Jain [Fri, 28 Jul 2023 01:48:32 +0000 (21:48 -0400)]
[wasm][debugger] Fix test failing on firefox (#89607)
Do not send `SetJustMyCode` on firefox, as it does not support this
setting.
On-behalf-of: @thaystg
Jan Vorlicek [Fri, 28 Jul 2023 00:15:18 +0000 (02:15 +0200)]
Fix arm64 line numbers in stacktraces (#89604)
In some cases, the line numbers in stack traces on arm64 and possibly
other architectures can be wrong. This is due to the previous adjustment
of the code address for the frame not being recognized by the IL offset
extraction code, which adjusts it again unnecessarily.
Ankit Jain [Thu, 27 Jul 2023 21:58:25 +0000 (17:58 -0400)]
[wasm] WBT - add some debug bits to collect information on a rare failure (#89584)
.. failure, where `Program.cs` fails to compile. In such a case make the
project contents available in the logs.
Issue: https://github.com/dotnet/runtime/issues/86533
dotnet-maestro[bot] [Thu, 27 Jul 2023 21:39:35 +0000 (21:39 +0000)]
[main] Update dependencies from dotnet/runtime dotnet/llvm-project dotnet/arcade dotnet/icu dotnet/emsdk dotnet/hotreload-utils dotnet/cecil (#89299)
[main] Update dependencies from dotnet/runtime dotnet/llvm-project dotnet/arcade dotnet/icu dotnet/emsdk dotnet/hotreload-utils dotnet/cecil
- Coherency Updates:
- Microsoft.DotNet.XliffTasks: from 1.0.0-beta.23368.1 to 1.0.0-beta.23374.1 (parent: Microsoft.DotNet.Arcade.Sdk)
- Merge remote-tracking branch 'upstream/main' into darc-main-
7846c1a8-68cb-40c2-bee3-
00bd61fd1810
- Change the llvm warning limits
dotnet-maestro[bot] [Thu, 27 Jul 2023 20:48:45 +0000 (15:48 -0500)]
Update dependencies from https://github.com/dotnet/roslyn build
20230723.1 (#89382)
Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
From Version 4.7.0-3.23366.1 -> To Version 4.7.0-3.23373.1
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Egor Bogatov [Thu, 27 Jul 2023 20:31:18 +0000 (22:31 +0200)]
Avoid boxing in Enum.HasFlag in Tier0 (#89348)
Co-authored-by: Michał Petryka <35800402+MichalPetryka@users.noreply.github.com>
Co-authored-by: Jakob Botsch Nielsen <Jakob.botsch.nielsen@gmail.com>
Eirik Tsarpalis [Thu, 27 Jul 2023 20:16:12 +0000 (21:16 +0100)]
Improve serialization error message when IsReflectionEnabledByDefault is turned off. (#89578)
* Improve serialization error message when IsReflectionEnabledByDefault is turned off.
* Update trimming tests
Aaron Robinson [Thu, 27 Jul 2023 20:05:21 +0000 (13:05 -0700)]
Update `RuntimeEnvironment.GetSystemVersion()` (#89575)
This API is now emitting a valid version in alignment with
https://github.com/dotnet/runtime/issues/28788.
---------
Co-authored-by: Stephen Toub <stoub@microsoft.com>
Thays Grazia [Thu, 27 Jul 2023 19:48:11 +0000 (16:48 -0300)]
[wasm][debugger]Trying to improve CI performance for debugger-tests (#89525)
* Trying to improve CI performance for debugger-tests to avoid the crashes and the timeouts.
* Fixing one test and setting just my code TRUE as default.
* Fix compilation
* Fixing tests
* Fixing test behavior and adding comments suggested by @radical
Elinor Fung [Thu, 27 Jul 2023 19:07:39 +0000 (12:07 -0700)]
Make host tests use HostWriter to create apphost to test (#89523)
Eric StJohn [Thu, 27 Jul 2023 18:46:47 +0000 (11:46 -0700)]
Only register System.Diagnostics section on net7 and later (#89535)
Eirik Tsarpalis [Thu, 27 Jul 2023 17:58:37 +0000 (18:58 +0100)]
Fix #88628. (#89569)
Tanner Gooding [Thu, 27 Jul 2023 17:50:56 +0000 (10:50 -0700)]
Fixing the new V512 logic to properly negate the mask checks (#89522)
* Fixing the new V512 logic to properly negate the mask checks
* Adding regression tests for dotnet/runtime#89512
Aman Khalid [Thu, 27 Jul 2023 17:17:25 +0000 (13:17 -0400)]
Update description of DOTNET_JitStressProcedureSplitting (#89576)
When the JitStressProcedureSplitting mode was first implemented, we decided to
skip functions with exception handling, since we hadn't decided how to handle
cold EH funclets just yet. But for about a year now, JitStressProcedureSplitting has worked
with functions with EH funclets (see Compiler::fgDetermineFirstColdBlock), so its description
in jitconfigvalues.h should reflect this.
Jakob Botsch Nielsen [Thu, 27 Jul 2023 17:07:25 +0000 (19:07 +0200)]
JIT: Handle half accesses for SIMDs in local morph (#89520)
While it's not generally expected that halves can be accessed directly (ending
up with LCL_FLD), it sometimes happens in some of the SW implementations of
Vector256/Vector512 methods. In rare cases the JIT still falls back to these
even with there is HW acceleration. In those cases we want to avoid DNER'ing the
involved locals, so expand the existing recognition with these patterns.
Also add a check to the existing SIMD16 -> SIMD12 to verify the source is a
SIMD16.
Fix #85359
Fix #89456
Some size wise regressions are expected, which come down to
- A large number of similar looking tests end up now enregistering some locals
that cause new upper half saves/restores to be required. This accounts for
most of the size-wise regressions.
- The expansions often do not result in smaller code because loading/storing the
halves directly from/to stack is smaller code than the vector equivalent with
extraction/insertion.
Many of the regressions are in SW implementations of Vector256/Vector512 methods
that we usually do not expect to see called with HW acceleration supported.
Jakob Botsch Nielsen [Thu, 27 Jul 2023 17:05:52 +0000 (19:05 +0200)]
JIT: Set some limits in gtSplitTree stress testing (#89560)
These limits are hit only by the CseTest and ManyFields tests over all
our SPMI collections.
Fix #88028
David Wrighton [Thu, 27 Jul 2023 16:47:28 +0000 (09:47 -0700)]
Fix opt-cross-module using non version safe tokens (#89481)
* Fix issue where in some cases the compiler would generate references using tokens from modules not in the current module set.
Also add an assert to detect cases where this might happen
* Update src/coreclr/tools/aot/ILCompiler.ReadyToRun/Compiler/DependencyAnalysis/ReadyToRun/ModuleTokenResolver.cs
Co-authored-by: Theodore Tsirpanis <teo@tsirpanis.gr>
* Sigh. Missed another issue with the one line refactor
---------
Co-authored-by: Theodore Tsirpanis <teo@tsirpanis.gr>
Tomas Weinfurt [Thu, 27 Jul 2023 16:03:50 +0000 (09:03 -0700)]
use FindPython to also locate python3 (#89546)
Fan Yang [Thu, 27 Jul 2023 16:03:37 +0000 (12:03 -0400)]
[Mono] Look for Native Signal SIMD Context (#89467)
* Find Navtive Signal SIMD Context
* Fix coding format
* Set fregs to 0 when SIMD registers were not found
Miha Zupan [Thu, 27 Jul 2023 15:58:47 +0000 (17:58 +0200)]
Try to improve EventSource_ParallelRequests_LogsNewConnectionIdForEachRequest reliability (#89192)
Closes #89035.
Michal Strehovský [Thu, 27 Jul 2023 14:55:19 +0000 (23:55 +0900)]
Remove `AssemblyMetadata(".NETFrameworkAssembly", "")` attributes (#89490)
* Remove `AssemblyMetadata(".NETFrameworkAssembly", "")` attributes
This is likely a .NET Native leftover that is currently (ironically) breaking .NET Native. This attribute indicates to the .NET Native compiler that the assembly can be trimmed.
We're currently setting this on assemblies that no longer carry RD.XML to make this safe. Without this attribute, the assembly will be treated like any other and not trimmed.
Fixes #44697.
* Delete mention of the attribute in docs
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Natalia Kondratyeva [Thu, 27 Jul 2023 14:51:43 +0000 (15:51 +0100)]
[HttpClientFactory] Add tests for all simple SocketsHttpHandler properties (#89202)
* Add tests for all simple SocketsHttpHandler properties
* Fix typo
Maksim Golev [Thu, 27 Jul 2023 14:38:06 +0000 (18:38 +0400)]
Setting RequiredMemberAttribute usage as inherited. (#89418)
* fix(86031): Processing "RequiredMemberAttribute" by whole type hierarchy.
* fix(86031): Optimization of calculation for RequiredMemberAttribute checking requirements.
* feat(86031): Adding additional tests for inheritance with required modifiers.
* fix(86031): Fix invalid number conversion for early existed tests.
* fix(86031): Fixes of formatting.
* fix(86031): Removing FluentAssertions dependency.
* Update src/libraries/System.Text.Json/tests/System.Text.Json.SourceGeneration.Tests/System.Text.Json.SourceGeneration.Tests.targets
* Update src/libraries/System.Text.Json/src/System/Text/Json/Serialization/Metadata/DefaultJsonTypeInfoResolver.Helpers.cs
---------
Co-authored-by: Maksim Golev <mgolev@htc-cs.ru>
Co-authored-by: Eirik Tsarpalis <eirik.tsarpalis@gmail.com>
Jo Shields [Thu, 27 Jul 2023 14:31:37 +0000 (10:31 -0400)]
Improve default cross compiler state (#88917)
* Move AOT variable setting to BuildMonoCross target
* Ensure a value for AotHostOS/AotHostArchitecture if not specified
* improve wasm windows special-case
Johan Lorensson [Thu, 27 Jul 2023 14:04:42 +0000 (16:04 +0200)]
[Mono] Fix for EventPipe ep_rt_temp_path_get off by 1 issue. (#89438)
* Fix Mono ep_rt_temp_path_get off by 1 issue.
* Add native EventPipe test for ep_rt_temp_path_get.
* Fix build error.
Eirik Tsarpalis [Thu, 27 Jul 2023 12:13:27 +0000 (13:13 +0100)]
Ensure System.Text.Json SG diagnostics don't use Location values from referenced assemblies. (#89518)
Milos Kotlar [Thu, 27 Jul 2023 12:00:29 +0000 (14:00 +0200)]
Use RecursiveDir property to create app bundle for Helix (#89508)
Ilona Tomkowicz [Thu, 27 Jul 2023 11:59:47 +0000 (13:59 +0200)]
Enable - should be already fixed. (#89551)
Matous Kozak [Thu, 27 Jul 2023 10:54:54 +0000 (12:54 +0200)]
ExtractMSB arm64 LLVM + refactor mini JIT op codes (#89431)
Pavel Savara [Thu, 27 Jul 2023 09:50:38 +0000 (11:50 +0200)]
[browser][http] test and compatibility improvements (#89504)
Sven Boemer [Thu, 27 Jul 2023 09:10:34 +0000 (02:10 -0700)]
Remove illink test workaround for removed declaring type (#89529)
Jakob Botsch Nielsen [Thu, 27 Jul 2023 08:47:55 +0000 (10:47 +0200)]
JIT: Set method context for delegate GDV (#89499)
Instead of passing through the IL context, update the method context to
be the exact method that were recorded in the delegate (which will
include the full instantiation).
Also do a bit of clean up.
Fix #89495
Eric StJohn [Thu, 27 Jul 2023 07:36:50 +0000 (00:36 -0700)]
Remove unused suppressions for System.Linq.Expressions (#89524)
Andrew Au [Thu, 27 Jul 2023 05:26:32 +0000 (22:26 -0700)]
Flush the gclog after GC (#88222)
Tanner Gooding [Thu, 27 Jul 2023 05:03:12 +0000 (22:03 -0700)]
Ensure that `EqualsAny(x & y, Zero)` uses the right `GenCondition` (#89544)
* Adding more tests covering specialzied vector comparisons against zero
* Ensure that `EqualsAny(x & y, Zero)` uses the right `GenCondition`
Aaron Robinson [Thu, 27 Jul 2023 04:08:48 +0000 (21:08 -0700)]
IUnknown is also valid for IClassFactory (#89540)
Michal Strehovský [Thu, 27 Jul 2023 03:31:53 +0000 (12:31 +0900)]
Disable networking in XML resolver in AOT compilers (#89489)
Use the switch introduced in #84169. The AOT compilers don't need this. Speeds up the build by a couple seconds because we no longer compile garbage. Shrinks size of ilc.exe from 15.2 MB to 11.1 MB.
One the Native AOT side, this will only kick in once we update the SDK used to build the repo to something that has this (RC1?). On the crossgen2 side this takes effect immediately.
Carlos Sánchez López [Thu, 27 Jul 2023 02:29:08 +0000 (19:29 -0700)]
Fix hits for additional case added to analyzer CA2249 (#89542)
Andrew Au [Thu, 27 Jul 2023 01:49:10 +0000 (18:49 -0700)]
Trim trailing space (#89541)
Carlos Sánchez López [Thu, 27 Jul 2023 01:33:39 +0000 (18:33 -0700)]
Fix hits for new analyzer CA1862 (#89539)
Tomas Weinfurt [Thu, 27 Jul 2023 00:16:37 +0000 (17:16 -0700)]
handle QUIC_STATUS_ADDRESS_NOT_AVAILABLE (#89362)
* handle QUIC_STATUS_ADDRESS_NOT_AVAILABLE
* Update src/libraries/System.Net.Quic/src/System/Net/Quic/Interop/msquic.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>
Elinor Fung [Wed, 26 Jul 2023 22:32:59 +0000 (15:32 -0700)]
Check for dotnet.dll when enumerating SDK paths (#89333)
The host treats the existence of a versioned folder under sdk as a valid SDK path. We've seen this cause confusion as users can end up in this state without their knowledge (for example, uninstall leaves an empty folder - which would normally be harmless, except when we try to use it as a valid SDK).
This adds a check for dotnet.dll instead of just the existence of the directory.
Tarek Mahmoud Sayed [Wed, 26 Jul 2023 21:36:33 +0000 (14:36 -0700)]
Fix TraceSwitch to synchronize the Value and Level properties (#89278)
Qiao Pengcheng [Wed, 26 Jul 2023 21:00:34 +0000 (05:00 +0800)]
[LoongArch64] fix the compiling errors within the CLFS linux (#89422)
* [LoongArch64] fix the compiling errors after
the linux-kernel and llvm had supported the LoongArch.
* amend code for CR.
* fix the error for code formate.
Stephen Toub [Wed, 26 Jul 2023 20:29:06 +0000 (16:29 -0400)]
Improve case-insensitive prefix extraction in Regex (#89449)
I hit this when writing a benchmark I expected to work well and found that it didn't. In .NET 8 we now extract a prefix to search for even if it's OrdinalIgnoreCase, but we weren't skipping over zero-width assertions, which meant a simple search like "\bword\b" with IgnoreCase would not find the text "word".
Miha Zupan [Wed, 26 Jul 2023 19:54:38 +0000 (21:54 +0200)]
Improve Http test timeout exception information (#89505)
* Improve Http test timeout exception information
* Fix TestHelper references
Stephen Toub [Wed, 26 Jul 2023 17:59:24 +0000 (13:59 -0400)]
Avoid some rune iteration in GetEncodedTruncatedBytesFromString (#89458)
When the Zip/TarArchive is using UTF8 as an encoding, it iterates through all the runes in the input to determine how much of the encoded text it can fit in the specified limit. We don't need to do that in the common case where the input is guaranteed to fit because the maximum length of a UTF8 payload is under the specified max.
Pavel Savara [Wed, 26 Jul 2023 17:55:30 +0000 (19:55 +0200)]
[browser] enable mono_gc_is_critical_method for MT build (#88735)
Jakob Botsch Nielsen [Wed, 26 Jul 2023 17:29:32 +0000 (19:29 +0200)]
SPMI: Fix a couple of replay/record bugs (#89443)
* Avoid mutating constrained token in CEEInfo::getCallInfo
For certain calls the EE would modify the constrained token passed to
getCallInfo. This token is an in-argument, and SPMI does not expect it
to be modified. Fix the EE to make a local copy when it needs to mutate
it.
* SPMI: Fix treatment of CORINFO_FLG_BAD_INLINEE during replay
- Save union of method attributes set by the JIT from
recSetMethodAttribs calls
- Fix bit handling in repGetMethodAttribs
- Add the same method attribs handling to repGetCallInfo that
repGetMethodAttribs has
This fixes an issue where we could have recorded an old result of
getCallInfo without CORINFO_FLG_DONT_INLINE set. If the JIT then calls
repSetMethodAttribs(CORINFO_FLG_BAD_INLINEE) this would not be reflected
in subsequent calls to getCallInfo, causing possible misses.
Carlos Sánchez López [Wed, 26 Jul 2023 16:58:31 +0000 (09:58 -0700)]
Add System.IO.Packaging test that checks with reflection that the ZipArchiveEntry general purpose bit flag unicode value is unset. (#88978)
Jan Vorlicek [Wed, 26 Jul 2023 16:48:32 +0000 (18:48 +0200)]
Set the CORINFO_EH_CLAUSE_SAMETRY on CORINFO_EH_CLAUSE (#88072)
* Set the CORINFO_EH_CLAUSE_SAMETRY on CORINFO_EH_CLAUSE
This change makes setting the `CORINFO_EH_CLAUSE_SAMETRY` on
`CORINFO_EH_CLAUSE` to happen for coreclr to. It is a prerequisity for the
port of exception handling from nativeaot to coreclr and it is a noop on
coreclr with the old exception handling.
* Fix comments
* Add clr-abi note and r2rdump support for the flag
* Fix markdown LINT error
* Update docs/design/coreclr/botr/clr-abi.md
* Update docs/design/coreclr/botr/clr-abi.md
* Update the ABI doc
---------
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Eirik Tsarpalis [Wed, 26 Jul 2023 15:54:13 +0000 (16:54 +0100)]
Fix STJ source gen support for System.BinaryData. (#89454)
* Fix STJ source gen support for System.BinaryData.
* remove redundant sealed keyword from converter overrides
* Generate compatibility suppressions
* Add comment to compatibility suppressions
Marie Píchová [Wed, 26 Jul 2023 14:29:36 +0000 (16:29 +0200)]
[HTTP] Catch and ignore exception from an external server (#89452)
* Catch and ignore exception from an external server
* Update src/libraries/Common/tests/System/Net/Http/HttpClientHandlerTest.RemoteServer.cs
Co-authored-by: Miha Zupan <mihazupan.zupan1@gmail.com>
* Fixed framework build
---------
Co-authored-by: Miha Zupan <mihazupan.zupan1@gmail.com>
Egor Bogatov [Wed, 26 Jul 2023 14:17:12 +0000 (16:17 +0200)]
Add test case for RavenDB's AV issue (#89493)
Thays Grazia [Wed, 26 Jul 2023 14:04:04 +0000 (11:04 -0300)]
[wasm][debugger] Adding test for #42421 (#89395)
* Adding test for #42421
* Remove pdb to simulate the same scenario that a customer has.
* Fix tests that have a different behavior without system.private.corelib.pdb
Radek Doulik [Wed, 26 Jul 2023 12:58:58 +0000 (14:58 +0200)]
[wasm] Do not set -msimd128 in the default rsp (#89433)
* [wasm] Do not set -msimd128 in the default rsp
This is the first part of changes to make wasm/SIMD optional again,
https://github.com/dotnet/runtime/issues/89302
* Feedback
* Feedback
* Update the tests, we force relink with SIMD disabled now
Jan Dupej [Wed, 26 Jul 2023 11:48:29 +0000 (13:48 +0200)]
[mono] MarshalingPInvokeScanner tolerates DLLs without metadata (#89430)
* Acquire MetadataReader under try.
* Logging failed metadata access.
* Update src/tasks/MonoTargetsTasks/MarshalingPInvokeScanner/MarshalingPInvokeScanner.cs
Co-authored-by: Theodore Tsirpanis <teo@tsirpanis.gr>
---------
Co-authored-by: Theodore Tsirpanis <teo@tsirpanis.gr>
Alexander Köplinger [Wed, 26 Jul 2023 11:39:39 +0000 (13:39 +0200)]
Fix outerloop.yml (#89497)
Lakshan Fernando [Wed, 26 Jul 2023 09:19:09 +0000 (02:19 -0700)]
Generates a guid for activity id (#88838)
* Fixes the way activity id is generated
* FB
* FB
* FB
* Apply suggestions from code review
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
* letting each library specify the config.h
* Add needed constants to minipalconfig
* triggering random constants in configure.cmake
* FB
---------
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Šimon Rozsíval [Wed, 26 Jul 2023 09:12:08 +0000 (11:12 +0200)]
[Android] Enable skipped networking tests (#89232)
Egor Bogatov [Wed, 26 Jul 2023 08:42:30 +0000 (10:42 +0200)]
Use proper context in initClass for GDV (#87847)
Co-authored-by: David Wrighton <davidwr@microsoft.com>
Jeremy Koritzinsky [Wed, 26 Jul 2023 00:02:55 +0000 (17:02 -0700)]
Fix issue references in ConvertToLibraryImportAnalyzerTests (#89225)
Buyaa Namnan [Tue, 25 Jul 2023 23:23:47 +0000 (16:23 -0700)]
Include TypeNameBuilder.cs from CoreLib instead of copying the file over (#89144)
SingleAccretion [Tue, 25 Jul 2023 22:40:47 +0000 (01:40 +0300)]
Delete an unused Span class from object.h (#89464)
David Wrighton [Tue, 25 Jul 2023 21:30:50 +0000 (14:30 -0700)]
Fix failure to generate ngen pdb in crossgen (#89415)
* Fix issue in R2R compilation where we would compile a method we could not generate a name for
- This is caused by the the type of a parameter having a generic parameter which derived from a type not found in the compilation information
- There are 2 fixes here
1. Change the logic for computing the set of compilable methods to require that all parameters are loadable
2. Change the implementation of loadable types to check generic instantiations for loadability
- This required implementing a stack system to check types for loadability, as loading can require circular references to be resolved.
- Add a check that the instantiation types of an instantiated generic are loadable.
- Generic interfaces on arrays work now, so enable the the constraint checking logic.
Zoltan Varga [Tue, 25 Jul 2023 21:26:43 +0000 (17:26 -0400)]
[mono] Disable gsharing when Unsafe.ReadUnaligned/WriteUnaligned () is used with generic structures. (#89417)
Fixes https://github.com/dotnet/runtime/issues/89398.
For a method like
```
static void Write<T>(ref byte b, T value) => Unsafe.WriteUnaligned<T>(ref b, value);
```
And an instance ```Write<GStruct<string>>```, generic sharing will create a ```Write<T_INST>```
instance where T_INST is constrained to GStruct<T_REF>. The JIT currently calls
```mini_get_underlying_type ()``` in many places which transform T_INST into GStruct<T_REF>.
This causes problems at runtime in the generic sharing code, which expects to find T_INST.
I.e. ```inflate_info ()``` can inflate ```T_INST``` to ```GStruct<string>```, but it can't inflate
```GStruct<T_REF>``` to ```GStruct<string>```.
As a workaround, disable gsharing in (some) of these cases.
Eric StJohn [Tue, 25 Jul 2023 20:31:37 +0000 (13:31 -0700)]
Address unused suppressions (#89216)
* Address unused suppressions
* Remove unnecssary MaybeNullAttribute
* Ensure ApiCompatSuppressionFile is set in outer build
Tanner Gooding [Tue, 25 Jul 2023 20:14:21 +0000 (13:14 -0700)]
Allow multiple kmask registers to be allocated and cleanup some codegen around them (#89059)
* Allow multiple kmask registers to be allocated and cleanup some codegen around them
* Apply formatting patch
* Fix an assert to include TYP_STRUCT
* Ensure kmask registers aren't in the default killset
* Apply formatting patch
* Move the kmask optimizations up to morph
* Ensure unique VN for ConvertMaskToVector
* Ensure some basic other handling for kmask testing is handled
* Improve the implementation for some managed Vector512 code paths
* Apply formatting patch
* Ensure that the knot intrinsic is inserted into the IR
* Apply formatting patch
* Ensure the conversion of CompareEqualMask(x, zero) to Test(x, x) doesn't happen for floating-point
* Have callee/callerSaveRegs() use an array based lookup
* Respond to PR feedback and try to reduce TP regression more
* Ensure PTEST doesn't try to handle something utilizing embedded broadcast
Pavel Savara [Tue, 25 Jul 2023 19:04:35 +0000 (21:04 +0200)]
[browser] detect SIMD and EH support (#89387)
Co-authored-by: Ankit Jain <radical@gmail.com>
Pavel Savara [Tue, 25 Jul 2023 19:01:23 +0000 (21:01 +0200)]
[browser] only trace ExitStatus stack trace if `diagnosticTracing` is true (#89432)
Steve Harter [Tue, 25 Jul 2023 18:32:36 +0000 (13:32 -0500)]
Remove nullable return from ConstructorInvoker.Invoke() (#89448)
Egor Bogatov [Tue, 25 Jul 2023 17:59:52 +0000 (19:59 +0200)]
Support non-ascii in fgVNBasedIntrinsicExpansionForCall_ReadUtf8 (#89383)
Mike Voorhees [Tue, 25 Jul 2023 17:50:53 +0000 (13:50 -0400)]
Get the normal event accessors generated (#89441)
Because System.Threading.dll was not referenced, this led to Roslyn generating the Delegate.Combine based accessor which does not have any locals. https://github.com/dotnet/roslyn/blob/
520e2f10078ab0e5f85c78fdd95d786d78b9676a/src/Compilers/CSharp/Portable/Compiler/MethodBodySynthesizer.cs#L323-L520
In our UnityLinker test framework we have 2 cases currently. Mono, which will reference mscorlib.dll, and Roslyn will find `System.Threading.Interlocked.CompareExchange` and use the normal approach.
And currently I have our coreclr tests referencing System.Threading.dll for no great reason. This is how I stumbled on this.
While this change isn't strictly necessary, I think it's better to have coverage on the `System.Threading.Interlocked.CompareExchange` approach because that's what would normally be generated. It's also the more complex case for the linker to handle since it has to clear the locals.
Alexander Köplinger [Tue, 25 Jul 2023 17:39:04 +0000 (19:39 +0200)]
Fixes for outerloop-mono.yml (#88743)
Consolidate configurations and disable failing tests with ActiveIssue.
Fan Yang [Tue, 25 Jul 2023 17:25:55 +0000 (13:25 -0400)]
[Mono] UnsafeAccessor: Support ambiguous method match (#89217)
* Support Ambiguous Match
* Stop unsafe accessor method lookup from walking the type hierarchy. And address the review feedback
* Handle the AmbiguousMatchException
* Fix test failure
* Adjust Mono function pointer comparison behavior to match with CoreCLR
* Fix ambiguous match
* Enable Verify_InheritanceMethodResolution
* Remove redundant curly braces
* Address review feedback
Eirik Tsarpalis [Tue, 25 Jul 2023 16:49:48 +0000 (17:49 +0100)]
Disable failing test. (#89442)
Steve Harter [Tue, 25 Jul 2023 15:46:11 +0000 (10:46 -0500)]
Enable Mono for using faster invoke stubs (#89108)
Ankit Jain [Tue, 25 Jul 2023 15:32:39 +0000 (11:32 -0400)]
[wasm] WBT fixes, and rationalization to allow improved testing (#89360)
* Move DotNetFileName.cs, and TestUtils.cs to Common
* Move some types from BuildTestBase.cs to separate files
- FileStat
- BuildPaths
- BlazorBuildOptions
- GlobalizationMode
* Move AssertTestMainJsAppBundleOptions.cs to Common
* Instead of globalizationMode=null use GlobalizationMode.Default
* Merge behaviors for the various project types
- Move parsing bootjson, checking icu assets, symbols to ProviderBase, so it can
be used by all the project types. These come from WasmAppBuilder which
is shared by all the projects.
- Instead of multiple separate ways to build the project, use one
`BuildTestBase.BuildWithoutAssert` method that uses `DotNetCommand` to
build. And all the project types can use this.
- This allows having any build customizations or fixes to be in once
place, and the outputs to be consistent.
- Instead of having `UseWebcil` in various option types, use it directly
as needed, because this setting is *not* changed per test, rather it
is fixed per run.
- Rationalize figuring out bin framework directories
Known limitations:
- Wasm template tests use a TestMainJs provider to assert the bundle
because the templates are not yet based on wasm sdk.
- Blazor has a bug due to which all the icu assets get deployed
irrespective of settings, so asserting that is disabled.
- Also, blazor does not yet support symbols file.
* Update tests to track api changes
* CI: don't trigger jobs when WasmBuild.sln changes
* Address feedback from @ilonatommy
* Address feedback from @ilonatommy - simplify icu assert code
Thays Grazia [Tue, 25 Jul 2023 15:21:58 +0000 (12:21 -0300)]
Adding test for #80049 (#89399)
Jakob Botsch Nielsen [Tue, 25 Jul 2023 14:57:51 +0000 (16:57 +0200)]
Run Antigen/Fuzzlyn on Saturdays too (#89426)
Up the frequency of the Antigen and Fuzzlyn runs to also run on
Saturdays during these last weeks of .NET 8 development.
Eirik Tsarpalis [Tue, 25 Jul 2023 11:29:56 +0000 (12:29 +0100)]
Fix System.BinaryData tests failing in AOT. (#89381)
Ivan Povazan [Tue, 25 Jul 2023 11:27:31 +0000 (13:27 +0200)]
[NativeAOT] Refactor Linq feature switches (#89308)
Pavel Savara [Tue, 25 Jul 2023 10:52:49 +0000 (12:52 +0200)]
fix NodeJS fetch detection (#89393)
Radek Doulik [Tue, 25 Jul 2023 10:39:31 +0000 (12:39 +0200)]
[wasm] Make PackedSimd.Shuffle internal (#89401)
We don't want it public until we fix the llvm/aot compiler crash
Alexander Köplinger [Tue, 25 Jul 2023 09:16:47 +0000 (11:16 +0200)]
Bump timeout in runtime-extra-platforms-ioslike.yml (#89400)