Stephen Toub [Fri, 20 Nov 2020 15:40:20 +0000 (10:40 -0500)]
Use TryParseUInt32HexNumberStyle directly from Guid.TryParse (#44918)
Skips public entry points of uint.TryParse, including argument validation, branches for style, but most impactfully fetching the current number culture when it won't actually be needed.
Levi Broderick [Fri, 20 Nov 2020 15:38:00 +0000 (07:38 -0800)]
Use substitute SHA-1 implementation in wasm (#44982)
* Use different managed SHA-1 implementation
* Add missing call to Start
Adeel Mujahid [Fri, 20 Nov 2020 15:37:07 +0000 (17:37 +0200)]
Fix parsed RID condition for VS (#44998)
Eric Erhardt [Fri, 20 Nov 2020 15:35:39 +0000 (09:35 -0600)]
Increase Hosting test delay to fix flaky BackgroundServiceAsyncExceptionGetsLogged test. (#44953)
* Increase Hosting test delay to fix flaky BackgroundServiceAsyncExceptionGetsLogged test.
Fix #43389
* Use a Task to control the delay on the background service.
Juan Hoyos [Fri, 20 Nov 2020 14:34:29 +0000 (06:34 -0800)]
Preserve symbols in dbgshim (#44970)
* Preserve symbols in the dbgshim
* Remove unused library group option.
Tom Deseyn [Fri, 20 Nov 2020 14:19:55 +0000 (15:19 +0100)]
Fix pal cgroup v2 implementation (#44990)
* Fix pal cgroup v2 implementation
Fixes two issues in src/pal/src/misc/cgroup.cpp:
* No subsystem match must be performed for cgroup v2.
* Incorrect arguments for sscanf_s when reading cgroup path.
The src/gc/unix/cgroup.cpp implementation doesn't have these issues.
* Rename is_subsystem_match to isSubsystemMatch
Shreyas Jejurkar [Fri, 20 Nov 2020 11:27:36 +0000 (03:27 -0800)]
Removed unwanted ManualResetEvent from ServiceController (#44716)
* Removed unwanted ManualResetEvent from ServiceController
Fixes https://github.com/dotnet/runtime/issues/44699
* Addressed PR feedback.
Added delay of 250 ms.
Anton Lapounov [Fri, 20 Nov 2020 08:36:32 +0000 (00:36 -0800)]
Build osx-x64 Crossgen2 package (#44984)
Stephen Toub [Fri, 20 Nov 2020 05:07:08 +0000 (00:07 -0500)]
Fix handling of \G in Regex.Split/Replace (#44975)
In our optimized Regex.Split loop, we failed to update runtextstart, which means the \G anchor (aka starting where the previous match ended).
Viktor Hofer [Thu, 19 Nov 2020 23:46:44 +0000 (00:46 +0100)]
Fix syntax error in Signing.props (#44971)
Steve Pfister [Thu, 19 Nov 2020 23:40:23 +0000 (18:40 -0500)]
Enables the interpreter on iOS (#44911)
To enable on tests, you can pass MonoForceInterpreter=true as an extra MSBuild property.
AppleAppBuilder will also have a ForceInterpreter property on it in order to flow down to device / simulator.
Marek Safar [Thu, 19 Nov 2020 23:25:25 +0000 (00:25 +0100)]
Use simple convert method for internal bool to ulong enum conversion (#44942)
Simon Nattress [Thu, 19 Nov 2020 23:16:41 +0000 (15:16 -0800)]
Move xunit test harness to its own directory under core_root (#44921)
Running `xunit.console` from within the CoreRoot directory is problematic. It is executed by the shared runtime but has a full copy of the runtime and framework libraries next to it from which assemblies are getting loaded despite being for a pre-release test runtime.
Place the xunit assemblies under `<core_root>/xunit` and update the places that invoke it in local and Helix test runs.
The loaded tests do reference the xunit assemblies so they need to also be available in core_root for when the tests run (with the exception of the harness specific assemblies like xunit.console).
Jeremy Koritzinsky [Thu, 19 Nov 2020 23:01:30 +0000 (15:01 -0800)]
Fix post build signing props and enable post build signing. (#44951)
Zoltan Varga [Thu, 19 Nov 2020 22:42:01 +0000 (17:42 -0500)]
Run class cctor in RuntimeHelpers.GetUninitializedObject(type). (#44898)
* Run class cctor in RuntimeHelpers.GetUninitializedObject(type).
Fixes https://github.com/dotnet/runtime/issues/44852.
* Reenable test.
* Don't run the cctor for beforefieldinit classes.
Steve Harter [Thu, 19 Nov 2020 21:16:38 +0000 (15:16 -0600)]
Custom attribute properties were not always applied correctly (#44813)
Adeel Mujahid [Thu, 19 Nov 2020 21:04:40 +0000 (23:04 +0200)]
Use multibyte character path for bundle_probe (#44466)
Tomáš Rylek [Thu, 19 Nov 2020 20:59:40 +0000 (21:59 +0100)]
Mark stress log critical section as compatible with shutdown (#44937)
Fixes: https://github.com/dotnet/runtime/issues/43571
Bruce Forstall [Thu, 19 Nov 2020 20:22:28 +0000 (12:22 -0800)]
Remove temporary SuperPMI scripting code (#44962)
Now that we have new SPMI collections, after
https://github.com/dotnet/runtime/pull/44834,
remove temporary scripting code.
Wei Zheng [Thu, 19 Nov 2020 20:07:20 +0000 (04:07 +0800)]
Fix NRE on EmitCalli (#44452)
Stephen Toub [Thu, 19 Nov 2020 19:50:16 +0000 (14:50 -0500)]
Delete NetEventSource.IsEnabled (#44901)
* Delete NetEventSource.IsEnabled
These were all meant to be changed to NetEventSource.Log.IsEnabled(), and there are almost 900 occurrences of that pattern. But there are still 9 stragglers, and the method itself. Deleting the method and fixing the call sites.
* Fix uses in NetEventSource itself
Adeel Mujahid [Thu, 19 Nov 2020 18:52:32 +0000 (20:52 +0200)]
Consolidate RID and native file naming in MSBuild scripts (#43804)
* Consolidate RID and native file naming in MSBuild scripts
* Use short variable names for native files naming convention, that are
used by `framework.sharedfx.targets` in arcade, and cleanup
redefinitions from crossgen2 and installer. e.g. `ExeSuffix` instead
of `ApplicationFileExtension`, `LibSuffix` instead of
`LibraryFileExtension` and so on.
* Calculate `TargetArchitecture`, `NonPortableRuntimeOS` (for
`PortableBuild`) and `PackageRID` values once for the entire
livebuild, inside `eng/Configurations.props`. This implementation is
a union of three varied implementations that are being deleted.
* Import `names.props` once in `eng/Configurations.props` based on
calculated `PackageRID` and cleanup imports of this file from various
places.
* Combine OS targets definition in MSBuild scripts.
* Delete legacy tooling properties
* Delete legacy tooling properties
Drew Scoggins [Thu, 19 Nov 2020 18:33:55 +0000 (10:33 -0800)]
Fix SoD input path (#44954)
Brian Sullivan [Thu, 19 Nov 2020 18:09:57 +0000 (10:09 -0800)]
Fix issue 44646 - ILAsm incorrectly handles method .custom attribute when we have generic type constraint (#44850)
* Fix issue 44646 - ILAsm incorrectly handles method .custom attribute when we have generic type constraint
The IL Assembler incorrectly dropped a .custom attribute for the method
This only occurred when the inline syntax for generic type parameters was used in the method definition.
This behavior can also occur for a generic class definition.
* Fix typo in comment
Simon Nattress [Thu, 19 Nov 2020 16:41:30 +0000 (08:41 -0800)]
Speed up Crossgen2 by 10% (#44917)
Server GC looks to improve Crossgen2 compile times by up to 15% so use it by default.
Jan Kotas [Thu, 19 Nov 2020 16:40:18 +0000 (08:40 -0800)]
Delete coreconsole test hosts (#44933)
Superceded by the shipping single-file hosts
Contributes to #44848
imhameed [Thu, 19 Nov 2020 16:35:51 +0000 (08:35 -0800)]
[mono] Re-enable /JIT/HardwareIntrinsics/General/NotSupported_{r,ro}/ (#44930)
imhameed [Thu, 19 Nov 2020 15:38:55 +0000 (07:38 -0800)]
[mono] Unconditionally check llvm::Expected<T> for success (#44908)
`assert()` will expand to a no-op if NDEBUG is defined, which can
cause an assertion-enabled LLVM to trap if an `llvm::Expected<T>` is
destroyed before having had `operator bool` applied to it.
Peter Sollich [Thu, 19 Nov 2020 13:31:55 +0000 (14:31 +0100)]
Increment breaking change no for doubly linked freelists (#44800)
Update breaking change number because doubly linked free lists use one additional bit in the method table pointer at the beginning of objects now.
Added a comment noting that gcDacVars->major_version_number that is set in gc.cpp is not actually checked by SOS, so SOS_BREAKING_CHANGE_VERSION should be updated if GC changes in a way that is incompatible with the existing SOS.
Johan Lorensson [Thu, 19 Nov 2020 11:58:31 +0000 (12:58 +0100)]
Move EventPipe C library into shared location. (#44791)
* Move C EventPipe library into shared location.
* Fix CMake build and add CMake eventpipe test runner build.
Zoltan Varga [Thu, 19 Nov 2020 10:24:37 +0000 (05:24 -0500)]
Add AOT support for the EntryPoint property for UnmanagedCallersOnly. (#44809)
* Change mono_reflection_create_custom_attr_data_args_noalloc () so it returns the beginning of the metadata string so its length can be computed.
* Add AOT support for the EntryPoint property for UnmanagedCallersOnly.
Fixes https://github.com/dotnet/runtime/issues/44803.
* Update src/mono/mono/mini/driver.c
Co-authored-by: Aleksey Kliger (λgeek) <akliger@gmail.com>
Co-authored-by: Aleksey Kliger (λgeek) <akliger@gmail.com>
monojenkins [Thu, 19 Nov 2020 08:46:51 +0000 (03:46 -0500)]
Fix s390x unwinding and remove need for backchain pointer (#44927)
Fix unwinding for s390x. Removes the `-mbackchain` flag that had been used in the past when unwinding stack frames but has not been required for sometime. This should also improve performance.
Co-authored-by: nealef <nealef@users.noreply.github.com>
Marek Safar [Thu, 19 Nov 2020 08:23:17 +0000 (09:23 +0100)]
Use simple array for AggregateException inner exceptions storage (#44787)
* Use simple array for AggregateException inner exceptions storage
* Replace cases which called into InnerExceptions inside SPC
* Update src/libraries/System.Private.CoreLib/src/System/AggregateException.cs
Co-authored-by: Stephen Toub <stoub@microsoft.com>
* Fix typo
Co-authored-by: Stephen Toub <stoub@microsoft.com>
Krzysztof Wicher [Thu, 19 Nov 2020 08:16:00 +0000 (09:16 +0100)]
Fix regression in XDocumentType (#44868)
Juan Hoyos [Thu, 19 Nov 2020 06:10:51 +0000 (22:10 -0800)]
Ensure Debugging assets are signed. (#44915)
Marek Safar [Thu, 19 Nov 2020 04:39:01 +0000 (05:39 +0100)]
Sync SPC File.cs implementation with full the implementation in SIF (#44902)
Tarek Mahmoud Sayed [Thu, 19 Nov 2020 03:20:17 +0000 (19:20 -0800)]
Fix ListSeparator with ICU (#44732)
Egor Chesakov [Thu, 19 Nov 2020 01:39:27 +0000 (17:39 -0800)]
For x86/x64, call a stack probe helper for all frame sizes equal or over one page (#44664)
Kevin Jones [Thu, 19 Nov 2020 01:18:12 +0000 (20:18 -0500)]
Verify that OCSP and CRL checks fall back.
Test that a CRL timeout chain build will use OCSP, and that an OCSP timeout chain build will use CRL.
Sergey Andreenko [Thu, 19 Nov 2020 00:40:54 +0000 (14:40 -1000)]
Change gtGetThisArg not to return nullptr. (#44398)
* Don't wrap string literal const as nop for CoreRT.
It was probably an old workaround for another Jit bug, it is most likely fixed by now.
* Change `gtGetThisArg` not to return `nullptr`.
There was only 1 case where a null return was tolerated - for a tail call in `optAssertionGen` marked as virtual.
However, a transformed tail call is never a virtual, fix `fgMorphTailCallViaJitHelper` to unset virtual flag.
* Keep x86 tail call via jit helper as a virtual stub call.
Bruce Forstall [Wed, 18 Nov 2020 23:50:37 +0000 (15:50 -0800)]
Make minor change to corinfo.h to test SuperPMI AzDO job trigger (#44893)
Adeel Mujahid [Wed, 18 Nov 2020 23:47:03 +0000 (01:47 +0200)]
Fix illumos managed build (#44386)
* Fix illumos managed build
* Fix CA1823 (unused private field) in `NetworkChange` partial for
`UnknownUnix`.
* Use official casing `illumos` in MSBuild property names (as done for
iOS).
* Fix Solaris version in test with SDK's PlatformDetection.
* only major version is needed.
* Implement Enviornment.WorkingSet for SunOS
Difference between Linux and SunOS procfs is that files in latter
contain binary data, so we need `read(2)` and cast into corresponding
struct. Redeclaring system structs in managed code is not ideal, as
they do change across the major versions of OS, which inevitably
requires recompilation of binaries and replicating them in C# as is
means additional/unnecessary maintenance of code.
* Address CR feedback
Anton Lapounov [Wed, 18 Nov 2020 23:24:32 +0000 (15:24 -0800)]
Improve dumping GC info in R2RDump (#44857)
The --raw command-line option used to dump bytes prefixed with their RVAs for all structures except GC blobs, which were dumped with file offsets instead. This change fixes that inconsistency. It also fixes the size reported by x86.GcInfo, which determines how many bytes to dump. In addition I simplified ReadyToRunMethod's code to store just the GC blob's RVA and avoid the delegate allocation.
LeaFrock [Wed, 18 Nov 2020 23:17:17 +0000 (07:17 +0800)]
Fix discuss #44785:optimize constructor of ElapsedEventArgs (#44853)
* optimize constructor of ElapsedEventArgs
* delete the old ctor
Stephen Toub [Wed, 18 Nov 2020 23:06:12 +0000 (18:06 -0500)]
Add test for Timer.Elapsed DateTime (#44881)
Eric Erhardt [Wed, 18 Nov 2020 22:57:23 +0000 (16:57 -0600)]
Remove unnecessary GetTypeInfo from Microsoft.Extensions. (#44891)
I also made a slight optimization to CallSiteFactory to use ToArray instead of ToList.
Jeremy Koritzinsky [Wed, 18 Nov 2020 22:41:58 +0000 (14:41 -0800)]
Delete now unused target in crossgen2.csproj. (#44888)
Signed-off-by: Jeremy Koritzinsky <jekoritz@microsoft.com>
Stephen Toub [Wed, 18 Nov 2020 22:39:56 +0000 (17:39 -0500)]
Remove some allocations from ManifestBuilder.CreateManifestString (#44532)
For the RuntimeEventSource, this removes around 30K of allocation, though that's only ~3% of what gets allocated.
Stephen Toub [Wed, 18 Nov 2020 22:21:45 +0000 (17:21 -0500)]
Fix nullable annotations on HttpClient.Post/Put/PatchAsync (#44880)
Null content is allowed.
Santiago Fernandez Madero [Wed, 18 Nov 2020 21:37:41 +0000 (13:37 -0800)]
Fix ComponentDocumentDesigner references in DesignerAttribute to include right base type (#44774)
* Fix IComponent Designer attribute that was missing base designer type
* Fix IRootDesigner references to use assembly qualified name
* Fix build failures
Bruce Forstall [Wed, 18 Nov 2020 21:18:14 +0000 (13:18 -0800)]
Change SuperPMI collection to not use altjit mechanism (#44834)
* Change SuperPMI collection to not use altjit mechanism
The SuperPMI collection process interposes a "shim" JIT between the JIT and EE.
As it is inconvenient to physically replace the existing JIT, currently this
is done by enabling altjit compilation and setting `COMPlus_AltJitName` to the
name of the shim JIT. This creates other inconvenience, especially with the
new way of saving the altjit flag in the JIT flags, by requiring us to
force the altjit flags bit to not be set, and force unset all the altjit flags.
It also makes it inconvenient to collect and/or replay with an actual altjit.
Change this collection mechanism to use the newly restored `COMPlus_JitName`
variable to allow specifying the JIT, and use that to specify the SuperPMI shim.
In addition, do not record in the MC file the `COMPlus_EnableExtraSuperPmiQueries`
variable. This is only used during collections to attempt to make replays more
flexible, but we never want to tell the JIT during replay that this is set.
* Enable `COMPlus_JitName` for crossgen as well
* Fix issue with empty collection args
Stephen Toub [Wed, 18 Nov 2020 20:02:11 +0000 (15:02 -0500)]
Avoid string.Split in LoggerRuleSelector.IsBetter (#44753)
Ben Adams [Wed, 18 Nov 2020 19:25:34 +0000 (19:25 +0000)]
Remove closure allocations from ServiceCollectionDescriptorExtensions (#44696)
Jeremy Koritzinsky [Wed, 18 Nov 2020 19:07:06 +0000 (11:07 -0800)]
Restore the Microsoft.NETCore.DotNetAppHost package since the SDK transitively uses it through the Microsoft.NETCore.DotNetHostResolver package. (#44883)
Stephen Toub [Wed, 18 Nov 2020 17:41:24 +0000 (12:41 -0500)]
Avoid string.Concat(params string[]) in SimpleConsoleFormatter.CreateDefaultLogMessage (#44765)
It's resulting in a string[] allocation and a string allocation, when we can instead just make a few more individual calls to Write and stackalloc the integer.
Levi Broderick [Wed, 18 Nov 2020 17:38:30 +0000 (09:38 -0800)]
GetUninitializedObject fixes & improved tests (#44843)
* Improve unit test coverage for GetUninitializedObject
* Normalize most checks between coreclr and mono
Stephen Toub [Wed, 18 Nov 2020 17:13:45 +0000 (12:13 -0500)]
Remove most LINQ usage from Microsoft.Extensions.Configuration (#44825)
Resulting in several hundred Func, IEnumerable, set, and string allocations at startup.
Vitek Karas [Wed, 18 Nov 2020 16:21:05 +0000 (08:21 -0800)]
Fix a comment in the bundle marker (#44874)
Kenneth Pouncey [Wed, 18 Nov 2020 16:14:23 +0000 (17:14 +0100)]
[browser][wasm] Cleanup debug statement (#44870)
Rikki Gibson [Wed, 18 Nov 2020 15:16:49 +0000 (07:16 -0800)]
Remove unnecessary suppression (#44811)
xtqqczze [Wed, 18 Nov 2020 13:37:25 +0000 (13:37 +0000)]
Use read-only auto-implemented property (#44677)
* Use read-only auto-implemented property in src\libraries\Common
Use read-only auto-implemented property (RCS1170)
https://github.com/JosefPihrt/Roslynator/blob/master/docs/analyzers/RCS1170.md
* Revert changes except to ComEventsMethod
Jan Kotas [Wed, 18 Nov 2020 13:00:29 +0000 (05:00 -0800)]
Integrate misc fixes from dotnet/runtimelab:NativeAOT (#44851)
Adam Sitnik [Wed, 18 Nov 2020 12:30:04 +0000 (13:30 +0100)]
few minor MemoryCache perf improvements (#44797)
* make ValidateCacheKey and CheckDisposed inlinable by moving throws to separate methods
* ensure that the check for expiration does not require a method call for the most common case
* update the last expiration scan when the Scan Task starts actual work
* Apply suggestions from code review
Co-authored-by: Stephen Toub <stoub@microsoft.com>
dotnet-maestro[bot] [Wed, 18 Nov 2020 10:49:34 +0000 (11:49 +0100)]
[master] Update dependencies from dotnet/arcade (#44835)
* Update dependencies from https://github.com/dotnet/arcade build
20201113.2
Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk , Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.ApiCompat
From Version 6.0.0-beta.20552.5 -> To Version 6.0.0-beta.20563.2
* Update global.json
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
Co-authored-by: Juan Hoyos <juan.hoyos@microsoft.com>
Anton Lapounov [Wed, 18 Nov 2020 05:46:24 +0000 (21:46 -0800)]
Fix decoding GC information in R2RDump (#44682)
Maryam Ariyan [Wed, 18 Nov 2020 04:50:05 +0000 (20:50 -0800)]
Enable nullable annotations for M.E.L.Abstractions (#43892)
* Enable nullable annotations for M.E.L.Abstractions
* Corrections from review
* LoggerExtensions.cs: params object?[] -> params object?[]
* using Nullable Annotations,
to allow annotations on relevant projects, not yet enabled
* formatter not null
Maryam Ariyan [Wed, 18 Nov 2020 04:33:27 +0000 (20:33 -0800)]
Fix NRE when default value is null and ServiceCallSite is not found (#44675)
* Fix NRE when default value is null and ServiceCallSite is not found
Egor Chesakov [Wed, 18 Nov 2020 04:05:37 +0000 (20:05 -0800)]
Make $(TargetOS) lowercase windows in eng/coredistools.target (#44845)
* Make $(TargetOS) lowercase windows in eng/coredistools.target
* Make $(TargetOS) lowercase windows in src/tests/Common/Directory.Build.targets
Smit Patel [Wed, 18 Nov 2020 02:25:01 +0000 (18:25 -0800)]
Update nullability on some LINQ expression methods (#44844)
- MethodCallExpression can take nullable instance when static method
- LambdaExpression.Update does not return null in any case
Resolves #44821
Resolves #44822
Bruce Forstall [Wed, 18 Nov 2020 02:02:00 +0000 (18:02 -0800)]
Trigger SuperPMI collection pipeline if JIT-EE GUID changes (#44846)
Changing the JIT-EE GUID invalidates previous SuperPMI collections,
necessitating a re-collection. As a proxy for determining whether
the JIT-EE GUID has changed, just trigger anytime the corinfo.h file
changes.
monojenkins [Wed, 18 Nov 2020 01:38:57 +0000 (20:38 -0500)]
[wasm] Use the functions in emscripten/stack.h to compute stack bounds. (#44819)
Co-authored-by: vargaz <vargaz@users.noreply.github.com>
Jeremy Koritzinsky [Wed, 18 Nov 2020 00:42:03 +0000 (16:42 -0800)]
Fix building host lineup packages. (#44839)
* Fix building host lineup packages.
Signed-off-by: Jeremy Koritzinsky <jekoritz@microsoft.com>
* Update src/installer/pkg/projects/host-packages.proj
Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
Jeremy Koritzinsky [Tue, 17 Nov 2020 22:57:38 +0000 (14:57 -0800)]
Restore Snapcraft files. (#44812)
Stephen Toub [Tue, 17 Nov 2020 22:56:28 +0000 (17:56 -0500)]
Fix non-thread-safe EntityTagHeaderValue.Any (#44802)
* Fix non-thread-safe EntityTagHeaderValue.Any
It was being published before fully populated.
* Address PR feedback
* Update EntityTagHeaderValue.cs
Stephen Toub [Tue, 17 Nov 2020 22:55:53 +0000 (17:55 -0500)]
Return pooled arrays in Regex.Replace when no replacements (#44833)
When Regex.Replace doesn't actually need to replace anything, we're inadvertently not returning a previously rented ArrayPool array to the pool. On repeated use, that drains the pool of the desired size, such that every attempt ends up allocating a new array, even if there are no replacements to be made.
The fix is to lazily rent from the pool. This not only fixes the problem, but helps perf further by not taking the rental cost unless we actually need an array to store a replacement segment.
Stephen Toub [Tue, 17 Nov 2020 22:48:19 +0000 (17:48 -0500)]
Remove some overhead from Process.Start (#44691)
- Avoid StringBuilder marshaling
- Let CreateProcess{WithLogonW} determine the current working directory
- Avoid creating SafeHandles for GetCurrentProcess()
- Avoid forcing ProcessStartInfo.ArgumentList into existence just to check if it contains anything
- Prefer using ProcessStartInfo.Arguments in Start(string, IEnumerable<string>) if there's only one string in the enumerable
- Use ValueStringBuilder instead of StringBuilder to build up arguments, so as to use stack space / pooled char[]s and avoid actually needing to produce strings.
- Avoid unnecessary SafeHandle for PROCESS_INFORMATION.hThread
Jeremy Koritzinsky [Tue, 17 Nov 2020 22:24:40 +0000 (14:24 -0800)]
Update archives package to fix zip/tar naming. (#44827)
Egor Bogatov [Tue, 17 Nov 2020 22:20:57 +0000 (14:20 -0800)]
Remove HashProviderDispenser.Android.cs (#44814)
Egor Bogatov [Tue, 17 Nov 2020 22:20:28 +0000 (14:20 -0800)]
[Android] Add ability to set env vars via command line (#44644)
Marcus Turewicz [Tue, 17 Nov 2020 21:55:51 +0000 (08:55 +1100)]
Handle unicode and e-notation differences between S.T.J and J.N tests (#35042)
* Handle unicode and e-notation differences between S.T.J and J.N tests
Fixes #32350
* Remove TODO
* Bumping CI
* Bump CI
* Handle relaxed escaping and precision properly
* Move else if
* Move else if back
* Remove relaxedEscaping param and skip whitespace
* Apply Jozkee final touches
* Add missing period
Co-authored-by: David Cantu <dacantu@microsoft.com>
Zoltan Varga [Tue, 17 Nov 2020 21:53:55 +0000 (16:53 -0500)]
Add the emscripten version to the wasm runtime pack and check it at app build time when relinking the wasm runtime. (#44715)
* Add the emscripten version to the wasm runtime pack and check it at app build time when relinking the wasm runtime.
* Update src/mono/wasm/Makefile
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
Jeremy Koritzinsky [Tue, 17 Nov 2020 20:30:05 +0000 (12:30 -0800)]
Signing cleanup (#44658)
Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
Tarek Mahmoud Sayed [Tue, 17 Nov 2020 19:08:18 +0000 (11:08 -0800)]
Fix the culture parent chain for zh-Han[s|t]-* (#44737)
Andrew Au [Tue, 17 Nov 2020 18:36:47 +0000 (10:36 -0800)]
Optimize HelloWorld usage (#44711)
Egor Chesakov [Tue, 17 Nov 2020 18:20:42 +0000 (10:20 -0800)]
Use new CoreDisTools package (#44490)
R2RDump and GCStress use a version of coredistools produced from https://github.com/dotnet/jitutils
Viktor Hofer [Tue, 17 Nov 2020 17:23:30 +0000 (18:23 +0100)]
Add workflow to update solution files with SlnGen and update them initially (#44703)
* Add slngen infra
* Update all solution files
Stephen Toub [Tue, 17 Nov 2020 16:37:43 +0000 (11:37 -0500)]
Avoid unnecessary LINQ and string joins in JsonConfigurationFileParser (#44734)
Steve Pfister [Tue, 17 Nov 2020 16:02:49 +0000 (11:02 -0500)]
Enables the interpreter on Android (#44649)
To enable on tests, you can pass MonoForceInterpreter=true as an extra MSBuild property.
AndroidAppBuilder now has an ForceInterpreter property which will flow the setting down
to the device / simluator.
Zoltan Varga [Tue, 17 Nov 2020 15:29:29 +0000 (10:29 -0500)]
Fix full-aot support for unmanaged function pointers. (#44783)
Fixes https://github.com/dotnet/runtime/issues/44779.
Huo Yaoyuan [Tue, 17 Nov 2020 13:19:10 +0000 (21:19 +0800)]
Make ImmutableArray readonly (#44640)
* Add reference to Unsafe.
* Mark ImmutableArray as readonly struct.
* Update ImmutableInterlocked to use Unsafe.As.
* Also include S.R.CS.Unsafe for netstandard1.0.
* Add explicit '=default' to avoid CS0649.
* Use Unsafe.AsRef instead of Unsafe.As.
Shreyas Jejurkar [Tue, 17 Nov 2020 12:56:18 +0000 (18:26 +0530)]
Added condition of empty for concurrent dictionary (#44581)
* Added condition of empty for concurrent dictionary
Collection is already empty why to initialize it again with new emtpy tables.
* Made AreAllBucketsEmpty method private from local function.
Addressed PR feedback.
* Addressed PR feedback.
Comment corrected.
Co-authored-by: Stephen Toub <stoub@microsoft.com>
Co-authored-by: Stephen Toub <stoub@microsoft.com>
Marek Safar [Tue, 17 Nov 2020 12:06:08 +0000 (13:06 +0100)]
Don't use interfaces for sharing Tuple implementation methods (#44684)
Stephen Toub [Tue, 17 Nov 2020 10:33:54 +0000 (05:33 -0500)]
Avoid string/StringBuilder/char[] allocation in LogValuesFormatter's ctor (#44746)
This is producing thousands of allocations at ASP.NET startup, due to almost 1000 call sites to LoggerMessage.Define.
Johan Lorensson [Tue, 17 Nov 2020 08:24:39 +0000 (09:24 +0100)]
Adjust Mono EventPipe/DiagnosticServer C library to better support CoreCLR shim. (#44527)
* Adjust EventPipe/DiagnosticServer C library to support CoreCLR shim.
Adjustments done to better align with implementation of CoreCLR shim
using CoreCLR artifacts and C++ code (CoreCLR implementation done in
separate PR).
Disconnect runtime specific shim info from shared sources, all included
shim files handled through defines.
Exception safety and improved error handling, adding error checking
and error returns into shim container functions.
Walkthrough of codebase, aligning with gaps from CoreCLR + port of
sample profiler and json file serializer.
Implement core dump diagnostic command and runtime layer (needed by CoreCLR,
currently not implemented on Mono).
Implemented process env diagnostic command and runtime layer.
Implemented profiler attach diagnostic command and runtime layer (needed by
CoreCLR, currently not implemented on Mono).
Fix native EventPipe test aligning with changes.
* Fix build errors.
* Review feedback.
Stephen Toub [Tue, 17 Nov 2020 07:23:52 +0000 (02:23 -0500)]
Remove use of Tuple<> from corelib (#44706)
David Wrighton [Tue, 17 Nov 2020 07:21:59 +0000 (23:21 -0800)]
Remove ALT_JIT define and replace with runtime logic (#44565)
* Remove ALT_JIT define and replace with runtime logic
* Fix SuperPMI for new altjit jit flag
Co-authored-by: Bruce Forstall <brucefo@microsoft.com>
Stephen Toub [Tue, 17 Nov 2020 06:28:01 +0000 (01:28 -0500)]
Replace Tuples with ValueTuples (#44712)
Some help to remove allocation, some just help to avoid pulling in Tuple and likely increasing build size.
* Update src/libraries/Common/src/System/Security/Cryptography/Pkcs12Kdf.cs
Co-authored-by: Jeremy Barton <jbarton@microsoft.com>
Stephen Toub [Tue, 17 Nov 2020 06:25:50 +0000 (01:25 -0500)]
Special-case zero parameters in GetParameters (#44759)
Marek Safar [Tue, 17 Nov 2020 06:22:47 +0000 (07:22 +0100)]
Drop ReadOnlyCollection dependency from TaskExceptionHolder (#44757)
it's used only to copy data aroud locally
Stephen Toub [Tue, 17 Nov 2020 06:21:12 +0000 (01:21 -0500)]
Remove unnecessary closure / delegate allocation from CallSiteFactory.GetCallSite (#44755)
Nothing is ever removed from the cache, and CreateCallSite is already storing the newly created ServiceCallSite into the dictionary, so GetOrAdd isn't providing any meaningful value: we can simply TryGetValue and then call CreateCallSite if it fails.