Jonathan [Thu, 28 Apr 2022 20:35:59 +0000 (22:35 +0200)]
Use file-scoped namespaces (#68295)
Use modern file-scoped namespaces instead of legacy namespaces
Tanner Gooding [Thu, 28 Apr 2022 19:34:39 +0000 (12:34 -0700)]
Fixing some bad inheritdoc comments (#68664)
Danyy427 [Thu, 28 Apr 2022 19:23:46 +0000 (22:23 +0300)]
Removed TempFile and TempDirectory from FileSystemWatcher Tests (#68444)
* Removed TempFile and TempDirectory from FileSystemWatcher Tests
* Added missing CreateDirectory
* Removed redundant variables
* removed redundant variable
Co-authored-by: Dan Moseley <danmose@microsoft.com>
* removed redundant variable
Co-authored-by: Dan Moseley <danmose@microsoft.com>
* removed redundant variable
Co-authored-by: Dan Moseley <danmose@microsoft.com>
* Fixed directory name
* Reverted changes
* Simplified
* made local tests
* substituted methods
* fix
Co-authored-by: Dan Moseley <danmose@microsoft.com>
* Update src/libraries/Common/tests/TestUtilities/System/IO/FileCleanupTestBase.cs
spacing
Co-authored-by: Dan Moseley <danmose@microsoft.com>
* spacing
Co-authored-by: Dan Moseley <danmose@microsoft.com>
* remove redundant file creation
Co-authored-by: Dan Moseley <danmose@microsoft.com>
* fixes
* fix
* applied suggestions, removed redundant variables
* spacing
* Fix casing bug
Co-authored-by: Dan Moseley <danmose@microsoft.com>
Jakob Botsch Nielsen [Thu, 28 Apr 2022 19:18:52 +0000 (21:18 +0200)]
Remove gtSetCallArgsOrder quirk (#68621)
This quirk was added during the call args refactoring because the 'this'
argument had special handling before that.
Jan Kotas [Thu, 28 Apr 2022 19:09:23 +0000 (12:09 -0700)]
Fix interop source generator error message to match the approved API surface (#68635)
* Fix interop source generator error message to match the approved API surface
* Auto-update of localization files
Aaron Robinson [Thu, 28 Apr 2022 18:49:18 +0000 (14:49 -0400)]
Remove the BBSweep header and uses (#68643)
Elinor Fung [Thu, 28 Apr 2022 16:25:37 +0000 (09:25 -0700)]
Use SYSLIB prefix for all LibraryImportGenerator diagnostics (#68613)
Thays Grazia [Thu, 28 Apr 2022 15:41:17 +0000 (12:41 -0300)]
Check if the page is already loaded before connect and start debugging. (#68620)
Krzysztof Wicher [Thu, 28 Apr 2022 14:27:30 +0000 (16:27 +0200)]
Lock EnsureConfigured to prevent initialization issues in JsonTypeInfo (#68605)
* Lock EnsureConfigured to prevent initialization issues in JsonTypeInfo
* do not use this for lock, ensure we call Configure from lock
Radek Doulik [Thu, 28 Apr 2022 13:57:52 +0000 (15:57 +0200)]
[wasm] print full json results of bench sample (#68594)
For console version with -j option
Andy Gocke [Thu, 28 Apr 2022 13:51:30 +0000 (06:51 -0700)]
Pass build id to clang on Unix for NativeAOT (#68638)
Tanay Parikh [Thu, 28 Apr 2022 13:29:44 +0000 (06:29 -0700)]
Maui Blazor Hybrid Android Performance Profiling (#68628)
* [MAUI][Blazor][PERF] Add APK file usage for Android Maui Blazor SOD
* Update android_scenarios.proj
* Call ReportFullyDrawn
* Add --use-fully-drawn-time --fully-drawn-extra-delay
* Add System.Console.WriteLine for non-android platforms
* Add 6 second delay
* Missing `;`
* Add back Directory.Build.{props, targets}
(cherry picked from commit
28d9ef3ab4ac53b947dd435e6494428238b4dea5)
* Fixes based on CI 1729796
https://dev.azure.com/dnceng/internal/_build/results?buildId=1729796&view=logs&j=
4d93e3ae-0b8e-5532-bed2-
af5c8a7c58d3&t=
b13dec14-3eb2-5f1a-4501-
8a9fdadb0e3a
(cherry picked from commit
d470655576d3abe6a6fec478c221c4d9de698ba9)
* [REVERT THIS] Temporarily skip other jobs
(cherry picked from commit
df51582df9e7bb9d1ca82759d664823c76823c29)
* Revert "[REVERT THIS] Temporarily skip other jobs"
This reverts commit
54fa30d876e2be0fef82883033d8fb027de2a150.
Viktor Hofer [Thu, 28 Apr 2022 13:04:26 +0000 (15:04 +0200)]
Minimize the build graph by deleting unnecessary references (#68603)
* Minimize the build graph by deleting references
Minimizing projects' dependency graph. There are tons of unnecessary
Reference and ProjectReference items which aren't required anymore as
the referenced projects became full facade assemblies. Removing those
from a leaf's graph makes the graph smaller and therefore the project's
evaluation and build faster.
* Update src/libraries/System.Net.Quic/ref/System.Net.Quic.csproj
Co-authored-by: Jeremy Barton <jbarton@microsoft.com>
* Update Versions.props
Co-authored-by: Jeremy Barton <jbarton@microsoft.com>
Jakob Botsch Nielsen [Thu, 28 Apr 2022 11:27:48 +0000 (13:27 +0200)]
Remove GTF_LATE_ARG (#68617)
This serves no purpose anymore after the call args refactoring and
removing stores as call operands in LIR.
SingleAccretion [Thu, 28 Apr 2022 09:06:29 +0000 (12:06 +0300)]
Delete `CLS_VAR` (#68524)
* Do not add casts on top of CLS_VAR
ApplySelectorsTypeCheck already adds the cast in case it
is necessary, and VN does support small-typed operands.
* Stop generating CLS_VAR
* Delete CLS_VAR
SingleAccretion [Thu, 28 Apr 2022 08:59:54 +0000 (11:59 +0300)]
Always set IND_NONFAULTING for not-null addresses (#68518)
The previous code didn't do that in case the address had an
EXCEPT side effect, but that is a needless pessimization.
Andy Ayers [Thu, 28 Apr 2022 05:28:55 +0000 (22:28 -0700)]
JIT: fix bad arm64 move peephole (#68631)
`IF_DR_2G` `(mov sp/reg, reg/sp)` has an implicit reg2, so an unwary peephole opt
might mistakenly think it is `mov reg, x0`. If the opt is unlucky and the next
instruction is a real `mov reg, x0` the peephole opt might suppress the second
instruction, leaving the wrong value in `reg`.
Fix is to just disallow `IF_DR_2G` in the peephole.
Fixes #68527.
dotnet-maestro[bot] [Thu, 28 Apr 2022 04:01:15 +0000 (21:01 -0700)]
[main] Update dependencies from dotnet/linker (#68547)
* Update dependencies from https://github.com/dotnet/linker build
20220426.3
Microsoft.NET.ILLink.Tasks
From Version 7.0.100-1.22222.1 -> To Version 7.0.100-1.22226.3
* Remove dead code type that generates analyzer warning
Jan Kotas [Thu, 28 Apr 2022 01:07:28 +0000 (18:07 -0700)]
Update AOT toolchain target to NetCoreAppToolCurrent (#68606)
Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
Co-authored-by: Adeel Mujahid <3840695+am11@users.noreply.github.com>
Jan Kotas [Thu, 28 Apr 2022 00:51:48 +0000 (17:51 -0700)]
Delete .NET Framework ildasm headers from test sources (#68614)
t-mustafin [Wed, 27 Apr 2022 22:48:12 +0000 (01:48 +0300)]
crossgen2: Add --imagebase option (#65567)
--imagebase option set preferable ImageBase field to output PE-file
Aaron Robinson [Wed, 27 Apr 2022 22:25:13 +0000 (18:25 -0400)]
Update the ILAsm and SDK packages to support the new keyword. (#68598)
Thays Grazia [Wed, 27 Apr 2022 21:29:26 +0000 (18:29 -0300)]
fix stuck when trying to kill process (#68573)
Jan Vorlicek [Wed, 27 Apr 2022 19:55:22 +0000 (21:55 +0200)]
Rework unloadability fix (#68550)
* Rework the unloadability fix
The recent fix had a problem when GC collected the managed Assembly
loaded via the Load override or the Resolving event before we added the
reference between the related native LoaderAllocators. The managed
LoaderAllocator of the ALC we've loaded the Assembly into was collected
and we couldn't create the managed Type objects for the interfaces from
that assembly in the GetInterfaces call on a type that implemented
those.
This change fixes it by moving the creation of reference between the
native LoaderAllocators to the RuntimeInvokeHostAssemblyResolver where
we still have a live managed reference to the loaded Assembly.
* Move clearing of the m_pAssemblyLoaderAllocator to a later stage
* Throw exception on collectible assembly in non-collectible ALC
* Update the ResolvedFromDifferentContext test
Make it test that we throw an exception when the parent ALC is not
collectible.
Adam Sitnik [Wed, 27 Apr 2022 19:51:06 +0000 (21:51 +0200)]
skip the test when dotnet.exe is locked (#66196)
* when dotnet.exe is locked, wait a little bit and try few more times
* just skip this test when it's impossible to start dotnet.exe
* grant access to the working directory as well (hopefully to avoid access denied)
* handle lack of working directory specified in explicit way
Jakob Botsch Nielsen [Wed, 27 Apr 2022 19:38:44 +0000 (21:38 +0200)]
Remove stores as operands of calls in LIR (#68460)
These are part of operands in HIR simply for ordering purposes, which is
no longer necessary in LIR. This means that every argument operand in
LIR now has exactly one node, which between rationalization and lowering
is always a value.
We still have cases of operands that are non-values, in particular the
operand of GT_JTRUE nodes and also GT_PUTARG_STK nodes after lowering.
However, at least for calls the LIR invariant is now simpler: before
lowering all argument operands are values, and after all argument
operands are GT_PUTARG_* nodes.
Not having stores as operands will also allow us to get rid of
GTF_LATE_ARG in a follow-up change.
Stephen Toub [Wed, 27 Apr 2022 18:30:37 +0000 (14:30 -0400)]
Clean up NonBacktracking doubly-linked changes (#68514)
Andrew Au [Wed, 27 Apr 2022 18:13:05 +0000 (11:13 -0700)]
Close the xml quote in markdown (#68609)
ta264 [Wed, 27 Apr 2022 15:50:47 +0000 (16:50 +0100)]
Fix linux-x86 compilation for clr.alljits subset (#68046)
Pent Ploompuu [Wed, 27 Apr 2022 15:44:51 +0000 (18:44 +0300)]
Clean-up CacheEntry (#59110)
John Salem [Wed, 27 Apr 2022 15:39:21 +0000 (08:39 -0700)]
Fix Missing Metadata for ThreadPool Event (#67150)
SingleAccretion [Wed, 27 Apr 2022 15:37:14 +0000 (18:37 +0300)]
Copy the SSA name when cloning locals (#68482)
* Copy SSA names when cloning in-SSA locals
Assert that we're only doing so for uses -- cloning defs was and still is not supported.
* Add a test
* Undo the LCL_VAR_ADDR addition
It is simply not correct, "gtNewLclvNode" only produces "LCL_VAR"s...
Andy Ayers [Wed, 27 Apr 2022 15:32:22 +0000 (08:32 -0700)]
JIT: add standard range enable for register stress (#68574)
Add `COMPlus_JitStressRegsRange` to specify a subset of methods that should be
subjected to register stress. The range is the standard method hash range,
for example:
```
COMPlus_JitStressRegsRange=
FD400000-
FD4FFFFF
```
Remove the older non-standard bits that did something similar, along with the
version based on method number, which tends to be less useful with modern tests like
libraries tests where jit order is never fully deterministic.
Dan Moseley [Wed, 27 Apr 2022 15:29:37 +0000 (09:29 -0600)]
Reduce leaked test files (#68522)
* add line num
* Remove RO attrib
* Dispose test file
* Cleanup readonly files
* Add more path entropy
* Add # prefix
* Robustify test against random paths
* Cleanup after Directory_Delete_str_bool
* Some more lingering
* Add IsUnixAndElevated and update tests to use conditionals
* Rename Elevated to SuperUser in Unix context
* typo
* Linux failures
* Fix net4.8 build
* Fix S.T.O leak
* Fix TWTL leak
* Set directories to writeable too
* naming
* comment
* comment
* Fix netfx failure
Co-authored-by: Tarun <gtarun047@gmail.com>
Viktor Hofer [Wed, 27 Apr 2022 15:27:56 +0000 (17:27 +0200)]
Fix VS complaining about missing projects in slns (continued) (#68543)
* Infra clean-up to simplify auto references
* Ref project file updates
* Src project file updates
* Test project file updates
David Fowler [Wed, 27 Apr 2022 14:48:42 +0000 (07:48 -0700)]
Add ValueTask pooling in more places (#68457)
- Use ValueTask pooling on StreamPipeReader.ReadAsync and ReadAtLeastAsync and StreamPipeWriter.FlushAsync
Günther Foidl [Wed, 27 Apr 2022 14:01:13 +0000 (16:01 +0200)]
Vectorized MemoryExtensions.CommonPrefixLength (#68210)
* Vectorized MemoryExtensions.CommonPrefixLength
* Tests
* Addressed feedback
* Update src/libraries/System.Private.CoreLib/src/System/SpanHelpers.Byte.cs
Co-authored-by: Tanner Gooding <tagoo@outlook.com>
Co-authored-by: Tanner Gooding <tagoo@outlook.com>
Thays Grazia [Wed, 27 Apr 2022 13:24:17 +0000 (10:24 -0300)]
[wasm][debugger] Rebind invalid breakpoints after receiving an update in that source file (#64462)
* Addressing what was discussed with @lewing offline.
* Addressing comments from code review and fixing merge.
* Fix merge
* Fixing merge
* Fix merge
Radek Doulik [Wed, 27 Apr 2022 12:55:35 +0000 (14:55 +0200)]
[wasm] Fix linux/arm64 build (#68492)
Don't checkout particular emscripten version and instead use main.
It is not needed and fixes linux/arm64 build, where precompiled version
is available in emscripten 3.1.7 and later versions.
The `emsdk install|activate <version>` doesn't work correctly for 3.1.7
tag and does with uptodate main.
It will still install and activate the emscripten version we want, like 3.1.7 currently.
Radek Zikmund [Wed, 27 Apr 2022 10:57:28 +0000 (03:57 -0700)]
Asynchronous opening of QuicStreams (#67859)
* Early draft of Open(Uni|Bidi)rectionalStreamAsync
* Improve exception handling
* Remove non-Async versions
* fixup! Improve exception handling
* Add tests
* fixup! Remove non-Async versions
* handle connection abort
* Minor change
* Fix build
* Code review feedback
* Remove WaitForAvailable* methods
* fixup! Remove WaitForAvailable* methods
* Remove CreateOuboundAsync static method
* Remove StartStatus
* Code review changes
* More code review changes
* Fix build
* Fix data race on locally closing the connection
* Code review feedback
* Remove PInvoke for reporting telemetry
* Minor fixes
* fixup! Minor fixes
* Regenerate ref source
* Fix exception type in test
Radek Zikmund [Wed, 27 Apr 2022 08:46:50 +0000 (01:46 -0700)]
Handle concurrent reads and concurrent writes on MsQuicStream (#67329)
* Throw on concurrent operations
* Remove redundant test
* Move _state.SendState access under a lock
* Fix data race on ReceiveResettableCompletionSource
* Remove unnecessary override
* Move task completion outside of the lock
* Fix failing tests
* Update comments
* Add missing case
* fixup! Add missing case
dotnet bot [Wed, 27 Apr 2022 08:40:03 +0000 (01:40 -0700)]
Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 1739550 (#68575)
Jakob Botsch Nielsen [Wed, 27 Apr 2022 08:31:37 +0000 (10:31 +0200)]
JIT ARM32: Fix wrong emitAttr passed for loads/stores in PUTARG_STK (#68540)
On arm architectures the small load/store instructions all work larger
registers and for loads the instruction automatically normalizes the
result. Due to this we always expect to pass the normalized size for
loads/stores when generating these instructions, but in this particular
place we did not do so, resulting in asserts on arm32.
On arm64 the function ignores the size so nothing happens.
Fix #60827
Koundinya Veluri [Wed, 27 Apr 2022 03:44:09 +0000 (20:44 -0700)]
Remove an unnecessary assertion in tiering (#68577)
Fixes https://github.com/dotnet/runtime/issues/65914
Aleksey Kliger (λgeek) [Wed, 27 Apr 2022 03:43:09 +0000 (23:43 -0400)]
[wasm-mt] fix build config logic error, and pthread_getschedparam initialization (#68563)
* follow code style
* [threads] initialize pthreads_getschedparam policy
On Emscripten, pthreads_getschedparam doesn't write to its output variables, so set them to good initial values
* [wasm-mt] fix logic error in wasm.proj / CMakeLists.txt
The wasm CMakeLists.txt defaults DISABLE_THREADS to ON, so instead set it to _off_ when MonoWasmThreads is true, and leave it at the default value (ie off) otherwise.
Elinor Fung [Wed, 27 Apr 2022 03:20:17 +0000 (20:20 -0700)]
Remove assert from LibraryImportGenerator (#68579)
Travis Illig [Wed, 27 Apr 2022 02:36:29 +0000 (19:36 -0700)]
Add DI spec tests for scope factory singleton, hierarchical scopes (#68517)
* Spec tests for scope factory, scope hierarchy
Add DI specification tests to ensure that conforming container
implementations:
- Implement IServiceScopeFactory as a singleton.
- Provide service scopes that all branch from the container and are not
hierarchical.
Fix #67391
* Skip new tests that don't pass on external DI.
* Autofac supports IServiceProviderIsService.
* Revert Autofac support IServiceProviderIsService.
Tests fail during CI build but succeed locally. Reverting change to
troubleshoot later.
Koundinya Veluri [Wed, 27 Apr 2022 02:34:41 +0000 (19:34 -0700)]
Use `TempFile` in a test instead of `Path.GetTempFileName()` (#68576)
Addresses https://github.com/dotnet/runtime/pull/68171#discussion_r853528453
Stephen Toub [Wed, 27 Apr 2022 02:34:23 +0000 (22:34 -0400)]
Add a few more Regex timeout tests (#68567)
And improve some of the comments
Andy Gocke [Tue, 26 Apr 2022 23:56:10 +0000 (16:56 -0700)]
Retry publish crossgen as AOT (#67636)
Brings back the earlier change to publish crossgen as AOT with a fix for restore flakiness (#65948)
Closes #60016
(cherry picked from commit
0d1e04ba2a9ebc9d21a7f65db00407dd0056b547)
Co-authored-by: Adeel Mujahid <3840695+am11@users.noreply.github.com>
Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
Kevin Jones [Tue, 26 Apr 2022 23:38:15 +0000 (19:38 -0400)]
Add a test for ECDSA signatures at zero
Koundinya Veluri [Tue, 26 Apr 2022 23:24:36 +0000 (16:24 -0700)]
Fix a thread pool test (#67399)
- The test verifies that cooperative blocking in `Task.Wait()` causes threads to be injected quickly enough that it does not time out due to starvation
- Cooperative blocking checks memory usage and limit, and beyond a threshold of memory usage does not inject threads quickly
- Following a build of the runtime repo, there are several `dotnet` processes that remain running, each using several 100s of MBs and one using ~1.3 GB of memory
- If the test runs soon after the build, before those processes exit, it's possible for the reported memory usage to be high enough that the test would fail
- Added a config var to ignore memory usage and used it in the test
Fixes https://github.com/dotnet/runtime/issues/66852
Noah Fontes [Tue, 26 Apr 2022 23:19:22 +0000 (16:19 -0700)]
Fix createdump on Unix platforms that do not implement process_vm_readv (#67544)
Stephen Toub [Tue, 26 Apr 2022 21:50:05 +0000 (17:50 -0400)]
Update RegexGenerator message for LimitedSourceGenerationMessage (#68569)
It won't necessarily fall back to interpretation, and there are reasons now beyond complexity and options (e.g. case-insensitive backreferences). Just simplify the message.
Kevin Jones [Tue, 26 Apr 2022 19:12:09 +0000 (15:12 -0400)]
Remove hash work in RsaPaddingProcessor.OpenProcessor
Remove hash work in RsaPaddingProcessor.OpenProcessor.
This was hashing data to determine the length of the hash. But we know MD5 is always going to be 16, SHA1 is going to be 20, etc. so don't waste any time hashing anything.
Stephen Toub [Tue, 26 Apr 2022 19:11:11 +0000 (15:11 -0400)]
Tweak RegexGenerator scan loop (#68560)
Cleans up the generated code a bit, removing some unnecessary code:
- If TryFindNextPossibleStartingPosition has no information to use to do something helpful, there's no point in emitting it.
- Simplify the Scan loop structure
- Avoid emitting a minimum length required check if the minimum is 0, as we'll never have a position that fails that check.
- Avoid a `return false;` code path in TryFindNextPossibleStartingPosition if it'll never be used.
Thays Grazia [Tue, 26 Apr 2022 19:10:50 +0000 (16:10 -0300)]
[wasm][debugger] Debug on firefox (#61776)
* First compiling and working version just proxying messages.
* almost working, already showing the cs files
* Working on firefox.
* Use internal e not public.
* Debugging on firefox working.
* Working after the merge
* Keep the TcpListener open and use a random port.
* Show null value.
* - Show JS Callstack
- Skip properties
- Get array value from evaluateAsyncJS and not use the preview value.
* Fix compilation
* Infrastructure to run debugger tests.
* fix merge
* run test.
* Skipping tests that are not passing on Firefox.
* Skipping tests that are not passing on Firefox.
* Passing 13 steppingtests.
* Passing 13 steppingtests.
* Passing 13 steppingtests.
* Failed: 0, Passed: 39, Skipped: 203, Total: 242, Duration: 5 m 6 s - DebuggerTestSuite.dll (net6.0)
* Failed: 0, Passed: 66, Skipped: 195, Total: 261, Duration: 9 m 29 s - DebuggerTestSuite.dll (net6.0)
* Using ConditionalTheory and ConditionalFact implemented by @radical.
* Fixing side effect.
* Implemented conditional breakpoints.
Failed: 0, Passed: 74, Skipped: 189, Total: 263, Duration: 8 m 41 s - DebuggerTestSuite.dll (net6.0)
* Fix special characters and pointers.
Failed: 0, Passed: 116, Skipped: 177, Total: 293
* Fix merge
* Run debugger-tests on firefox using codespace
* Starting firefox correctly not stopping in the breakpoint yet.
* Remove unnecessary change
* Fix pause behavior (now showing correctly, pause on breakpoint, pause while stepping)
Start implementing evaluate expressions, working correctly on VSCode.
* Fix local tests.
* Fix missing )
* Passing 190 tests, evaluate expressions working.
* Remove Task.Delays.
Move some attributes from FirefoxMonoProxy to FirefoxExecutionContext.
* Fix container creation
* Trying to run firefox tests on CI.
* Moving file to the right place.
* Trying to run debugger-tests using firefox on CI.
* fixing path
* Missing url to download firefox on helix.
* On run the tests only on linux.
* Trying to download firefox on helix.
* fix error on helix-wasm.targets.
* trying to fix ci
* trying to install firefox on helix.
* Fixing firefox path
* Fix debugger tests on firefox
* fixing profile path
* Install libdbus-glib-1-2 on docker and on codespace
* Trying to run using firefox on CI
* update docker image
* Adding more messages to see errors on CI
* Trying to make it work on CI
* Real test on CI
* Trying to use the firefox machine only to run firefox tests
Retrying connection to Proxy
Remove extra messages added to help to fix CI
* Fix CI
* Fix CI
* Fix CI.
* Remove unnecessary changes.
* Using machine with sudo installed
* Addressing @lewing comments
* Fix run tests on codespace
Using image with python3
* Use default image to build and new image only to run firefox tests
* Fix unrelated change
* Fix ci
* check python version
* Print python versions
* Using image with PIP installed
* Using image with pip updated
* Remove unrelated changes
Increase time to wait for firefox to be ready
* Trying to fix evaluate tests.
* Fix evaluateoncallframe tests
* Trying to fix evaluation tests.
* trying to fix evaluateoncallframetests
* fiz evaluateoncallframetests
* Trying to kill firefox to avoid errors.
* Trying to fix EvaluateOnCallFrameTests
* Fix CI
* Remove failing test
* Fix misctests
* Fix other build errors.
* Trying to fix CI.
* Fix CI
* Remove unecessary message.
* Update src/tests/BuildWasmApps/Wasm.Debugger.Tests/Wasm.Debugger.Tests.csproj
Co-authored-by: Ankit Jain <radical@gmail.com>
* Addressing @radical comments
* Merge error while accept @radical suggestion
* Merge error while accept @radical suggestion
* Update src/mono/wasm/debugger/BrowserDebugProxy/DebugStore.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
* Abort the tcp connection if the proxy throws an exception
* Refactor a bit
* Use more compile time checks for chrome vs firefox
* fix pipeline
* Make debugger job names unique by including the browser
* fix runtime-wasm pipeline
* fix firefox ci job
* split into more files
* cleanup
* Add support for running chrome, and firefox tests in the same job
* fix yml
* fix build
* fix build
* fix windows build
* Don't delete profile folder nor pkill firefox
* Delete and create a new profile folder for each execution
* fix helix command line
* [wasm][debugger] Fix tests broken on 'main'
This test broke because it was checking for the number of members on
`System.TimeSpan`, and that changed with
https://github.com/dotnet/runtime/pull/67666 , which added new members
like `TotalNanoseconds`.
The test shouldn't depend on this number anyway, so remove that.
```
Failed DebuggerTests.MiscTests.InspectLocalsForToStringDescriptions(line: 137, col: 12, method_name: "MethodWithLocalsForToStringTest", call_other: False, invoke_async: False) [758 ms]
Error Message:
[ts_props] Number of fields don't match, Expected: 12, Actual: 16
Expected: True
Actual: False
Stack Trace:
at DebuggerTests.DebuggerTestBase.CheckProps(JToken actual, Object exp_o, String label, Int32 num_fields) in /_/src/mono/wasm/debugger/DebuggerTestSuite/DebuggerTestBase.cs:line 800
at DebuggerTests.DebuggerTestBase.CompareObjectPropertiesFor(JToken locals, String name, Object o, String label, Int32 num_fields) in /_/src/mono/wasm/debugger/DebuggerTestSuite/DebuggerTestBase.cs:line 908
at DebuggerTests.MiscTests.InspectLocalsForToStringDescriptions(Int32 line, Int32 col, String method_name, Boolean call_other, Boolean invoke_async) in /_/src/mono/wasm/debugger/DebuggerTestSuite/MiscTests.cs:line 559
```
* wip
* big refactor
* chrome runs
* ff runs
* ff runs
* cleanup
* cleanup
* cleanup
* change console verbosity to info, for proxy
* More refactoring
* More refactoring, and fix some issues with connections, and other
cleanup
* some cleanup
* fix file name
* Improve cleanup after tests
* some refactoring, fixing some hangs, faster failures etc
* Fix BrowserCrash test for chrome
* fix up logging
* Improve error handling for the proxy running independently
* fix debugging from vscode
* proxy host: add --log-path for logs
* support canceling for the proxy host too, and distinguish different instances of the proxy
* Fix debugger after refreshing the debugged page.
* Fixing chrome debugging.
* Fix startup to work on chrome and also on firefox.
Co-authored-by: Ankit Jain <radical@gmail.com>
Heath Baron-Morgan [Tue, 26 Apr 2022 18:32:48 +0000 (11:32 -0700)]
Allow custom IExternalScopeProvider in LoggerFactory via DI (#67520)
Miha Zupan [Tue, 26 Apr 2022 17:49:16 +0000 (10:49 -0700)]
Allow port 65535 in UriParser.Register (#68546)
Stephen Toub [Tue, 26 Apr 2022 17:35:22 +0000 (13:35 -0400)]
Remove unnecessary/erroneous initialization to base.Crawlpos() (#68549)
We use this `additionalDeclarations.Add` mechanism in the source generator when we can't declare the local exactly where it's needed due to branching structure and the compiler not always being able to see that the local is definitely assigned. In such cases, we instead emit the local at the beginning of the method, default initialized, and then later assign it where we need to. In this particular case, we should be default assigning it but are accidentally calling base.Crawlpos(). This isn't functionally wrong, but it's unnecessary.
Tomáš Rylek [Tue, 26 Apr 2022 16:59:44 +0000 (18:59 +0200)]
Extend stress timeouts for merged tests (#68523)
As we're intentionally running larger merged tests in-proc to reduce
runtime overhead, we've become prone to hitting various infra
timeouts. As part of the switchover I extended the default test
timeout from 15 to 30 minutes; I hovewer overlooked the fact that
the run.py script manually overrides this value for GC stress and
other special test build / execution flavors. This change doubles
all these timeouts to cater for the larger merged test apps.
Thanks
Tomas
Elinor Fung [Tue, 26 Apr 2022 16:43:00 +0000 (09:43 -0700)]
[LibraryImportGenerator] Update diagnostic titles to use localized strings (#68533)
Kevin Jones [Tue, 26 Apr 2022 16:37:59 +0000 (12:37 -0400)]
Use checked arithmetic in Pkcs12Kdf
When calculating the length of P and I, it's possible for this to result in an arithmetic overflow.
This arithmetic overflow is then fed in to `stackalloc`, which treats the input as unsigned and
causes a large stack allocation.
Jakob Botsch Nielsen [Tue, 26 Apr 2022 16:04:55 +0000 (18:04 +0200)]
Decouple call store operands from local ret buf optimization (#68469)
* Move GenTreeCall::GetLclRetBufArgNode ->
Compiler::gtCallGetDefinedRetBufLclAddr and change it to not try to
look into stores
* Assert that the node we are returning actually defines a local that
has lvHiddenBufferStructArg set
* Assert that call morphing does not break our recognition of the defined
local when optimizing
* Update Compiler::DefinesLocalAddr to check for GT_LCL_FLD_ADDR
Kunal Pathak [Tue, 26 Apr 2022 15:58:43 +0000 (08:58 -0700)]
Handle more scenarios for loop cloning (#67930)
* Handle following scenarios for loop cloning:
- Increasing loops that are incremented by more than 1 like "i += 2"
- Decreasing loops like "i--", "i -= 2"
* jit format
* Make the loop cloning condition tighter
* check for stride
* Add a check for stride edge scenario
* Add test case
* Review feedback
Andrii Kurdiumov [Tue, 26 Apr 2022 14:57:40 +0000 (20:57 +0600)]
Get rid of last mentions of DllImportGenerator (#68535)
This should help avoid confusion when reading the code,
and what's DllImportGenerator is.
Vladimir Sadov [Tue, 26 Apr 2022 14:32:14 +0000 (07:32 -0700)]
Fix leaks after unsuccessful assembly load (another try) (#68502)
* simpler fix
* Account for MONO and WASM differences when probing files
* comment
* Use TARGET_BROWSER instead
* '\\' should be normalized already by the `GetFullPath`
Aleksey Kliger (λgeek) [Tue, 26 Apr 2022 12:44:27 +0000 (08:44 -0400)]
[mono] merge wasm-threading-eventpipe into main (#68232)
Merge initial work on multi-threaded WebAssembly.
The normal wasm build is single-threaded. There should be no functional changes to its behavior.
To enable a multi-threaded build pass `/p:WasmEnableThreads=true`. See `src/mono/wasm/threads.md` for details.
The big changes are:
1. The normal ref assemblies related to threading retain `[UnsupportedOSPlatform("browser")]` attributes for various threading-related functions
2. In System.Private.CoreLib, the `[UnsupportedOSPlatform]` attributes are removed, and functions that used to always throw PNSE nwo do a runtime check using `System.Threading.Thread.IsThreadStartSupported` to check if threading is enabled in the current build.
3. A new nuget `Microsoft.NET.WebAssembly.Threading` is created. It contains experimental ref assemblies without the `[UnsupportedOSPlatform]` attributes. The intention is that code opting into experimenting with multithreading will include this nuget by setting some property that will be used by the wasm MSBuild SDK to pick a multi-threaded runtime build and configure things appropriately. (The SDK updates don't exist yet).
4. In the multi-threaded runtime we don't use Emscripten's "main thread" option (ie: the browser thread is the main one); we also continue to run certain runtime-internal jobs (finalizers, GC pump) on the main thread even in the multi-threaded runtime.
Remaining work is tracked in the related issue https://github.com/dotnet/runtime/issues/68162
---
* Initial changes for emscripten 2.0.34
* Use emcc-link.rsp in build targets
* Use updated docker images
* Fix compiler warnings
* Put `--profiling-funcs` to `_EmccLinkFlags`
* Fix build
src/mono/mono/mini/mini-runtime.c:3407:25: error: ‘invoke’ undeclared (first use in this function); did you mean ‘revoke’?
3407 | invoke = mono_marshal_get_runtime_invoke_dynamic ();
* Add shell to the environment
Environment setting https://github.com/emscripten-core/emscripten/blob/2.0.34/src/settings.js#L616-L641
From emscripten 2.0.25 release notes
- Support for the 'shell' environment is now disabled by default. Running under
`d8`, `js`, or `jsc` is not something that most emscripten users ever want to
do, so including the support code is, more often than not, unnecessary. Users
who want shell support can enable it by including 'shell' in `-s ENVIRONMENT`
(#14535).
Example of the the size increase for bench sample:
-a--- 12/10/2021 3:35 PM 382113 dotnet.js
-a--- 12/13/2021 10:37 AM 383589 dotnet.js
* Add emcc-link.rsp to PlatformManifestFileEntry
* Feedback
https://github.com/emscripten-core/emscripten/blob/
2fda25eea756c78c8cb024aa5b6c2b188bf7990f/src/settings.js#L1173-L1176
-s EXPORT_ES6 is link option
* Bump emscripten version
* Bump llvm package version and use its libclang
* Use newer docker images with emscripten 3.1.1
* Remove unused variable
* Add runtime support for threads in the wasm build
To enable, pass `/p:WasmEnableThreads` when building the runtime
./build.sh -Subset mono+libs -os Browser -arch wasm /p:WasmEnableThreads=true
* Prevent runtime from starting twice when loaded in a web worker
* Automatically populate the emscripten mainScriptUrlOrBlob property so that worker initialization can find dotnet.js
* Add compatibility shim so that emscripten's generated worker.js can properly get a Module instance, since we broke the API
* Checkpoint
* Bring back threadpool and add some tracing in diagnostics
* Add comments and fix a typo
* Introduce 'MonoObjectRef' ts type. Migrate mono_string_intern to not have a retval
* Checkpoint (strings are broken for some reason)
* Fix string interning
* Migrate ObjectToString and GetDateValue
* Checkpoint gc safe/unsafe region work
* More ref conversion
* Checkpoint (broken?)
* Fix missing method
* Fix incorrect signatures
* Fix lint
* Add new 'R' signature char for 'ref object'
* Remove AddEventListener and RemoveEventListener Checkpoint
* eslint fixes
* Update call_method signature to avoid passing raw object pointers
* Ref-ify one websocket API and fix types and incorrect rooting of two others
* Deprecation metadata
* More ref
* Remove outdated comments
* Convert typed_array_new to ref
* Add volatile modifiers, satisfy eslint
* Update src/mono/wasm/runtime/corebindings.c
* Missing conflict
* Fix build, set coop gc, and always copy dotnet.worker.js when it's around for apps
* Disable sample profiler, add some functions that were missing from katelyn's PR.
* Add safepoint around ep_rt_wait_event_set. Tweak sample to explicitly exit wasm in order to properly flush event to the nettrace file (w/ rundown events).
* [gc] Start the GC Finalizer thread on threaded WASM
* [mono] add GC Unsafe in mono_assembly_load; remove in EventPipe
Remove GC Unsafe hack in ep_rt_wait_event_set
* post-merge cleanup: delete duplicated definitions
* [sample] Env vars should be stringy
* updated dotnet.d.ts
* Add mono_threads_wasm_async_run_in_main_thread; do background work on main
Don't start a finalizer thread
Queue all background work to run on the main thread
* [mono] Fix non-threaded wasm build
* Add a System.Threading.Thread.WebAssembly.Threading ref assembly
* Update the browser sample to use System.Threading.Thread.WebAssembly.Threading
* Rationalize System.Threading.Thread build
In CoreLib, never add the [UnsupportedOSPlatform("browser")] attribute. Rely on runtime checks (`ThrowIfNoThreadStart()`). In System.Threading.Thread ref assembly, always add the unsupported platform
attribute. Add mismatches to ApiCompat baseline. In System.Threading.Thread.WebAssembly.Threading don't add the attributes, and also set DisablePackageBaselineValidation to prevent Restore from looking for a System.Threading.Thread.WebAssembly.Threading nuget (fixes in-tree ProjectReferences for testing)
* only turn on analyzers for the browser sample
not all wasm samples
* Make a single Microsoft.NET.WebAssembly.Threading nupkg
that holds all the special ref assemblies
* works: sample has ProjectReference to the Microsoft.NET.WebAssembly.Threading.proj
* Add System.Threading.ThreadPool.WebAssembly.Threading ref assembly
* ThreadPool: throw PNSE if no thread start
* Update wasm threads.md
* apicompat: correct warnings for System.Threading.ThreadPool
* Add dotnet.worker.js to the runtime pack; update PlatformManifestFileEntry
* [wasm] startup: detect Blazor dotnet.[version].[hash].js location
Blazor injects a `<link rel="modulepreload" />` element into the header when it boots; detect it and extract the URL of the script.
This is needed by Emscripten's dotnet.worker.js to run WorkerGlobalScope.importScripts
* one more fix to Microsoft.NET.WebAssembly.Threading
Seems to be necessary in order for the resulting .nupkg not to reference non-existent nugets for the ProjectReferences
* rename sample to browser-mt-eventpipe
* bring back unmodified browser sample
The multithreading sample is browser-mt-eventpipe
* update browser-mt-eventpipe sample to use ref assembly refs
Referencing the rollup Microsoft.NET.WebAssembly.Threading.proj doesn't work (it ends up bundling the ref assemblies into the publish dir and breaking the app)
* Use correct ifdef in AppContext.AnyOS.cs
* [build] support WasmEnableThreads and WasmEnablePerfTracing
These toplevel options either turn on multi-threading in general, or turn on multithreading only for eventpipe internals.
For libraries these define `FeatureWasmThreads` and `FeatureWasmPerfTracing` properties and the `FEATURE_WASM_THREADS` and `FEATURE_WASM_PERFTRACING` compiler constants.
For the native code, they control `DISABLE_THREADS` and `DISABLE_WASM_USER_THREADS` cmake and preprocessor settings.
* Only add the portable threadpool on wasm if threading is enabled
* rename browser-mt-eventpipe csproj and main assembly
Give it a unique name distinct from Wasm.Browser.CJS.Sample.csproj
* fix /p:WasmEnableThreads=false build after merge
* now fix the WasmEnableThreads=true build
* we need two ThreadPoolBoundHandle implementation stubs
one for PortableThreadPool when threads are enabled, one for single-threaded wasm
* Add a System.Diagnostics.Tracing ref assembly gated by FeatureWasmPerfTracing
* [eventpipe] use the correct cmake option name
see src/mono/mono.proj
* revert debug printf and commented out code
* turn off additional logging
* hack: set FeatureWasmPerfTracing in the browser-mt-eventpipe sample
It would be better to drive this (the inclusion of the tracing runtime component) from a user-visible flag. not the FeatureWasmPerfTracing implementation detail
* remove unused variable, remove unneeded configure checks, revert line damage; add better comment in export.ts
* Exclude Microsoft.NET.WebAssembly.Threading from testPackages.proj
* review feedback, Apply suggestions from code review
* Use a testPackages settings file to skip package runtime item verification
* remove unneeded Directory.Build.props for ref package
since ti doesn't compile its own assembly, none of these properties are needed
* use one ProjectReference item to share metadata for the ref assemblies
* remove ProjectReference comment and NoTargetsDoNotReferenceOutputAssemblies prop
* Remove unneeded target
* packaging simplification
- move `_ExperimentalUpdateFileVersion` target to packaging.targets, conditioned on a new `IsExperimentalRefAssembly` attribute. (The target increments the file version of the ref assembly to make it easier to distinguish from the real non-experimental ref assembly)
- Remove unneeded src subdirectories in ref assembly libraries
- Move properties that are only used in the ref assembly projects directory into the projects and delete Directory.Build.props in the experimental ref assembly subdirectories.
* move and rename UpdateExperimentalRefAssemblyFileVersion target
packages.targets is only included for IsPackable=true projects, and these ref assemblies are not packable.
* Assorted code review nits
* Don't build/pack the multi-threaded sample on single-threaded runtime
* remove gratuitous debug printfs
* Apply suggestions from code review
* merge followup: nullable is enabled by default now
* make eslint happy
* include wasm-config.h in wasm runtime host
* include wasm-config.h into the runtime pack
fixes aot compilation
* Add wasm-config.h to manifest
* put wasm-config.h into include/wasm from the outset
* put back noExitRuntime replacement for CJS
Co-authored-by: Radek Doulik <radekdoulik@gmail.com>
Co-authored-by: Radek Doulik <radekdoulik@google.com>
Co-authored-by: Zoltan Varga <vargaz@gmail.com>
Co-authored-by: Steve Pfister <steve.pfister@microsoft.com>
Co-authored-by: Katelyn Gadd <kg@luminance.org>
Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
Alex Covington [Tue, 26 Apr 2022 10:28:11 +0000 (03:28 -0700)]
Add vectorized paths for Span<T>.Reverse (#64412)
* Adding vectorized path for Span<byte>.Reverse that uses SSSE3 and AVX2 where possible
* Added vectorized paths for Span<T>.Reverse for primitive types that are the same size as char, int, or long that use AVX2 or SSSE3 where possible
* Apply suggestions from code review
Co-authored-by: Theodore Tsirpanis <teo@tsirpanis.gr>
* Added vectorized paths for Span.Reverse to Array.Reverse, use one wrapper for both Span.Reverse and Array.Reverse
Co-authored-by: Theodore Tsirpanis <teo@tsirpanis.gr>
Viktor Hofer [Tue, 26 Apr 2022 06:18:08 +0000 (08:18 +0200)]
Run illink before ApiCompat (#66706)
* Run illink before ApiCompat and GenAPI
As observed in https://github.com/dotnet/runtime/issues/66634#issuecomment-
1068556981, illink currently runs after APICompat. This happens because nuget imports the ApiCompat targets earlier than the illink.targets is imported.
* Update illink.targets
* Use ApiCompatDependsOn
Stephen Toub [Mon, 25 Apr 2022 21:58:40 +0000 (17:58 -0400)]
Fix nullable reference type warnings in RegexGenerator (#68516)
Vitek Karas [Mon, 25 Apr 2022 21:16:47 +0000 (14:16 -0700)]
Do not use '.NET Core' anymore in error messages (#68260)
Added a test for a single-file FDD running over old hostfxr
Includes apphost version, .NET location and so on in error message. Similar to other improved error messages now.
Includes the apphost version and architecture in the UI dialog, just like we do if there's no runtime at all.
SingleAccretion [Mon, 25 Apr 2022 21:00:13 +0000 (00:00 +0300)]
Use unchecked barriers for stores to statics in more cases (#68437)
On x86 and when the address is known.
Jakob Botsch Nielsen [Mon, 25 Apr 2022 20:32:13 +0000 (22:32 +0200)]
Recognize more "local addr" trees as invariant (#68484)
This will ensure we do not evaluate e.g. the retbuffer into a temp when
unnecessary.
Viktor Hofer [Mon, 25 Apr 2022 20:06:10 +0000 (22:06 +0200)]
Fix VS complaining about missing projects in slns (#68488)
* Fix VS complaining about missing projects in slns
Remove inbox (Project-)References in out-of-band projects as these
projects already build on top of the shared framework (targeting pack).
* Update Microsoft.Extensions ref projects
* Update Microsoft.Extensions src projects
* Update graph dependencies of Microsoft.Extensions*
* Update sources that complained about Span usage
Qiao Pengcheng [Mon, 25 Apr 2022 20:02:36 +0000 (04:02 +0800)]
[LoongArch64] coreclr/debug and part of inc directory. (#62886)
* [LoongArch64] add coreclr-inc,gc, ToolBox directory. (#59561)
Co-authored-by: Loongson's .NET-teams
* [LoongArch64] move inc/switches.h to #62889.
* [LoongArch64] move some configure files from #62889.
* [LoongArch64] revert the modify when moved from #62889.
* [LoongArch64] moved the inc/stdmacros.h to #62885.
* [LoongArch64] moved inc/corinfo.h to #62885.
* [LoongArch64] modify the related files for compiling error.
* [LoongArch64] revert the `src/coreclr/gcinfo/CMakeLists.txt` to original.
* [LoongArch64] delete unused files on windows.
* [LoongArch64] add define IMAGE_FILE_MACHINE_LOONGARCH64.
* [LoongArch64] workround the compiling error for IMAGE_FILE_MACHINE_LOONGARCH64 on windows.
* [LoongArch64] workround the compiling error for SPMI_TARGET_ARCHITECTURE_LOONGARCH64 on windows.
* [LoongArch64] delete the memcpy for LoongArch64 and revert workround patches.
* [LoongArch64] exclude the gc, ToolBox and config files from this PR.
* [LoongArch64] amend code for compiling error on LoongArch64-machine.
* [LoongArch64] update the version of the `LICENSE description`.
* [LoongArch64] amend the code about debug.
* [LoongArch64] temp submit for fixing the windows compiling error.
* [LoongArch64] amend some LA's implements for CR.
Co-authored-by: qiaopengcheng <qiaopengcheng-hf@loongson.cn>
Aaron Robinson [Mon, 25 Apr 2022 19:59:49 +0000 (15:59 -0400)]
Consolidate `MessageBox` API usage (#68396)
* Consolidate MessageBox API usage
* Remove MessageBox API from PAL.
* Remove COMPlus_NoGuiOnAssert option
* Remove unused defines indicate NORETURN
* Remove "EE message box" API abstraction.
Stephen Toub [Mon, 25 Apr 2022 19:02:46 +0000 (15:02 -0400)]
Remove unnecessary work from lazy loops (and a little from greedy) (#68490)
- For a lazy loop, compute whether the child might match empty. Only if it might do we need any of the checks around empty iterations, and only in those situations do we need to track the starting position or whether we've seen an empty loop, so avoid all work associated with that if the min length of the child is greater than zero.
- If the lazy loop failing will exit the match, avoid doing all the cleanup work that ends up being irrelevant.
- If the lazy loop isn't itself part of another loop, we don't need the backtracking section to push/pop any additional state on the backtracking stack.
- Avoid outputting two gotos in a row in greedy loops.
- Avoid outputting additional if blocks in greedy loops when the checks are identical.
- Add some comments, in particular to loops where the logic can be tricky and hard to follow / reason about.
- Remove some emitted semicolons after labels.
- Fix the naming of a few "SkipBacktrack" labels to conform to the same prefixed naming convention used for other labels
Jakob Botsch Nielsen [Mon, 25 Apr 2022 18:55:32 +0000 (20:55 +0200)]
Fix superpmi.py overridden build_type arg (#68507)
Looks like the build_type arg of the parent parser gets corrupted when
adding a similar named one to throughput_diff_parser, so just use a
function to add the common arguments.
Michael Simons [Mon, 25 Apr 2022 18:50:01 +0000 (13:50 -0500)]
Update area-owners for acquisition and deployment (#68499)
Adam Sitnik [Mon, 25 Apr 2022 18:22:31 +0000 (20:22 +0200)]
Increase Span.Reverse test coverage (#68493)
* tests: don't use Array.Reverse to get expected output of Span.Reverse as they are going to share the logic soon
* add more test cases to cover all execution paths
* use more complex value types
* add tests for Span<char>
Jakob Botsch Nielsen [Mon, 25 Apr 2022 18:13:48 +0000 (20:13 +0200)]
Add an assert back (#68481)
Under JitRepeatOpts we sometimes turn early-arg stores into GT_NOP
nodes.
Fix #68472
Elinor Fung [Mon, 25 Apr 2022 17:27:54 +0000 (10:27 -0700)]
Add requested version to hostfxr_resolve_sdk2 (#68355)
Drew Scoggins [Mon, 25 Apr 2022 17:16:04 +0000 (10:16 -0700)]
Add Windows and Ubuntu perf runs on Ampere hw (#68304)
* Add Windows and Ubuntu perf runs on Ampere hw
* Remove testing comments
Badre BSAILA [Mon, 25 Apr 2022 17:07:31 +0000 (19:07 +0200)]
AddUserSecrets fails in environments without generic env var and OS special folders (#67895)
Steve [Mon, 25 Apr 2022 17:05:13 +0000 (01:05 +0800)]
Fix CircleInConvex test (#68475)
Jakob Botsch Nielsen [Mon, 25 Apr 2022 16:20:41 +0000 (18:20 +0200)]
Fix significant TP diff check for percentages (#68459)
Eric Erhardt [Mon, 25 Apr 2022 16:15:37 +0000 (11:15 -0500)]
Change Nullable to default to enable in libraries src and ref projects (#68102)
* Change the default Nullable to enabled for src projects
* Set Nullable=enable as the default for ref projects
* Fixup merge conflicts
* Disable nullable on shim projects and EventLog.Messages
* Set Nullable to blank on EventLog.Messages
This way no CodeAnalysis attributes are emitted into the assembly.
SingleAccretion [Mon, 25 Apr 2022 16:08:27 +0000 (19:08 +0300)]
Improve redundant branch opts to handle side effects (#68447)
Günther Foidl [Mon, 25 Apr 2022 15:15:54 +0000 (17:15 +0200)]
Handle final elements in SpanHelpers.Contains for byte and char vectorized (#67492)
* Handle final elements in SpanHelpers.Contains(ref byte, byte, int) vectorized
* Handle final elements in SpanHelpers.Contains(ref char, char, int) vectorized
* Use equality operator instead of Vector<T>.Zero.Equals due to codegen issue
Cf. https://github.com/dotnet/runtime/pull/67492#discussion_r841219532
Tanner Gooding [Mon, 25 Apr 2022 15:05:00 +0000 (08:05 -0700)]
Copy the LLVM jobs into their own pipeline (#68392)
* Split the llvmfullaot jobs into their own pipeline
* Renaming the pipeline to just runtime-llvm and copying the other llvm jobs to it
Tanner Gooding [Mon, 25 Apr 2022 15:03:03 +0000 (08:03 -0700)]
Ensure that System.Guid can build successfully (#68494)
madelson [Mon, 25 Apr 2022 14:25:39 +0000 (10:25 -0400)]
Vectorize Guid equality. (#66889)
* Vectorize Guid equality.
* Update src/libraries/System.Private.CoreLib/src/System/Guid.cs
Feedback from https://github.com/dotnet/runtime/pull/66889#discussion_r830625854
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Katya Sokolova [Mon, 25 Apr 2022 11:05:49 +0000 (13:05 +0200)]
Fix header upgrade-insecure-requests name (#68412)
dotnet-maestro[bot] [Mon, 25 Apr 2022 11:03:41 +0000 (04:03 -0700)]
[main] Update dependencies from dotnet/linker (#68386)
* Update dependencies from https://github.com/dotnet/linker build
20220421.3
Microsoft.NET.ILLink.Tasks
From Version 7.0.100-1.22220.4 -> To Version 7.0.100-1.22221.3
* Update dependencies from https://github.com/dotnet/linker build
20220422.1
Microsoft.NET.ILLink.Tasks
From Version 7.0.100-1.22220.4 -> To Version 7.0.100-1.22222.1
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Simon Rozsival [Mon, 25 Apr 2022 09:56:08 +0000 (11:56 +0200)]
[Android][tvOS] Skip failing System.Net.Security tests (#68020)
* Remove exclusion of System.Net.Security tests on Android
* Skip failing tests with ActiveIssue attributes
* Add attributes for more failing tests
* Add timeouts to awaits that get stuck
* Add ActiveIssue attributes for remaining failing tests
* Add missing ActiveIssue attribute
* Revert timeout change
* Add ActiveIssue attributes to tests which failed in CI
* Disable System.Net.Security tests on iOS-like platforms
Viktor Hofer [Mon, 25 Apr 2022 09:17:08 +0000 (11:17 +0200)]
Don't build non shared framework refs in ref build (#68275)
* Don't build non shared framework refs in ref build
Adeel Mujahid [Mon, 25 Apr 2022 04:04:00 +0000 (07:04 +0300)]
Identify OSArchitecture at run-time (#60910)
* Identify OSArchitecture at run-time
* Move ProcessArchitecture in common partial
* Add a comment in ntimage.h about its source
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Jan Kotas [Mon, 25 Apr 2022 02:48:42 +0000 (19:48 -0700)]
Revert "simpler fix (#68203)" (#68478)
This reverts commit
4fe63594e0b83ab12ab87766c0a12a1c5d8aec04.
Jan Kotas [Mon, 25 Apr 2022 02:43:25 +0000 (19:43 -0700)]
Fix caching of Lazy<T> in tests (#68473)
Co-authored-by: Stephen Toub <stoub@microsoft.com>