Carlos Sanchez Lopez [Sat, 29 Feb 2020 04:01:51 +0000 (20:01 -0800)]
System.IO.sln hangs (#32995)
* System.IO.sln hangs
* Apply suggestions from code review
Dan Moseley [Sat, 29 Feb 2020 02:54:32 +0000 (18:54 -0800)]
Fix another 58 URL's (#33003)
Mikel Blanchard [Sat, 29 Feb 2020 01:15:03 +0000 (17:15 -0800)]
Honor converters for underlying types of Nullable<T> specified with JsonConverterAttribute (#32006)
* FIxed exception being thrown when JsonConverterAttribute is used on Nullable<T> when converter can handle T.
* Expanded test coverage.
* Code review feedback.
* Code review feedback.
* Updated to use JsonValueConverterNullableFactory directly instead of fall-through logic.
* Null response is no longer possible.
* Code review.
* Updated for refactoring.
* Code review.
* Code review #2.
Jeff Schwartz [Sat, 29 Feb 2020 00:35:02 +0000 (16:35 -0800)]
Updating labels to reflect the -coreclr postfix (#32997)
Stephen Toub [Fri, 28 Feb 2020 23:15:58 +0000 (18:15 -0500)]
Add Server-Timing to KnownHeaders in System.Net.HTtp (#32989)
Stephen Toub [Fri, 28 Feb 2020 23:12:35 +0000 (18:12 -0500)]
Fix RegexBoyerMoore.IsMatch case-insensitive (regression from 2.1 to 3.0) (#32984)
As part of a larger change, a change was made for .NET Core 3.0 that switched a character-by-character comparison loop to instead use string.Compare. This represents a regression, however, when a culture-aware character-by-character comparison yields different results from a multiple-character comparison.
Tomas Weinfurt [Fri, 28 Feb 2020 22:47:07 +0000 (14:47 -0800)]
process more TLS frames at once when possible (#32897)
* process more TLS frames at once when possible
* style update
* stop on first FrameType.AppData
Alistair Evans [Fri, 28 Feb 2020 21:31:02 +0000 (21:31 +0000)]
Only output type parameter constraint blank line if type parameter has a constraint (#32024)
Fixes #31614
Stephen Toub [Fri, 28 Feb 2020 20:37:50 +0000 (15:37 -0500)]
Remove FEATURE_COMPILED from System.Text.RegularExpressions (#32919)
Tim Heuer [Fri, 28 Feb 2020 20:29:01 +0000 (12:29 -0800)]
Update ProjectUrl in props (#32599)
I believe this should now be `/runtime` instead of `/corefx` so that it properly attributes the project location when shown in NuGet and elsewhere that relies on the ProjectUrl data.
Alan Isaac [Fri, 28 Feb 2020 20:23:27 +0000 (15:23 -0500)]
removed unused local for System.Numerics.Tensor (#32948)
Eric StJohn [Fri, 28 Feb 2020 20:09:10 +0000 (12:09 -0800)]
Adding some additional coverage to areas. (#32976)
monojenkins [Fri, 28 Feb 2020 18:20:25 +0000 (13:20 -0500)]
Remove non-functional spawn code.
Subject to configuration, spawn has three widely divergent behaviors:
succeed but do nothing
print and exit
do what it sounds like
Rather than mislead the callers, provide only option 3 and let the caller decide what to do otherwise.
Co-authored-by: Jay Krell <jay.krell@cornell.edu>
Koundinya Veluri [Fri, 28 Feb 2020 16:32:41 +0000 (11:32 -0500)]
Fix JIT traces for the case where a tier 1 compilation switches to MinOpts (#32928)
Updated to clear the tier 1 flag when switching to MinOpts. Clearing the flag avoids printing "tier 1" in traces and to print more accurate information around here:
https://github.com/dotnet/runtime/blob/
c727a412bf2c415bb2b94eeef0939aa07b87591c/src/coreclr/src/jit/compiler.cpp#L4044
Sung Yoon Whang [Fri, 28 Feb 2020 16:15:03 +0000 (08:15 -0800)]
Package libcoreclrtraceptprovider.so in shared framework (#32949)
Jan Kotas [Fri, 28 Feb 2020 14:48:49 +0000 (06:48 -0800)]
Delete unused libdl interop (#32959)
Johan Lorensson [Fri, 28 Feb 2020 14:46:54 +0000 (15:46 +0100)]
Reduce number of build libraries for Mono MSVC netcore build. (#32854)
Current mono-netcore.sln builds more than needed by Mono netcore build.
The only library currently needed is mono-2.0-sgen.dll build by
libmono-dynamic-vcxproj. In order to build that library, we also need to
build eglib as static library as well as genmdesc.vcxproj. Build also
build mono-sgen.exe to simplify use of older Mono CLI support and testing.
Ryan Lucia [Fri, 28 Feb 2020 10:45:14 +0000 (05:45 -0500)]
[mono] Use ALC and throw FileNotFound in RuntimeAssembly.InternalLoad (#32933)
https://github.com/dotnet/runtime/commit/
7c6ec46a637017971d3eaa210fd2b6e4d4a6b737#diff-53c474033a1751601becf0eb958fcb5dL287-R287 broke a bunch of tests, this should fix them all.
Fixes #22110
Fixes #32436
Fixes #32437
Fixes #32435
Fixes #32439
Fixes #32434
Fixes #32433
Fixes #32432
Ryan Lucia [Fri, 28 Feb 2020 10:37:17 +0000 (05:37 -0500)]
[loader] Remove unnecessary newline in loader mono_trace call (#32934)
buyaa-n [Fri, 28 Feb 2020 07:21:08 +0000 (23:21 -0800)]
Enable test fixed already (#32946)
monojenkins [Fri, 28 Feb 2020 07:06:10 +0000 (02:06 -0500)]
[runtime] Use pointer size gchandles (#32850)
This would enable in the future to use CoreCLR's GC with mono. This doesn't change the current embedding api, but, in the future, we will end up aligning with coreclr on an embedding api that uses pointer sized gchandles.
Co-authored-by: Vlad Brezae <brezaevlad@gmail.com>
Eric StJohn [Fri, 28 Feb 2020 01:10:04 +0000 (17:10 -0800)]
Invert Environment.UserInteractive (fix) (#32947)
Karel Zikmund [Fri, 28 Feb 2020 00:11:33 +0000 (16:11 -0800)]
Update windows-requirements.md (#32938)
Clarify few minor things in initial setup workflow.
Stephen Toub [Thu, 27 Feb 2020 23:12:00 +0000 (18:12 -0500)]
Re-re-enable Regex tests on .NET Framework (#32931)
I'd previously done this in the Configuration.props, but then those were deleted and my change was apparently lost in the transition.
Stephen Toub [Thu, 27 Feb 2020 23:10:25 +0000 (18:10 -0500)]
Fix .* handling of RegexOptions.Singleline (#32930)
We're accidentally not setting the iteration variable to 0, which then messes up later computation.
Juan Hoyos [Thu, 27 Feb 2020 22:15:33 +0000 (14:15 -0800)]
Add binlogs to coreclr's build process (#32842)
Swaroop Sridhar [Thu, 27 Feb 2020 22:10:31 +0000 (14:10 -0800)]
Mark HostModel package as non-shipping (#32901)
The Microsoft.NET.HostModel nuget package is for internal consumption by the SDK.
Therefore mark it as non-shipping, so that it is not published to nuget.org
Fixes https://github.com/dotnet/runtime/issues/32825
Carlos Sanchez Lopez [Thu, 27 Feb 2020 20:52:12 +0000 (12:52 -0800)]
Incorrect alias in area owners (#32924)
Jared Parsons [Thu, 27 Feb 2020 20:48:27 +0000 (12:48 -0800)]
Enable workflow of building Mono and Libraries without CoreCLR (#32881)
* Build libraries against Mono runtime
This change allows you to build libraries against the Mono runtime
without having to first build CoreCLR. There isn't a specifically
supported build option for this but can be forced with the following
command line:
```
.\build.cmd -subsetcategory libraries /p:RuntimeFlavor=mono
```
Andy Ayers [Thu, 27 Feb 2020 20:40:59 +0000 (12:40 -0800)]
Fix jit build break (#32927)
Two changes to codegencommon.cpp were merged in short order, and
git/github did not spot the merge conflict.
Fixes #32926.
Marek Safar [Thu, 27 Feb 2020 19:43:01 +0000 (20:43 +0100)]
Update RID graph to include recent Android version and support for emulators (#32914)
Steve Pfister [Thu, 27 Feb 2020 18:23:32 +0000 (13:23 -0500)]
Added missing InteropServices.WindowsRuntime types to mono SPC (#32905)
Addresses https://github.com/dotnet/runtime/issues/32898
Eirik Tsarpalis [Thu, 27 Feb 2020 17:32:39 +0000 (17:32 +0000)]
Annotate System.Net.Security for nullable reference types (#32541)
* annotate System.Net.Security for nullable reference types
* address task nullability issue
* add nullable directives to common files
* address feedback
* add missing nullable directive
* make ProcessAuthentication method explicitly nullable
* fix build after rebase
* add missing nullable directives to common source files
* fix build
* fix build
* make APM method annotations consistent
* address feedback
* address feedback
* address feedback
* address feedback
* address feedback
* fix rebase build issues
Kunal Pathak [Thu, 27 Feb 2020 17:19:23 +0000 (09:19 -0800)]
Make JitDump label output multi-thread safe (#32578)
* Make JitDump label output multi-thread safe
`s_compMethodsCount` is a static variable and incrementing it when
two JITs are running at the same time can result in inconsistent labels. This PR fixes it by adding an instance variable `compMethodID` on `Compiler` object and setting it to the value of `s_compMethodsCount` after incrementing it using `InterlockedIncrement()`.
Changed the type of `s_compMethodID` to `LONG` to match the signature of `InterlockedIncrement()` and made it private.
Fixes #10984
monojenkins [Thu, 27 Feb 2020 17:08:56 +0000 (12:08 -0500)]
Clean up libmono-dynamic.vcxproj dependency for netcore. (#32856)
Co-authored-by: Johan Lorensson <lateralusx.github@gmail.com>
Andy Ayers [Thu, 27 Feb 2020 16:27:43 +0000 (08:27 -0800)]
JIT: convert codegen over to new style phases (#32899)
Convert codegen over to new style phases. To facilitate this, some
of the state that was passed around in locals in `genGenerateCode`
are now fields on the codegen object.
Also add a final "pseudo phase" in case we see very late asserts.
Fixes #32497.
Egor Bogatov [Thu, 27 Feb 2020 15:47:16 +0000 (18:47 +0300)]
RyuJIT: Optimize `obj.GetType() != typeof(X)` for sealed classes (#32790)
An array type with value type or final ref type elements is exact.
Use this to optimize more cases of type equality checking.
Santiago Fernandez Madero [Thu, 27 Feb 2020 14:05:17 +0000 (16:05 +0200)]
Disable force_install warning produced by CMake for libraries native build. (#32853)
* Use VS2019 Preview for libraries official build
This lets us enable warn as error in libraries build because this pools contain a newer CMake.
* Revert changes in runtime-official.yml
* Remove usages of useVsPreviewPool in runtime.yml
* Revert useVsPreviewPool usages in xplat-setup.yml
* Revert useVsPreviewPool changes in perf.yml
* Disable force_install warning in libraries build.
* Enable warnaserror in global live build.
* Remove empty line in perf.yml
monojenkins [Thu, 27 Feb 2020 12:30:27 +0000 (07:30 -0500)]
Detect build config mismatch for MSVC Windows LLVM build. (#32868)
If LLVM build is done using different build configuration, Mono build will fail to static link LLVM libraries due to incompatibility between release and debug C++ runtime library, generating a lot of linker errors like this:
error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MDd_DynamicDebug' in mini-llvm-cpp.obj
error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in mini-llvm-cpp.obj
This is normally not a problem when doing local builds of LLVM but when using an external provided build, like netcore Mono build, this problem is more likely to occur.
This fix adds an additional check to make sure build configuration reported by llvm-config.exe --build-mode matches current Mono build configuration and if not give a more specific msbuild error:
error : LLVM build Configuration=Release doesn't match current Mono build Configuration=Debug
Co-authored-by: Johan Lorensson <lateralusx.github@gmail.com>
lateralusX [Wed, 26 Feb 2020 12:12:15 +0000 (13:12 +0100)]
Reduce number of build libraries for Mono MSVC netcore build.
Current mono-netcore.sln builds more than needed by Mono netcore build.
The only library currently needed is mono-2.0-sgen.dll build by
libmono-dynamic-vcxproj. In order to build that library, we also need to
build eglib as static library as well as genmdesc.vcxproj. Build also
build mono-sgen.exe to simplify use of older Mono CLI support and testing.
monojenkins [Thu, 27 Feb 2020 09:10:46 +0000 (04:10 -0500)]
[wasm][debugger] Always pass failed breakpoint requests to target (#32906)
Originally we had a simple way to detect that breakpoints were
meant for the runtime but that is no longer true. Now if we
can't locate a breakpoint we need to pass the request on to the
target so it can make an attempt.
Co-authored-by: Larry Ewing <lewing@microsoft.com>
monojenkins [Thu, 27 Feb 2020 09:08:14 +0000 (04:08 -0500)]
[wasm][debugger] Show the typename for valuetypes (#32874)
- no details of the valuetype are accessible
Fixes mono/mono#18232
Co-authored-by: Ankit Jain <radical@gmail.com>
monojenkins [Thu, 27 Feb 2020 07:57:19 +0000 (02:57 -0500)]
[aot] Avoid `mono_defaults` when creating trampolines. (#32904)
Fixes https://github.com/mono/mono/issues/19009.
https://github.com/mono/mono/pull/18505 made PLT initialization occur at
image load time. When initializing the PLT for mscorlib,
`mono_defaults.corlib` is not yet initialized.
This change works around this by using `mscorlib_aot_module`--which is
initialized relatively early--instead of `mono_defaults.corlib`. PLT
initialization is also moved slightly later: it now happens after
`use_page_trampolines` has been initialized. The `USE_PAGE_TRAMPOLINES`
macro has also been changed to dereference `mscorlib_aot_module`.
This commit also removes an unused parameter from
`mono_aot_create_specific_trampoline`.
Co-authored-by: imhameed <imhameed@microsoft.com>
Justin Kotalik [Thu, 27 Feb 2020 05:35:09 +0000 (21:35 -0800)]
Update shared code (#32779)
Eric Erhardt [Thu, 27 Feb 2020 03:19:18 +0000 (21:19 -0600)]
Annotate System.Net.Sockets for nullable reference types (#32675)
* All AsyncResult classes have nullable enable.
* Most ancillary files annotated.
* UdpClient annotated
* Annotate TcpClient
* Annotate TcpListener, SafeSocketHandle, SocketTaskExtensions
* Annotate NetworkStream and SendPacketsElement
* Annotate SocketPal.
* Annotate SocketAsyncEventArgs
* Annotate SocketAsyncEngine and Context on Unix
* Annotate Socket.Tasks
* Finish annotating the Socket class.
* Remove inline #nullable lines
* Annotate all public methods.
* Sync up to latest code and cleanup.
* Fix .NET Framework build for WinHttpHandler.
Eric Erhardt [Thu, 27 Feb 2020 03:16:03 +0000 (21:16 -0600)]
Small fixup in System.Net.Http.WinHttpHandler.csproj (#32890)
Alan Isaac [Thu, 27 Feb 2020 03:15:45 +0000 (22:15 -0500)]
removed unused local variables (#32896)
Jeremy Barton [Thu, 27 Feb 2020 02:39:52 +0000 (18:39 -0800)]
Suppress the GrayListedLeaf error (#32895)
Alexander Speshilov [Thu, 27 Feb 2020 00:59:07 +0000 (03:59 +0300)]
Fix comment: "ThreadLocal" -> "ThreadStatic" as used in code (#32887)
Comment aligned with actual attribute name in code
Bill Wert [Wed, 26 Feb 2020 23:58:18 +0000 (15:58 -0800)]
Enable crossgen tests (#32330)
This turns on benchmarking for a few binaries to track crossgen.
Brian Sullivan [Wed, 26 Feb 2020 23:28:29 +0000 (15:28 -0800)]
Add ValueNumbering support for GT_SIMD and GT_HWINTRINSIC tree nodes (#31834)
* Added ValueNumbering support for GT_SIMD and GT_HWINTRINSIC tree nodes
* Allow SIMD and HW Intrinsics to be CSE candidates
* Correctness fix for optAssertionPropMain
- Zero out the bbAssertionIn values, as these can be referenced in RangeCheck::MergeAssertion
and this is shared state with the CSE phase: bbCseIn
* Improve the VNFOA_ArityMask
* Update to use the new TARGET macros
* Include node type when value numbering SIMDIntrinsicInit
Mutate the gloabl heap when performing a HW_INTRINSIC memory store operation
Printing of SIMD constants only support 0
* Disable CSE's for some special HW_INTRINSIC categories
* Code review feedback
* Record csdStructHnd; // The class handle, currently needed to create a SIMD LclVar in PerformCSE
* Instead of asserting on a struct handle mismatch, we record it in csdStructHndMismatch and avoid making the candidate into a CSE
* Fix the JITDUMP messages to print the CseIndex
* add check for (newElemStructHnd != NO_CLASS_HANDLE)
* Additional checks for SIMD struct types when setting csdStructHnd
Added Mismatched Struct Handle assert in ConsiderCandidates
* fix GenTreeSIMD::OperIsMemoryLoad for ARM64
Removed ismatched Struct Handle assert
* Fix the printing of BitSets on Linux, change the printf format specifier
* Added check for simdNode->OperIsMemoryLoad()) to fgValueNumberSimd
Added bool OperIsMemoryLoad() to GenTreeSIMD, returns true for SIMDIntrinsicInitArray
Added valuenumfuncs.h to src/coreclr/src/jit/CMakeLists.txt
* Avoid calling gtGetStructHandleIfPresent to set csdStructHnd when we have a GT_IND node
* Fix check for (newElemStructHnd != hashDsc->csdStructHnd)
* added extra value number argument VNF_SimdType for Most SIMD operations
added VNF_SimdType // A value number function to compose a SIMD type
added vnDumpSimdType
* Added bool methods vnEncodesResultTypeForSIMDIntrinsic and vnEncodesResultTypeForHWIntrinsic
these return true when a SIMD or HW Instrinsic will use an extra arg to record the result type during value numbering
Changes the ValueNumFuncDef to set the arity to zero when a -1 value is passed in
Updated InitValueNumStoreStatics to fixup the arity of SIMD or HW Instrinsic that have an extra arg to record the result type
Allow a type mismatchj when we have a GT_BLK as the lhs of an assignment, as it is used to zero out Simd structs
* Fix for SIMD_WidenLo arg count
* fix typo
* Fix x86 build breaks
Fix SIMD_WidenHi
* Added method header comment for vnEncodesResultTypeForHWIntrinsic
Added & VNFOA_ArityMask when assigning to vnfOpAttribs[]
* Codereview feedback and some more comments
* fix typo
* Moved the code that sets the arg count for the three SIMD intrinsics
* clang-format
* Adjust CSE for SIMD types that are live across a call
* Proposed fix for #32085
* Revert "Proposed fix for #32085"
This reverts commit
169c24eeafb072a79ffbdb2d1d36960ebc0c17b4.
* Added better comments for optcse SIMD caller saved register heuristics
* Added CONFIG_INTEGER: JitDisableSimdVN,
Default 0, ValueNumbering of SIMD nodes and HW Intrinsic nodes enabled
If 1, then disable ValueNumbering of SIMD nodes
If 2, then disable ValueNumbering of HW Intrinsic nodes
If 3, disable both SIMD and HW Intrinsic nodes
* Moved JitDisableSimdVN from DEBUG to RETAIL
Ross Nelson [Wed, 26 Feb 2020 23:25:27 +0000 (17:25 -0600)]
Fix reference to VS 2015 (#32886)
The FakeSign instructions reference Visual Studio 2016 Update 2
instead of Visual Studio 2015 U2.
Fix #32885
Levi Broderick [Wed, 26 Feb 2020 23:11:08 +0000 (15:11 -0800)]
Update Utf8String APIs (#32892)
Andrew Au [Wed, 26 Feb 2020 22:20:23 +0000 (14:20 -0800)]
For large allocation tests, check for available memory on Windows too (#32545)
* For large allocation tests, check for available memory on Windows too
Previously, we had logic to get the physical memory on non-Windows,
but nothing on Windows.
This means that on windows machines with low memory, we would allocate
too much and the test would fail.
This PR logic to get physical memory on Windows too.
On Windows, it invokes the `systeminfo` command.
It shares parsing logic with the non-windows case, since they both need
to look for a line with a particular start and end.
Tested this change by manually increasing the allocation size in
`largeexceptiontest.cmd` and seeing that it allocated 300MB instead.
Also did the same test on Ubuntu since non-Windows code was affected too.
Fix #27098
Remove duplicate MemCheck and LargeObject code
Accept more uint formats
Use GlobalMemoryStatusEx on Windows instead of systeminfo
* simplify meminfo parsing
Co-authored-by: Andy Hanson <andy.ms.2019@gmail.com>
monojenkins [Wed, 26 Feb 2020 18:34:59 +0000 (13:34 -0500)]
[wasm][debugger] Fixes to get async method locals (#32807)
.. and cleans up tests.
Co-authored-by: Ankit Jain <radical@gmail.com>
Brian Bohe [Wed, 26 Feb 2020 18:29:37 +0000 (10:29 -0800)]
Merge pull request #2107 from BrianBohe/master
Change debug info default variable tracking system
Andy Ayers [Wed, 26 Feb 2020 17:48:26 +0000 (09:48 -0800)]
JIT: use new phase objects more extensively (#32688)
Convert the mainline compiler phases over so they are run via compiler or
action phases.
To keep jit dump size and checked jit throughput the same as it is now,
add phase whitelists to opt into pre phase dumps and checks triggered by the
phase objects on a per-phase basis. This allow us to gradually remove explicit
dumps and check invocations phase by phase, over time.
monojenkins [Wed, 26 Feb 2020 16:48:35 +0000 (11:48 -0500)]
[runtime] Remove MONO_LLVM_INTERNAL. (#32796)
Co-authored-by: Zoltan Varga <vargaz@gmail.com>
Stephen Toub [Wed, 26 Feb 2020 16:33:53 +0000 (11:33 -0500)]
Re-disable CA2010 (#32872)
Apparently there were missed warnings that are now being treated as errors due to a PR that raced with mine yesterday to update the CodeAnalysis.ruleset file.
Alexander Nikolaev [Wed, 26 Feb 2020 15:23:33 +0000 (16:23 +0100)]
Plural TargetFrameworks replaced with singluar TargetFramework (#32860)
Stress test build fails because we have a plural tag <TargetFrameworks>, but only one nested element. PR converts it to a singular <TargetFramework>.
Fixes #32813
Marco Rossignoli [Wed, 26 Feb 2020 14:23:22 +0000 (15:23 +0100)]
Send QUIT on SmtpClient.Dispose() (#683)
* send QUIT on Dispose()
* add try/finally
* simplify null check
* address PR feedback
* send quit in non-blocking mode
* resolve conflicts
Johan Lorensson [Wed, 26 Feb 2020 11:07:04 +0000 (12:07 +0100)]
Fix Mono netcore TPA preload hook to work with Windows CoreRun.exe. (#32789)
Current hook compares TPA list file names using case sensitive compare.
On Windows, the TPA list, when passed from CoreRun.exe makes all file
paths lower case, meaning that our checks fails to find assemblies in
TPA list.
Since CoreRun.exe is used for both CoreCLR and Mono, removing the tolower
on file paths added to the TPA list in CoreRun.exe could be an option,
but that might introduce regressions in CoreCLR, so this fix isolate the
change to Mono's netcore preload hook.
Eirik Tsarpalis [Wed, 26 Feb 2020 10:44:25 +0000 (10:44 +0000)]
Nullable annotate System.Drawing.Common (#31716)
* Nullable annotate System.Drawing.Common
* Annotate unix files
* add removed attributes
* fix rebase issue
* address feedback
* add missing annotation
* address feedback
* address feedback
* address more feedback
Michal Strehovský [Wed, 26 Feb 2020 09:17:09 +0000 (10:17 +0100)]
Add support in crossgen2 for 32-byte alignment (#32602)
Santiago Fernandez Madero [Wed, 26 Feb 2020 08:26:03 +0000 (08:26 +0000)]
Use VS2019 Preview for libraries build which contains a newer CMake (#32626)
* Try Windows Server pools with VS2019 Preview
* Pass parameter to use vs preview pool.
* Use VS2019 Preview Pool when parameter is true
* Update xplat-setup.yml
* Update global-build-job.yml
* PR Feedback
* Update perf.yml to use right pools.
* Fix casing of live runtime configuration.
* Libraries build configuration upper case
Johan Lorensson [Wed, 26 Feb 2020 07:24:00 +0000 (08:24 +0100)]
Fix Windows CoreRun.exe to work with CoreCLR/Mono xplat hosting API. (#32788)
CoreRun.exe is shared between both CoreCLR and Mono. On Windows,
CoreRun.exe is still using ICLRRuntimeHost4 hosting API but Mono
doesn't implement that API, just the xplat hosting API. Fix change
CoreRun.exe on Windows to use xplat hosting API, so it works with
both CoreCLR and Mono on Windows. CoreRun on Unix already used
xplat hosting API.
Behaviour on CoreRun.exe Windows CoreCLR should be identical, since
implementation of xplat hosting API on CoreCLR uses ICLRRuntimeHost4
internally and calls to CreateAppDomainWithManager, ExecuteAssembly,
UnloadAppDomain2 and Stop look identical to what done in CoreRun.exe
before this fix.
Sergey Andreenko [Wed, 26 Feb 2020 07:19:37 +0000 (23:19 -0800)]
Reg struct copy. (#32362)
* Fix `gsMarkPtrsAndAssignGroups` for struct assignment.
The old code was expecting `ASG` in a form that doesn't exist anymore.
* Fix SPMI replay with `repCompareTypesForEquality` misses.
* Reg struct copies.
Keep `ASG(LCL_VAR struct, LCL_VAR or INIT_VALUE)` representation in morph
and rationalize and change it to STORE_LCL_VAR later.
* Don't do retyping for `ASG(LCL_VAR struct, init val)` .
* Add a comment about morph tranformation.
and fix format error after merge.
Next Turn [Wed, 26 Feb 2020 06:50:23 +0000 (14:50 +0800)]
Rename a parameter (#32841)
Brian Sullivan [Wed, 26 Feb 2020 03:02:29 +0000 (19:02 -0800)]
Fix issue #32466 (#32804)
* Fix issue #32466
Fixes outerloop leg: R2R Windows_NT x86 Checked no_tiered_compilation @ Windows.10.Amd64.Open
* Updated the comment associated with this assert
mayorovp [Wed, 26 Feb 2020 02:19:57 +0000 (07:19 +0500)]
fix NRE in XNodeNavigator.MoveToNext(XPathNodeType) (#32288)
* fix NRE in XNodeNavigator.MoveToNext(XPathNodeType)
fixes #31710
* Adding test case
Co-authored-by: buyaa-n <buyankhishig.namnan@microsoft.com>
Vitek Karas [Wed, 26 Feb 2020 00:51:09 +0000 (16:51 -0800)]
Trivial cleanup in ILGenerator.WriteLine (#32794)
Avoids unnecessary cast.
dotnet-maestro[bot] [Wed, 26 Feb 2020 00:46:06 +0000 (00:46 +0000)]
[master] Update dependencies from 3 repositories (#32787)
* Update dependencies from https://github.com/dotnet/llvm-project build
20200224.1
- runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools - 6.0.1-alpha.1.20124.1
- runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk - 6.0.1-alpha.1.20124.1
- runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools - 6.0.1-alpha.1.20124.1
- runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk - 6.0.1-alpha.1.20124.1
- runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools - 6.0.1-alpha.1.20124.1
- runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk - 6.0.1-alpha.1.20124.1
* Update dependencies from https://github.com/dotnet/arcade build
20200224.3
- Microsoft.DotNet.XUnitExtensions - 5.0.0-beta.20124.3
- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.20124.3
- Microsoft.DotNet.ApiCompat - 5.0.0-beta.20124.3
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.20124.3
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.20124.3
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.20124.3
- Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk - 5.0.0-beta.20124.3
- Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk - 5.0.0-beta.20124.3
- Microsoft.DotNet.CodeAnalysis - 5.0.0-beta.20124.3
- Microsoft.DotNet.GenAPI - 5.0.0-beta.20124.3
- Microsoft.DotNet.GenFacades - 5.0.0-beta.20124.3
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.20124.3
- Microsoft.DotNet.RemoteExecutor - 5.0.0-beta.20124.3
- Microsoft.DotNet.XUnitConsoleRunner - 2.5.1-beta.20124.3
* Update dependencies from https://github.com/microsoft/vstest build
20200225-01
- Microsoft.NET.Test.Sdk - 16.6.0-preview-
20200225-01
pi1024e [Wed, 26 Feb 2020 00:42:40 +0000 (19:42 -0500)]
Braces around subobject of initialization warning fix (#32328)
* Braces around subobject of initialization warning fix
* Fix warning
* Update lifo-semaphore.h
* Update lifo-semaphore.h
* Update lifo-semaphore.h
* Remove unnecessary braces
* Update lifo-semaphore.c
* Update lifo-semaphore.c
Co-authored-by: Ryan Lucia <ryan@luciaonline.net>
pi1024e [Wed, 26 Feb 2020 00:25:19 +0000 (19:25 -0500)]
Convert walk while-loop to for loop, which makes most sense for a walk (#32399)
Eric Erhardt [Tue, 25 Feb 2020 22:02:30 +0000 (16:02 -0600)]
Bump DependencyModel reference to Text.Json to 4.7.1 (#32810)
We shipped DependencyModel v3.1.2 that references Text.Json 4.7.1. We shouldn't ship a new version that downgrades that reference.
Also do some clean up in the Tests.
Stephen Toub [Tue, 25 Feb 2020 21:58:19 +0000 (16:58 -0500)]
Update CodeAnalysis.ruleset to list every roslyn analyzers rule (#32814)
Matt Connew [Tue, 25 Feb 2020 21:57:32 +0000 (13:57 -0800)]
Add WCF packages to area-owners (#32832)
Daniel Roth [Tue, 25 Feb 2020 21:56:56 +0000 (13:56 -0800)]
Update readme to point to correct SDK repo (#32831)
Vladimir Chirikov [Tue, 25 Feb 2020 21:22:28 +0000 (00:22 +0300)]
Improve Expression.Lambda<TDelegate> performance (#32768)
Unnecessary cache call in Expression.Lambda<TDelegate>
(with reflection in worst scenario) has been removed.
Fix #32767
Swaroop Sridhar [Tue, 25 Feb 2020 21:21:20 +0000 (13:21 -0800)]
Single file: Guard against partial cleanup of extracted files (#32649)
This change fixes https://github.com/dotnet/runtime/issues/3778
This change is mainly targeted to be servicing fix for .net core 3.1.
When executing single-file apps, if a pre-existing extraction exists, the contents of the extraction directory are now verified.
If files are missing, they are recovered.
**Extraction Algorithm**
`ExtractionDir` = `$DOTNET_BUNDLE_EXTRACT_BASE_DIR/<app>/<bundle-id>`
`WorkingDir` = `$DOTNET_BUNDLE_EXTRACT_BASE_DIR/<app>/<process-id>`
If `ExtractionDir` does not exist, then
Create `WorkingDir`, and extract bundle contents within it
Attempt to rename `WorkingDir` as `ExtractionDir`
If the rename succeeds, continue execution of the app
If not, another process completed extraction; Verify and reuse this extraction (as in step 2).
If `ExtractionDir` exists, then verify that it contains all files listed in the manifest.
If all contents are available,
Remove `WorkingDir`
Continue execution of the app, reusing the contents.
If certain files are missing within `ExtractionDir`, then
For each missing file, do the following individually
Extract the files within `WorkingDir`
Create sub-paths within `ExtractionDir` if necessary
Rename the file from `WorkingDir/path/<file>` to `ExtractionDir/path/<file>` unless `ExtractionDir/path/<file>` exists (extracted there by another process in the meantime)
Remove `WorkingDir`
Continue execution of the app.
All of the renames above are done with appropriate retries to circumvent interference from anti-virus apps.
**Startup time impact**
* Console HelloWorld execution time:
* Framework dependent app: Windows/Linux No measurable difference
* Self-contained app: Windows: ~10ms additional
* Self-contained app: Linux: No measurable difference
* Greenshot Startup:
* Self-contained Windows: No noticiable/measurable difference
* NugetPackageExplorer Startup:
* Self-contained Windows: No noticiable/measurable difference
Viktor Hofer [Tue, 25 Feb 2020 21:16:27 +0000 (22:16 +0100)]
Update required SDK to 3.1.101 (#32809)
The toolset package requires at least a 3.1.101 SDK, therefore updating the minimum required version.
Fixes https://github.com/dotnet/runtime/issues/32775
Adeel Mujahid [Tue, 25 Feb 2020 20:26:49 +0000 (22:26 +0200)]
Fix build without FEATURE_EVENT_TRACE (#32746)
Anirudh Agnihotry [Tue, 25 Feb 2020 20:26:04 +0000 (12:26 -0800)]
Removing configuration group from installer (#32770)
* removing config group from installer
* Revert "Add ConfigurationGroup back to entrypoints (#32762)"
This reverts commit
059d0385ff7f6a7b12557e533fccddd5b484a3ce.
* fixing the build failure and removing the default value
monojenkins [Tue, 25 Feb 2020 18:54:45 +0000 (13:54 -0500)]
Change macro CLOSE_PIPE to function mono_close_pipe. (#32793)
Extracted from https://github.com/mono/mono/pull/19025.
Co-authored-by: Jay Krell <jay.krell@cornell.edu>
monojenkins [Tue, 25 Feb 2020 18:46:29 +0000 (13:46 -0500)]
Fix warnings: GPid vs. pid_t function signature mixup in glib test code. (#32791)
Extracted from https://github.com/mono/mono/pull/19025.
Co-authored-by: Jay Krell <jay.krell@cornell.edu>
Alaa Masoud [Tue, 25 Feb 2020 16:21:32 +0000 (19:21 +0300)]
Use StringBuilder.Append(Char) instead of coverting char to string (#32758)
Carol Eidt [Tue, 25 Feb 2020 15:49:52 +0000 (07:49 -0800)]
Allow same-size same-register-file lclVar stores (#32750)
Fix #32379
Fraser Waters [Tue, 25 Feb 2020 14:48:29 +0000 (14:48 +0000)]
Add TaskCompletionSource.SetCanceled(CancellationToken) (#32696)
* Add TaskCompletionSource.SetCanceled(CancellationToken)
api-approved by #30862
* Add to ref
* SetCanceled(default)
* Change some tests to use SetCaneled not TrySetCanceled
These tests used SetResult/SetException and TrySetCancelled so it could
pass a token. Changed to use SetCancelled to match the Result/Exception
useage.
* Add SetCanceled(CT) test
* Check exception on re-cancel
* Equal not Equals
* Catch aggregate not TaskCancelled directly
* Inner not exc
* Markup
* s/m/n
Tlakaelel Axayakatl Ceja [Tue, 25 Feb 2020 10:02:12 +0000 (02:02 -0800)]
Update dependencies ILLink.Tasks (#32778)
Use darc commands to include the latest commit from the linker in the runtime and see how it behaves in CI. This is a follow up from https://github.com/dotnet/runtime/pull/1804 after some linker fixes.
Tomáš Rylek [Tue, 25 Feb 2020 08:55:31 +0000 (09:55 +0100)]
R2RDump improvements in composite format support (#32499)
1) Added back-translation table from component assembly names
to their indices;
2) Added clean split of available types and method entrypoints per
component module and modified the various dumps as appropriate;
3) Added dump of component header sections for composite files.
Thanks
Tomas
Viktor Hofer [Tue, 25 Feb 2020 07:58:14 +0000 (08:58 +0100)]
Add ConfigurationGroup back to entrypoints (#32762)
ConfigurationGroup was removed but installer still uses and depends on
it. Bringing it back in the entrypoint build scripts and in the managed
msbuild Configurations.props file.
Juan Hoyos [Tue, 25 Feb 2020 05:38:06 +0000 (21:38 -0800)]
Revert "Build cross OS DACs in default Windows builds (#32322)" (#32781)
This reverts commit
7d4e1bb6de479ded8ed22f836ed37f98b02039a2.
Fadi Hanna [Tue, 25 Feb 2020 01:57:39 +0000 (17:57 -0800)]
Dynamic generic dictionary expansion feature (#32270)
* Dynamic dictionary expansion feature
1) Separate dictionary layout expansion from dictionary expansions on types and methods
2) Dictionary expansions on types and methods done on-demand (if needed), after size checks by codegen (uses new JIT feature)
3) Update the R2R dictionary access stubs to perform size checks (and major cleanup there)
4) Add unit test
5) Update documentation
6) Update JIT interface guid
monojenkins [Tue, 25 Feb 2020 01:34:47 +0000 (20:34 -0500)]
[llvm] Remove loaded llvm support, the startup perf penalty doesn't seem to exist any more. (#32361)
Co-authored-by: Zoltan Varga <vargaz@gmail.com>
monojenkins [Tue, 25 Feb 2020 00:30:14 +0000 (19:30 -0500)]
[interp] Reorder InterpMethod to reduce padding (#32657)
for alignment. Size goes from 192 to 184.
Co-authored-by: Jay Krell <jay.krell@cornell.edu>
Egor Bogatov [Tue, 25 Feb 2020 00:01:36 +0000 (03:01 +0300)]
Remove --buildXUnitWrappers from runtest.cmd/runtest.sh (#31798)
monojenkins [Mon, 24 Feb 2020 23:41:12 +0000 (18:41 -0500)]
Whittle away at warnings: (#32397)
Whittle away at warnings:
Return address of local (deliberate).
Pointer cast to different size.
Function parameter and declaration badly mismatch (pid_t vs. void*).
Unused locals.
Top level volatile is ignored.
Negative shift undefined.
Call to undeclared function (getpid).
Some are fixed, some are disabled temporarily.
Co-authored-by: Jay Krell <jay.krell@cornell.edu>
Eric Erhardt [Mon, 24 Feb 2020 22:52:08 +0000 (16:52 -0600)]
Allow ConfigurationManager to load when GetEntryAssembly returns null. (#32195)
* Clean up unused variable in ClientConfigPaths.
* Allow ConfigurationManager to load when GetEntryAssembly returns null.
Attempt to find the native host to maintain behavior from netfx.
Fix #25027
monojenkins [Mon, 24 Feb 2020 22:47:36 +0000 (17:47 -0500)]
[merp] Produce hashes for unmanaged thread stacks also (#32565)
Before, this was only done for managed stacks.
Addresses https://github.com/mono/mono/issues/18941
<!--
Thank you for your Pull Request!
If you are new to contributing to Mono, please try to do your best at conforming to our coding guidelines http://www.mono-project.com/community/contributing/coding-guidelines/ but don't worry if you get something wrong. One of the project members will help you to get things landed.
Does your pull request fix any of the existing issues? Please use the following format: Fixes #issue-number
-->
Co-authored-by: Alexis Christoforides <alexis@thenull.net>
Anirudh Agnihotry [Mon, 24 Feb 2020 22:17:05 +0000 (14:17 -0800)]
removing $(OS) using from the libraries (#32673)