Koundinya Veluri [Fri, 11 Dec 2020 00:57:19 +0000 (16:57 -0800)]
Do YieldProcessor normalization in preemptive GC mode (#45913)
- The YieldProcessor normalization takes ~10 ms. In the finalizer thread start function, `Thread::HasStarted()` puts the thread into cooperative GC mode. Switch to preemptive GC mode for the normalization.
Fixes https://github.com/dotnet/runtime/issues/42515
Juan Hoyos [Fri, 11 Dec 2020 00:11:17 +0000 (16:11 -0800)]
Fix debugger attach+read on Linux 32 bit (#45506)
The debug PAL was undefining of macros that cause 32 bit POSIX syscalls to use 64 bit offsets. The offsets are defined in a signed manner, which means that any address over the 2GB range that we use will result in an incoherent call to pread and similar APIs. This has been the case for years, but it only affected ARMv7 systems as they are currently our only Unix 32 bit target. Customers started reporting being unable to attach to their processes using the debugger. The bug became a blocker as we changed the debugger startup path to use symbol exports in CoreCLR for our single file story, meaning that the DAC no longer used a compile time header but an export. That read resulted in an access on the >2GB virtual memory region when run in a device with enough memory available with a signed address.
Santiago Fernandez Madero [Thu, 10 Dec 2020 23:51:21 +0000 (15:51 -0800)]
Move iOS tests to staging pipeline (#45903)
Larry Ewing [Thu, 10 Dec 2020 22:31:19 +0000 (16:31 -0600)]
Rename file (#45923)
Steve Pfister [Thu, 10 Dec 2020 21:38:36 +0000 (16:38 -0500)]
Use FORCE_AOT define in the MonoAOTCompiler Task (#45898)
Fixes mono_aot_register_module not being found when AOT'ing.
monojenkins [Thu, 10 Dec 2020 21:06:15 +0000 (16:06 -0500)]
[reflection] Don't get parameter default values for wrapper methods (#45018)
The lookup assumes that the method came from metadata, which is not the case
for wrappers.
Fixes mono/mono#20600
Co-authored-by: lambdageek <lambdageek@users.noreply.github.com>
Viktor Hofer [Thu, 10 Dec 2020 20:05:34 +0000 (21:05 +0100)]
Use ridless PNSE configurations where applicable (#44230)
For projects that require platform support we should use a rid-less
configuration, i.e. $(NetCoreAppCurrent). That guarantees that PNSE
assemblies are available for new configurations that aren't represented
in the defined project's TargetFrameworks. This is especially important
for inbox assemblies.
I left the following assemblies as is as they are partial PNSEs:
- System.Security.Cryptography.Algorithms
- System.Net.NameResolution
System.Net.Requests and System.Net.WebClient are IL only but
intentionally marked as throwing on Browser.
Andrius [Thu, 10 Dec 2020 17:57:19 +0000 (19:57 +0200)]
Simplified MailAddressDisplayNameTest (#39625) (#39929)
* Simplified MailAddressDisplayNameTest (#39625)
* Address PR feedback
* Refactored tests
Co-authored-by: Andrius Lukočius <andrius.lukocius@gmail.com>
Co-authored-by: Stephen Toub <stoub@microsoft.com>
Co-authored-by: Marie Píchová <mapichov@microsoft.com>
Steve MacLean [Thu, 10 Dec 2020 16:10:10 +0000 (11:10 -0500)]
Fix macos-arm64 corrupted adhoc signature (#45860)
XCode linker adhoc signs binaries. Stripping the symbols
corrupts the signature. Replace the adhoc signature
after stripping the symbols.
Viktor Hofer [Thu, 10 Dec 2020 15:54:41 +0000 (16:54 +0100)]
Add Known* items to the local targeting pack resolution (#45874)
* Add Known* items to the local targeting pack resolution
Add the required Known* items so that the ProcessFrameworkReferences
logic in the SDK knows about these and is able to create Resolved* items
that we later update to point to our local packs.
This is required when building with an SDK that doesn't support the
project's TargetFramework yet.
Steve MacLean [Thu, 10 Dec 2020 15:54:28 +0000 (10:54 -0500)]
Fix SOS clrstack w^x issues on osx-arm64 (#45849)
* Fix clrstack w^x issues on osx-arm64
Viktor Hofer [Thu, 10 Dec 2020 15:08:39 +0000 (16:08 +0100)]
Create README.md for src/tasks (#45754)
Mitchell Hwang [Thu, 10 Dec 2020 14:45:05 +0000 (09:45 -0500)]
[wasm] Use dotnet-serve in Wasm Browser Sample (#45128)
* [wasm] Use dotnet serve in wasm browser sample
* [wasm] Remove wasm browser python server
* Check for global dotnet-serve
Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>
Adeel Mujahid [Thu, 10 Dec 2020 13:52:12 +0000 (15:52 +0200)]
Aggregate adjacent memory sizes regardless of r+x (#45401)
* Aggregate adjacent memory sizes regardless of r+x
When adjacent memory ranges of same module differ by permission, the
line should not be skipped due to the lack of readability/executability
flags.
* Account for rows preceding the first one with r+w
* Account for last line
* Update src/libraries/Common/src/Interop/Linux/procfs/Interop.ProcFsStat.ParseMapModules.cs
Co-authored-by: Tom Deseyn <tom.deseyn@gmail.com>
* Update src/libraries/Common/src/Interop/Linux/procfs/Interop.ProcFsStat.ParseMapModules.cs
* Move module flag assignment after the final commit
* Improve readibility of moduleHasReadAndExecFlags
* Update src/libraries/Common/src/Interop/Linux/procfs/Interop.ProcFsStat.ParseMapModules.cs
* Update src/libraries/Common/src/Interop/Linux/procfs/Interop.ProcFsStat.ParseMapModules.cs
* Decouple line parsing from ProcessModule parsing
Co-authored-by: Tom Deseyn <tom.deseyn@gmail.com>
Co-authored-by: Eirik Tsarpalis <eirik.tsarpalis@gmail.com>
monojenkins [Thu, 10 Dec 2020 12:24:19 +0000 (07:24 -0500)]
Fix debugger late attach, suspend=n. (#45834)
Runtime workaround fix for incorrect VM resume when suspend policy none is in use. Real fix is in debugger-libs, mono/debugger-libs#264 but until that lands in VS installer (and tooling has been upgraded to VS2019) this workaround will prevent the error to be propagated back to client and VM will make sure the correct suspend state is maintained.
Fix also makes sure logging done within debugger engine/agent is not directly send to stdout/stderr on platforms where there is no console (or alternative console).
This is done to prevent scenarios where stdout/stderr has been redirected to for example the debug client, but logging into the same streams as part of debugger agent implementation will trigger new messages to redirect, flooding the message queue and suspending/resuming the VM for each message. This PR makes sure it is possible to get all logging done in debugger agent/engine (not just debug logging) into an alternative log implementation on platforms needing it.
Co-authored-by: lateralusX <lateralusX@users.noreply.github.com>
Ankit Jain [Thu, 10 Dec 2020 11:47:43 +0000 (06:47 -0500)]
[wasm] Add $(MSBUILD_ARGS) to more build targets (#45865)
This can be used to pass additional msbuild arguments when building, or running wasm make targets.
For example: `make -C src/mono/wasm run-tests-System.Collections.Concurrent MSBUILD_ARGS="/p:foo=bar /fl /flp:v=diag"`
Ankit Jain [Thu, 10 Dec 2020 10:56:05 +0000 (05:56 -0500)]
[wasm] Add a README.md (#45863)
* [wasm] Add a README.md
* add MSBUILD_ARGS to readme
* [wasm] README.md - add info about some env vars used
* README.md: add a gotcha about EMSDK_PATH
Sung Yoon Whang [Thu, 10 Dec 2020 05:55:10 +0000 (21:55 -0800)]
Disable diagnosticport test until further investigation (#45878)
* Disable diagnosticport test
* typo
* whitespace'
Egor Chesakov [Thu, 10 Dec 2020 04:40:28 +0000 (20:40 -0800)]
Fix regression with tail.callvirt transformation to helper call (#45527)
* Add regression test for https://github.com/dotnet/runtime/issues/45250
* Add VirtCallThisHasSideEffects to more_tailcalls.cs and update more_tailcalls.il
* Spill "this" if needed to avoid evaluating it twice when "this" is used to compute the target function pointer in morph.cpp
Mac Clayton [Thu, 10 Dec 2020 04:35:58 +0000 (22:35 -0600)]
Fix vswhere path to work with spaces by surrounding it with quotes (#44913)
Some local .nuget paths may contain spaces (ex. C:\Users\First
Last\.nuget). Surrounding it with quotes allows the command path to have
spaces
Kenneth Pouncey [Thu, 10 Dec 2020 04:24:51 +0000 (05:24 +0100)]
[browser][test] Add make target to run the outerloop tests on browser (#45465)
- Makes it easier to run these tests
- make target `run-browser-outerloop-tests-%:`
Mitchell Hwang [Thu, 10 Dec 2020 04:00:18 +0000 (23:00 -0500)]
[wasm] Remove System.Reflection.MetadataLoadContext from WasmAppBuilder (#44751)
Separates the assembly and reference assembly loading process from the WasmAppBuilder into a separate task in WasmLoadAssembliesAndReferences.cs
Refactors that loading process to take in assemblies, search paths, and the option to skip missing referenced assemblies, thereby reducing the original complexity with respect to MainAssembly, ExtraAssemblies and having at least one of Assemblies or AssemblySearchPaths
Applies the updated WasmAppBuilder and WasmLoadAssembliesAndReferences tasks to the library tests (tests.mobile.targets), browser sample (WasmSample.csproj), debugger-tests (debugger-tests.csproj), and the runtime tests (WasmTestRunner.proj)
Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>
Co-authored-by: Steve Pfister <steve.pfister@microsoft.com>
Co-authored-by: Ankit Jain <radical@gmail.com>
Sergey Andreenko [Thu, 10 Dec 2020 03:06:27 +0000 (19:06 -0800)]
Delete an old outdated test. (#45866)
Kunal Pathak [Thu, 10 Dec 2020 03:02:19 +0000 (19:02 -0800)]
Move test to right folder (#45848)
Bruce Forstall [Thu, 10 Dec 2020 02:28:37 +0000 (18:28 -0800)]
Add switches for more general altjit and cross-target commands (#45605)
Add `-mch_arch` to specify which architecture to use when downloading
MCH files from Azure Storage. The idea is that you can specify to
download, say, arm64 MCH files and then run them on x64 by also
specifying an arm64 cross-targeting JIT. Defaults to `-target_arch`
(which itself defaults to the host architecture).
Add `-jit` to allow specifying the JIT name to use. Do this instead of
`-altjit`.
Change `-altjit` to `--altjit`. It no longer takes a JIT name; use `-jit`
instead for that purpose. Now, `--altjit` just sets the altjit
variables.
Add `-target_arch` and `-target_os` to specify the cross-target of the JIT.
The `-target_arch`, in particular, is used to pass the `-target` argument
to SuperPMI, which it needs to know which disassembler to use.
So, for example, to run SuperPMI asm diffs with a Windows arm64 cross-JIT
on Windows x64, you might use:
```
py superpmi.py asmdiffs -jit clrjit_win_arm64_x64.dll -target_arch arm64
```
Unfortunately, these cross-JIT scenarios have other problems right now,
but this scripting is a start.
Santiago Fernandez Madero [Thu, 10 Dec 2020 02:21:29 +0000 (18:21 -0800)]
Add logging to open ssl uninstall (#45855)
* Add logging to open ssl uninstall
* Fix syntax
Simon Nattress [Thu, 10 Dec 2020 00:34:05 +0000 (16:34 -0800)]
Remove unused CORINFO_CALLINFO_ATYPICAL_CALLSITE flag (#45859)
`CORINFO_CALLINFO_ATYPICAL_CALLSITE` was added a few years ago to support code generators that don't emit calls via `call [rel32]` form. It is now unused (LLILC was the only consumer) so we can remove it.
Bruce Forstall [Thu, 10 Dec 2020 00:17:40 +0000 (16:17 -0800)]
Fix dump of GC vars at call sites (#45815)
GC vars are handled specially at call sites. In particular,
kills happen at the call site address, meaning before the
call. They JIT dump was displaying the kill after the call,
which is confusing, and different from all the other cases
of displaying GC refs. Fix this so the kills are properly
displayed before the call site.
Example diff:
```
call System.Collections.Immutable.ImmutableArray:ToImmutableArray(System.Collections.Generic.IEnumerable`1[__Canon]):System.Collections.Immutable.ImmutableArray`1[__Canon]
; gcrRegs -[rdx r14]
; GC ptr vars -{V21}
; gcr arg pop 0
=>
; GC ptr vars -{V21}
call System.Collections.Immutable.ImmutableArray:ToImmutableArray(System.Collections.Generic.IEnumerable`1[__Canon]):System.Collections.Immutable.ImmutableArray`1[__Canon]
; gcrRegs -[rdx r14]
; gcr arg pop 0
```
Bruce Forstall [Thu, 10 Dec 2020 00:15:47 +0000 (16:15 -0800)]
Don't batch the SuperPMI collection job (#45861)
The SuperPMI collection job gets triggered whenever the JIT-EE GUID changes.
We need a collection every time that happens. If, in the unlikely circumstance,
two GUID changes happen in quick succession, we don't want to skip
one due to batching, as that would leave us a window where there are
no collections corresponding to a range of commits.
Viktor Hofer [Wed, 9 Dec 2020 23:54:05 +0000 (00:54 +0100)]
Fix MicrosoftNetCoreAppRefPackRefDir calculation (#45864)
MicrosoftNetCoreAppRefPackRefDir was redefined on NetCoreAppCurrent and relied on the ResolvedFrameworkReference item which isn't available when an SDK is used that doesn't support the current TFM yet. Redefining MicrosoftNetCoreAppRefPackRefDir on NetCoreAppCurrent isn't necessary and will stop the wrong calculation of the property.
Aaron Robinson [Wed, 9 Dec 2020 23:17:18 +0000 (15:17 -0800)]
Fix ComWrappers interaction with the IReferenceTracker interface (#45624)
* Fix ComWrappers' leak in aggregation scenario
Convert Managed Object Wrapper (MOW) GC Handle from HNDTYPE_STRONG
to HNDTYPE_REFCOUNTED.
Add new CreateObjectFlags value to indicate aggregation during
CreateObject scenario. This isn't reflected in the managed
.NET 5 API surface area.
In the ReferenceTracker scenario the ref count may never reach 0 so
the MOW destructor needs to handle that case. The previous expectation
for a null in the destructor was based on the STRONG handle logic.
During aggregation scenarios involving ReferenceTracker, ownership
of the inner is now the responsibility of the runtime.
* ComWrappers tests
Matt Galbraith [Wed, 9 Dec 2020 22:30:44 +0000 (14:30 -0800)]
Upgrade pip before installing azure-storage-blob (#45869)
A breaking change in PEP517 for installing the dependencies of azure-storage-blob means older PIPs cannot install this. It's good hygiene (and quick) to always update PIP
monojenkins [Wed, 9 Dec 2020 22:23:24 +0000 (17:23 -0500)]
Use explicit arithmetic checks in the amd64 watchOS simulator. (#45769)
Fixes https://github.com/mono/mono/issues/20632.
Co-authored-by: imhameed <imhameed@users.noreply.github.com>
Viktor Hofer [Wed, 9 Dec 2020 21:49:58 +0000 (22:49 +0100)]
Set GenerateErrorForMissingTargetingPacks to false (#45858)
Larry Ewing [Wed, 9 Dec 2020 21:48:09 +0000 (15:48 -0600)]
expand console arguments when writing them out (#44632)
* expand cosole arguments when writing them out
* Update src/mono/wasm/debugger/DebuggerTestSuite/Support.cs
* Update src/mono/wasm/debugger/DebuggerTestSuite/Support.cs
Co-authored-by: Ankit Jain <radical@gmail.com>
Eric Erhardt [Wed, 9 Dec 2020 21:39:07 +0000 (15:39 -0600)]
Address ILLink warning in InteropServices.JavaScript (#45727)
* Address ILLink warning in InteropServices.JavaScript
In order to make the code trimming-compatible, a slight behavior change was made. The SetupJSContinuation method will only get the Result of Task<TResult> objects. If an object derives from the base Task class, and defines its own Result property, SetupJSContinuation will no longer respect that property.
This was done so the behavior remains consistent between trimmed and untrimmed applications.
Contributes to #45623
dotnet-maestro[bot] [Wed, 9 Dec 2020 20:53:35 +0000 (20:53 +0000)]
[master] Update dependencies from dotnet/arcade (#45836)
[master] Update dependencies from dotnet/arcade
Zoltan Varga [Wed, 9 Dec 2020 20:21:33 +0000 (15:21 -0500)]
Build wasm with some extra flags so c++ EH works. Remove obsolete wasm options. (#45817)
Kunal Pathak [Wed, 9 Dec 2020 18:30:46 +0000 (10:30 -0800)]
Use Windows.10.Amd64.X86 to run superpmi (#45732)
* Use dedicated queue Windows.10.Amd64.CoreAppCompat.Pr to run superpmi job
* Use correct queue name
Patrick Kranz [Wed, 9 Dec 2020 18:30:23 +0000 (19:30 +0100)]
Added Nullable Anotation to XmlResolver Property of XmlDocument (#45767)
* Added Nullable Anotation to XmlResolver Property of XmlDocument
* Add nullable anotation on ref assembly
Co-authored-by: Patrick Kranz <p.kranz@seeburger.de>
Alexander Köplinger [Wed, 9 Dec 2020 17:40:50 +0000 (18:40 +0100)]
Remove hardcoded paths to *AppBuilder task dlls (#45838)
Now that the msbuild properties for the paths to these dlls are in the root Directory.Build.props we can remove the hardcoded paths.
Alexander Köplinger [Wed, 9 Dec 2020 17:09:36 +0000 (18:09 +0100)]
Update buildtriage.md with a few fixed and new rotation assignments (#45845)
Alexander Köplinger [Wed, 9 Dec 2020 16:34:50 +0000 (17:34 +0100)]
Allow building iOS device builds without codesigning (#45837)
This will be required for building on CI and can be enabled by passing `-` to the DevTeamProvisioning msbuild property.
Eric StJohn [Wed, 9 Dec 2020 16:27:38 +0000 (08:27 -0800)]
Fix emitted IgnoreAccessChecksToAttribute.AssemblyName property (#45029)
Previously this would emit an empty property.
```
.property instance string AssemblyName()
{
}
```
Now it correctly emits a property with getter.
```
.property instance string AssemblyName()
{
.get instance string System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute::get_AssemblyName()
}
```
dotnet-maestro[bot] [Wed, 9 Dec 2020 13:20:52 +0000 (14:20 +0100)]
[master] Update dependencies from mono/linker (#45734)
* Update dependencies from https://github.com/mono/linker build
20201207.3
Microsoft.NET.ILLink.Tasks
From Version 6.0.0-alpha.1.20607.2 -> To Version 6.0.0-alpha.1.20607.3
* Update dependencies from https://github.com/mono/linker build
20201208.1
Microsoft.NET.ILLink.Tasks
From Version 6.0.0-alpha.1.20607.2 -> To Version 6.0.0-alpha.1.20608.1
* Update dependencies from https://github.com/mono/linker build
20201208.2
Microsoft.NET.ILLink.Tasks
From Version 6.0.0-alpha.1.20607.2 -> To Version 6.0.0-alpha.1.20608.2
* Update dependencies from https://github.com/mono/linker build
20201208.3
Microsoft.NET.ILLink.Tasks
From Version 6.0.0-alpha.1.20607.2 -> To Version 6.0.0-alpha.1.20608.3
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
dotnet-maestro[bot] [Wed, 9 Dec 2020 13:20:38 +0000 (13:20 +0000)]
[master] Update dependencies from dotnet/icu dotnet/arcade dotnet/runtime-assets dotnet/llvm-project (#45758)
[master] Update dependencies from dotnet/icu dotnet/arcade dotnet/runtime-assets dotnet/llvm-project
monojenkins [Wed, 9 Dec 2020 13:10:19 +0000 (08:10 -0500)]
Enable YMM context support on Windows. (#45829)
Controlled using MONO_HAVE_SIMD_REG_AVX define, disabled by default.
Co-authored-by: lateralusX <lateralusX@users.noreply.github.com>
monojenkins [Wed, 9 Dec 2020 13:06:50 +0000 (08:06 -0500)]
Add support for external icalls not using a wrapper. (#45766)
Add support to register an external icall getting minimal runtime overhead when called. An icall that can be used without a wrapper needs to follow specific rules in order to correctly collaborate with runtime. All functions are currently internal only and only accessible by runtime or embedders using static linking and fully acknowledge that this is not an optimization available as a public API.
Co-authored-by: lateralusX <lateralusX@users.noreply.github.com>
Alexander Köplinger [Wed, 9 Dec 2020 12:57:08 +0000 (13:57 +0100)]
Remove autotools dependencies from the build requirements (#45825)
Now that Mono has switched to CMake we no longer need the autoconf, automake and libtool build dependencies.
Adam Sitnik [Wed, 9 Dec 2020 12:39:25 +0000 (13:39 +0100)]
Remove some allocations related to storing CacheEntry scopes (#45563)
* CacheEntryStack._previous is never used so it can be removed
* remove CacheEntryStack and ScopeLease as it's enough to have just AsyncLocal<CacheEntry>
* the first Entry created has no previous entry, so the field is set to null
* Update src/libraries/Microsoft.Extensions.Caching.Memory/src/CacheEntryHelper.cs
Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
FireCubeStudios [Wed, 9 Dec 2020 11:11:49 +0000 (12:11 +0100)]
Added Rebecca Purple (#42785)
* Added Rebecca Purple
Added Rebecca Purple color to System.Drawing.Color
Added RebeccaPurple (#663399) to KnownColorNames.cs, Color.cs, KnownColortable.cs and KnownColor.cs
#38244
* Added RebeccaPurple to UnitTest and Ref
Added RebeccaPurple color to the UnitTest and to the ref
Added RebeccaPurple a,r,g,b value to unittest in System.Drawing.Primitive. Also updated the ref.
#38244
* Added RebeccaPurple to the system.drawing.primitive ref
Added RebeccaPurple color to the System.Drawing.Primitive ref file.
"RebeccaPurple = 141" was added. I updated the other colors to their previous number by one.
#38244
* Reverted breaking changes in drawing.primitive ref
Reverted the breaking changes in system.drawing.primivite ref.
the numbers of colors were restored back and i removed rebeccapurple.
#38244
* Added RebeccaPurple to the ref
I added rebeccapurple to the ref file with value 175.
RebeccaPurple was added with value 175 to the bottom of the enum.
#38244
* Added rebeccapurple to bottom of Knowncolors.cs
I added rebeccapurple to theend of the file
RebeccaPurple was added to the bottom of the enum.
#38244
* Added Rebecca Purple
Added Rebecca Purple color to System.Drawing.Color
Added RebeccaPurple (#663399) to KnownColorNames.cs, Color.cs, KnownColortable.cs and KnownColor.cs
#38244
* Added RebeccaPurple to UnitTest and Ref
Added RebeccaPurple color to the UnitTest and to the ref
Added RebeccaPurple a,r,g,b value to unittest in System.Drawing.Primitive. Also updated the ref.
#38244
* Added RebeccaPurple to the system.drawing.primitive ref
Added RebeccaPurple color to the System.Drawing.Primitive ref file.
"RebeccaPurple = 141" was added. I updated the other colors to their previous number by one.
#38244
* Reverted breaking changes in drawing.primitive ref
Reverted the breaking changes in system.drawing.primivite ref.
the numbers of colors were restored back and i removed rebeccapurple.
#38244
* Added RebeccaPurple to the ref
I added rebeccapurple to the ref file with value 175.
RebeccaPurple was added with value 175 to the bottom of the enum.
#38244
* Added rebeccapurple to bottom of Knowncolors.cs
I added rebeccapurple to theend of the file
RebeccaPurple was added to the bottom of the enum.
#38244
* Fixed some of the requested changes with ordering of Enum
Removed a comment in "knowncolor.cs" and moved rebeccapurple to match enum order.
moved rebeccapurple in knowncolortable.cs, color.cs, and knowncolornames.cs
#38244
* Removed duplicates and added a comment
Added a comment in KnownColorNames.cs stating that the array follows order of knowncolor enum. Also removed duplicate rebeccapurple entries
#38244
* Fixing up the handling of RebeccaPurple
* Added a comment to explain changes
Added a comment in KnownColortable.cs stating that the code accounts for the system colors and new rebeccapurple color
#38244
Co-authored-by: Tanner Gooding <tagoo@outlook.com>
Sung Yoon Whang [Wed, 9 Dec 2020 08:09:35 +0000 (00:09 -0800)]
Fix EventPipeSession::WriteEventSuspend (#45672)
* wait for session write to finish in EventPipeBufferManager
* fix comment
* fix typo
* remove yieldwhile
Kenneth Pouncey [Wed, 9 Dec 2020 04:58:14 +0000 (05:58 +0100)]
[browser][websocket] Throw OperationCanceledException on connect (#44722)
* [browser][websocket] Throw OperationCanceledException on connect if cancel was requested before.
* try to handle cancellation in connect stage
* Add new test for inflight connect
- Add new supported property for skipping particular tests when Browser is detected and DOM is detected.
* first pass at throwing pnse when websocket is missing
* Address review comment
* Make the platform check explicit
* Revert CreateDefaultOptions change
* Address review comment
Co-authored-by: Larry Ewing <lewing@microsoft.com>
Santiago Fernandez Madero [Wed, 9 Dec 2020 04:46:44 +0000 (20:46 -0800)]
Disable long running Socket test on Mono (#45811)
Santiago Fernandez Madero [Wed, 9 Dec 2020 01:45:52 +0000 (17:45 -0800)]
Add workarounds for brew on old OSX images (#45802)
* Add workarounds for brew on old OSX images
* Don't remove openssl directories
Andy Ayers [Wed, 9 Dec 2020 01:11:46 +0000 (17:11 -0800)]
JIT: remove early prop's type propagation (#45655)
This doesn't do any actual propagation, so remove it and the associated
tracking flags.
Jeremy Koritzinsky [Wed, 9 Dec 2020 00:43:08 +0000 (16:43 -0800)]
Add a blurb on the x86 calling convention to clr-abi.md (#45807)
Co-authored-by: Sergey Andreenko <seandree@microsoft.com>
Dan Moseley [Tue, 8 Dec 2020 23:58:11 +0000 (15:58 -0800)]
Update using-dotnet-cli.md (#45717)
* Update using-dotnet-cli.md
* Update using-dotnet-cli.md
Change versions to 6.0
* Update using-dotnet-cli.md
* Update using-dotnet-cli.md
* Update using-dotnet-cli.md
* Update using-dotnet-cli.md
Vladimir Sadov [Tue, 8 Dec 2020 23:50:10 +0000 (15:50 -0800)]
renaming `clrcompression` --> `System.IO.Compression.Native` (#45713)
* renaming `clrcompression` --> `System.IO.Compression.Native`
* rename `clrcompression.def` file
* exclude `System.*.Native.dll` when creating managed shims
* static library should be `System.IO.Compression.Native.lib` on Windows. Same as Globalization - without `lib` prefix
* revert change to the resource string in tests
* move consts to src/Interop, remove `lib` prefix on Windows
* Delete what used to be System.IO.Compression.clrcompression package
* Preserve old PlatformManifestFileEntry for clrcompression.dll
* partially revert the src\Interop change
* Adjust projects for removal of `Interop\Interop.Libraries.cs`
revert 1
* Undo entire System.IO.Compression.csproj to get rid of an invisible edit.
Eric Erhardt [Tue, 8 Dec 2020 23:33:56 +0000 (17:33 -0600)]
Ensure XslCompiledTransform works with TrimMode=link (#45522)
Resolve ILLinker warnings in Xml.Xsl in order to make a basic Xslt scenario work.
Fix #45393
Eric Erhardt [Tue, 8 Dec 2020 23:32:02 +0000 (17:32 -0600)]
Address remaining Ref.Emit ILLink warnings in Mono. (#45723)
* Address remaining Ref.Emit ILLink warnings in Mono.
Contributes to #45623
* Remove mono suppressions file from illink-sharedframework.targets
monojenkins [Tue, 8 Dec 2020 22:03:02 +0000 (17:03 -0500)]
[aot] Don't force gsharedvt to be enabled in llvmonly+interp mode. (#45687)
Co-authored-by: vargaz <vargaz@users.noreply.github.com>
Jan Kotas [Tue, 8 Dec 2020 20:16:36 +0000 (12:16 -0800)]
Simplify devirtualization in crossgen2 (#45744)
Eric StJohn [Tue, 8 Dec 2020 19:23:00 +0000 (11:23 -0800)]
Update package baseline for 5.0.1 (#45775)
Zoltan Varga [Tue, 8 Dec 2020 19:14:56 +0000 (14:14 -0500)]
Add support for MONO_TYPE_FNPTR to aot. (#45616)
Fixes https://github.com/dotnet/runtime/issues/45548.
Jan Kotas [Tue, 8 Dec 2020 18:40:17 +0000 (10:40 -0800)]
Find&Replace coreclr/src -> coreclr (#45761)
Anton Firszov [Tue, 8 Dec 2020 18:09:03 +0000 (19:09 +0100)]
WinHttpHandler: apply [SupportedOSPlatform("windows10.0.19041")] on TcpKeepAlive properties (#45494)
WINHTTP_OPTION_TCP_KEEPALIVE is only available since the May 2020 Update, so it's reasonable to decorate the TcpKeepalive API with [SupportedOSPlatform]
monojenkins [Tue, 8 Dec 2020 17:48:04 +0000 (12:48 -0500)]
Fix LLVM link issues when compiling static library on Windows. (#45752)
Co-authored-by: lateralusX <lateralusX@users.noreply.github.com>
Viktor Hofer [Tue, 8 Dec 2020 15:24:24 +0000 (16:24 +0100)]
Add Microsoft StrongNameKey back to System.Composition* (#45756)
Viktor Hofer [Tue, 8 Dec 2020 12:31:52 +0000 (13:31 +0100)]
Move msbuild tasks into src folder and delete dead code (#45722)
* Move tools-local\tasks to src\tasks
* Delete dead task code
* nit installer.tasks.csproj changes
* Remove mobile.tasks intermediate folder
dotnet-maestro[bot] [Tue, 8 Dec 2020 10:34:03 +0000 (10:34 +0000)]
Update dependencies from https://github.com/dotnet/xharness build
20201207.2 (#45726)
[master] Update dependencies from dotnet/xharness
Peter Sollich [Tue, 8 Dec 2020 10:29:08 +0000 (11:29 +0100)]
Equalize marklists (#41599)
Equalize mark lists across GC heaps in Server GC.
With real world workloads, we observe that the size of the mark lists is often very uneven across the heaps. This will also lead to uneven sort times across the heaps. As the GC threads need to synchronize at the end of sort_mark_list, the GC threads with less work will need to wait for those with more work to finish.
Therefore, it should be advantageous to even out the workload before we start sorting.
This PR does this adding a new method equalize_mark_lists that is called at the beginning of sort_mark_list. This method is executed in parallel on all GC threads and computes what pieces of the mark list need to be moved from one heap to another to achieve an even distribution. To avoid additional synchronization, each GC thread only writes its own mark list, and treats the other mark lists as read-only.
Performance analysis for a real-word scenario showed a 2.0 ms (3.2%) reduction in GC pause time.
Aaron Robinson [Tue, 8 Dec 2020 05:08:58 +0000 (21:08 -0800)]
COM Host - Invalid compute of default value string length (#45728)
Incorrectly compute the length of the default string value
for a registry key. This doesn't impact the actual COM
registration but does impact tooling that helps with COM
registration.
Ben Adams [Tue, 8 Dec 2020 04:47:55 +0000 (04:47 +0000)]
Fix .sln path for shared for coreclr (#45738)
Jan Kotas [Tue, 8 Dec 2020 04:43:26 +0000 (20:43 -0800)]
Fix conditions for implicit use of hardware intrinsics (#45662)
JIT uses hardware intrinsics implicitly in certain cases. Unlike regular hardware intrinsics, these
transformations are not guarded using explicit IsSupported checks. NativeAOT had fragile code that tried
to step around this limitation. This change makes this contract explicit by allowing notifyInstructionSetUsage
callback to return bool that the EE side can use to suppress implicit use of hardware intrinsics.
Fixes dotnet/runtimelab#425
Andy Gocke [Tue, 8 Dec 2020 03:21:23 +0000 (19:21 -0800)]
Change temp folder name used in installer tests (#45523)
Tests in the AppHost.Bundle.Tests assembly seem to randomly fail due to a race condition
with the file system. They try to create separate '0','1','2'... subdirectories to isolate
the published files for each test, but I think what's happening is that files may be
marked for deletion, but then not deleted until a later write. For instance, files in
'2' may be marked for deletion and some may fail a File.Exists check, which leads to
'2' being recreated, at which point deletion may occur, which will cause the current test
to fail due to a concurrent write operation.
This change tries to avoid locking & contention by randomly generating folder names and
using a (hopefully atomically created) lock file to indicate ownership of a particular name.
Fixes #43316
Tomáš Rylek [Tue, 8 Dec 2020 02:19:44 +0000 (03:19 +0100)]
December infra rollout - remove duplicated 'src' from coreclr subrepo (src/coreclr/src becomes src/coreclr) (#44973)
* Move src/coreclr/src/Directory.Build.targets to src/coreclr
Merge src/coreclr/src/CMakeLists.txt into src/coreclr/CMakeLists.txt
* Mechanical move of src/coreclr/src to src/coreclr
* Scripts adjustments to reflect the changed paths
John Salem [Tue, 8 Dec 2020 01:21:04 +0000 (17:21 -0800)]
Enable StressLog for subprocess in EventPipe tests (#45425)
SingleAccretion [Tue, 8 Dec 2020 00:26:18 +0000 (03:26 +0300)]
Reword the note on redundancy of frequent clean builds (#45718)
Viktor Hofer [Tue, 8 Dec 2020 00:06:30 +0000 (01:06 +0100)]
Move regenerate-download-table and cleanup (#45724)
Adeel Mujahid [Tue, 8 Dec 2020 00:05:07 +0000 (02:05 +0200)]
Add default case in RLimitResources switch (#45707)
* Add default case in RLimitResources switch
* Fix cmake warning in libs, showing up in -s clr too
David Wrighton [Mon, 7 Dec 2020 22:12:04 +0000 (14:12 -0800)]
There is one true bool and it is bool (#45630)
While reviewing a PR by @AndyAyersMS, I saw that @Rattenkrieg had noticed our variable use of the `bool` and `BOOL` types. This change converts all BOOL usage to bool in the jit interface api,
- This change should have no impact on anything but the jit interface api surface
- I have a goal of converting the jit interface to be loadable in a non-PAL based header environment. As part of that BOOL as well as many other Windowsisms will need to go away and be replaced by standard types
- This was just the first type, although its the only type change that I believe will necessitate changes in the managed crossgen2 codebase
Huo Yaoyuan [Mon, 7 Dec 2020 22:11:04 +0000 (06:11 +0800)]
Add CompressionLevel.SmallestSize (#41960)
* Add CompressionLevel.SmallestSize and map to ZLibNative.CompressionLevel.BestCompression.
* Update xmldoc for CompressionLevel.
* Fix xml doc on ZLibNative.CompressionLevel.
* Apply suggestion from review
Co-authored-by: Dan Moseley <danmose@microsoft.com>
* Add SmallestSize to tests.
* Add test for compression level and sizes.
* Update src/libraries/Common/tests/System/IO/Compression/CompressionStreamUnitTestBase.cs
* Brotli
* Re-add size in order test.
Co-authored-by: Dan Moseley <danmose@microsoft.com>
Layomi Akinrinade [Mon, 7 Dec 2020 22:06:56 +0000 (14:06 -0800)]
Update CODEOWNERS (#45620)
Mitchell Hwang [Mon, 7 Dec 2020 21:21:01 +0000 (16:21 -0500)]
[wasm] Add WasmAppBuilder pkgproj for wasm sample (#44749)
* Add wasm sample pkgproj
* Add wasm Sample pkgproj to descriptions
* Add wasm sample pkgproj ProjectReference
* Add packaging target
* Update to use NetCoreAppToolCurrent
Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>
dotnet-maestro[bot] [Mon, 7 Dec 2020 21:20:07 +0000 (21:20 +0000)]
Update dependencies from https://github.com/dotnet/xharness build
20201207.1 (#45684)
[master] Update dependencies from dotnet/xharness
Ryan Lucia [Mon, 7 Dec 2020 19:51:31 +0000 (14:51 -0500)]
Add test for exception propagation inside loader events (#43910)
James Newton-King [Mon, 7 Dec 2020 19:43:03 +0000 (08:43 +1300)]
Enable nullable on HostFactoryResolver (#45513)
Koundinya Veluri [Mon, 7 Dec 2020 19:20:33 +0000 (11:20 -0800)]
Update portable thread pool event enablement checks (#45681)
* Revert "Make PortableThreadPool to check events correctly before firing them (#45666)"
This reverts commit
83d19de66a596ff5e0ad0519e48dff62945cc636.
* Add keyword and verbosity checks for events
Reverted the part of https://github.com/dotnet/runtime/pull/38225/commits/
e8043ffa05450b1983a1e751d0a1af80e43e1f31 regarding `IsEnabled` checks
monojenkins [Mon, 7 Dec 2020 18:11:16 +0000 (13:11 -0500)]
[aot] Store the addresses of aot constants in an array instead of using a switch statement on wasm to save space. (#45669)
Co-authored-by: vargaz <vargaz@users.noreply.github.com>
Carol Eidt [Mon, 7 Dec 2020 17:56:50 +0000 (09:56 -0800)]
Combine free and busy register allocation (#45135)
* Combine free and busy allocation
Perform register allocation for a given RefPosition
with a single traversal of the registers, whether free
or busy.
* More refactoring
* More refactoring to separate evaluation of heursitics.
* More refactoring to simplify configuration.
Fix one source of arm32 double diffs.
* Delete unused `registerIsAvailable` method
Fix `nextPhysRefLocation` computation for Arm32
* Use `UNIT_MAX` not `MAXUINT`
* clear constantReg when interval is moved
* Fix merge issues
* Fix weight
* Fix spill cost update for UpperVectors
* Fix a bug in reload of multireg call on Arm64
* FixedReg fixes
* Review feedback and other cleanup
* Call clearConstanReg before nulling out the interval, so that we can correctly handling doubles on ARM
* Minor cleanup
* Formatting changes
* Other minor pending fixes
Co-authored-by: Kunal Pathak <Kunal.Pathak@microsoft.com>
Adeel Mujahid [Mon, 7 Dec 2020 17:54:54 +0000 (19:54 +0200)]
Fix GNU linker detection on FreeBSD (#45664)
dotnet-maestro[bot] [Mon, 7 Dec 2020 17:00:56 +0000 (18:00 +0100)]
[master] Update dependencies from mono/linker (#45565)
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Eric Erhardt [Mon, 7 Dec 2020 16:37:35 +0000 (10:37 -0600)]
Suppress ILLink warnings in Reflection (#45603)
* Suppress RunClassConstructor ILLinker warning in RuntimeConstructorInfo
This instance is the static constructor, so the static constructor will be present.
* Suppress ILLink warning in CustomAttributeData.Init.
Update ILLink.Suppressions file.
dotnet-maestro[bot] [Mon, 7 Dec 2020 11:45:38 +0000 (11:45 +0000)]
Update dependencies from https://github.com/dotnet/xharness build
20201204.1 (#45626)
[master] Update dependencies from dotnet/xharness
Sung Yoon Whang [Mon, 7 Dec 2020 04:24:15 +0000 (20:24 -0800)]
Make PortableThreadPool to check events correctly before firing them (#45666)
Vladimir Sadov [Mon, 7 Dec 2020 04:08:41 +0000 (20:08 -0800)]
Static linking of native libs (#44505)
* from prototype
* fix OSX
* fix for Android
* treat "libSystem.Globalization.Native" as QCall in mono too (for now).
* fix for wasm
* fix pedantic errors on GCC
* delete gPalGlobalizationNative
* pass overrider from the host
* default override
* default PInvoke override runs after optional host-provided overrider.
* Some PR feedback (mostly related to code, not the CMake stuff).
* more coding PR feedback
* Deleted "libraries-native" folder.
* unifying tryrun.cmake into 1 common file
* factor out adding lib-specific dependencies into one place (per native library)
* cleanup: entirely remove tryrun.cmake propagation in eng, gen-buildsys, build-commons, and build scripts
* remove "clrcompression.dll" and "libSystem.IO.Compression.Native.dylib" from single-file host packaging
* mono: refactor Globalization lookup into `default_resolve_dllimport`.
* set FEATURE_DISTRO_AGNOSTIC_SSL according to __PortableBuild
* CORECLR_CALLING_CONVENTION for the host callback types
* refactor common parts of entrypoints.c into entrypoints.h
* rename OverrideEntry --> DllImportEntry
* extra libs as CMake functions
* use macros instead of functions in extra_libs.cmake
* mono formatting style in src/mono/mono/metadata/native-library.c
Co-authored-by: Ryan Lucia <ryan@luciaonline.net>
* mono: Remaining stylistic nits.
Co-authored-by: Ryan Lucia <ryan@luciaonline.net>
* do not set DFEATURE_DISTRO_AGNOSTIC_SSL on iOS, Android, tvOS
Co-authored-by: Ryan Lucia <ryan@luciaonline.net>
Jan Kotas [Sun, 6 Dec 2020 20:42:39 +0000 (12:42 -0800)]
Delete redundant DivMod implementation (#45652)
Jan Kotas [Sun, 6 Dec 2020 19:33:18 +0000 (11:33 -0800)]
Delete IsIntrinsicWorkaround (#45656)
Tomáš Rylek [Sun, 6 Dec 2020 19:10:56 +0000 (20:10 +0100)]
Add support for diffing GC ref map info to R2RDump; small bugfix (#45619)