Roman Marusyk [Mon, 16 Mar 2020 14:39:37 +0000 (16:39 +0200)]
Remove calls to empty RuntimeHelpers.PrepareConstrainedRegions() (#33191)
Fixes #33179
handlespeed [Mon, 16 Mar 2020 11:27:25 +0000 (19:27 +0800)]
Remove unused variable for System.Net.Requests, as part of #30457 (#33619)
src/libraries/System.Net.Requests/src/System/Net/FtpControlStream.cs, remove unused variable 'request' in L414.
Partially Fix #30457
David Mason [Mon, 16 Mar 2020 08:17:58 +0000 (01:17 -0700)]
Add example profiler that does stack sampling with ICorProfilerInfo10::SuspendRuntime (#32988)
Jeremy Barton [Mon, 16 Mar 2020 04:52:33 +0000 (21:52 -0700)]
Don't delete private keys detected from SerializedCert imports
Alan Isaac [Mon, 16 Mar 2020 03:02:23 +0000 (23:02 -0400)]
Additional code coverage in System.Text.Json - no public constructors (#33137)
* added tests for concurrent collection private constructors
* added tests for non generic collection private constructors
* added tests for generic collection private constructors
* added additional test for read only dictionary private constructor
* fixed location of compile directive
* added assertion for exception messages
* added additional assertions for exception messages
* using [Theory] tests to reduce LoC
* using [Theory] for additional tests
* reordered files in test project
* added internal ctor tests
Anirudh Agnihotry [Sun, 15 Mar 2020 20:19:09 +0000 (13:19 -0700)]
Fixing the sourcelink failure for embeded files (#33521)
* fixing sourcelink
* enable sourcelink on official build
* addressing feedback
* removing extra space
* reverting eng common change
* adding comment
* moving comment to correct place
* not embedding files for test assemblies
David Wrighton [Sun, 15 Mar 2020 20:02:00 +0000 (13:02 -0700)]
Print Ibc messages only when --verbose is specified (#33595)
Jan Kotas [Sun, 15 Mar 2020 15:55:32 +0000 (08:55 -0700)]
Update links to the design repo (#33606)
Levi Broderick [Sun, 15 Mar 2020 06:53:43 +0000 (23:53 -0700)]
Update .NET 5 Unicode data to version 13.0.0 (#33538)
Egor Bogatov [Sun, 15 Mar 2020 03:20:36 +0000 (06:20 +0300)]
[mono] Implement all Ssse3 and Sse42 intrinsics (#33591)
* implement Ssse3
* Implement Sse42
* remove unrelated change
* Fix C compilation error
Levi Broderick [Sun, 15 Mar 2020 01:22:22 +0000 (18:22 -0700)]
Add missing early-exit for LastIndexOfOrdinal (#33601)
monojenkins [Sat, 14 Mar 2020 22:23:10 +0000 (18:23 -0400)]
[wasm] Add a sample for collecting coverage data. (#33584)
Co-authored-by: vargaz <vargaz@users.noreply.github.com>
Vitek Karas [Sat, 14 Mar 2020 21:55:53 +0000 (14:55 -0700)]
Merge pull request #33578 from vitek-karas/HostDownloadUrls
Add a document describing usage of URLs in the hosting layer
Vitek Karas [Sat, 14 Mar 2020 21:55:29 +0000 (14:55 -0700)]
Apply suggestions from code review
Co-Authored-By: Elinor Fung <47805090+elinor-fung@users.noreply.github.com>
Eric Erhardt [Sat, 14 Mar 2020 15:43:44 +0000 (10:43 -0500)]
Allow Utf8String package to work on netstandard 2.0 (#33357)
* Update ref assembly for building netstandard2.0.
Includes System.Text.Rune for netstandard2.0, since that is currently only netcoreapp3.0.
* Get Rune working on netstandard2.0
* Get Utf8Span compiling on netstandard2.0.
* Get Utf8String building on netstandard2.0
* Compile Utf8String/Span.Conversion.cs for netstandard.
* Build Utf8String Comparison and Enumeration for netstandard.
* Enable Index and Range on netstandard2.0
* Moving code around so it lines up with the ref assemblies.
Getting the full build working again.
* Build for netcoreapp3.0.
Get the package building.
* Get tests building on netfx
* Get Utf8String constructors working on netstandard.
* Get all tests running on netfx.
* Fix build for netcoreapp3.0, which doesn't have SerializeToStreamAsync with cancellation.
* Add netstandard2.1 support to Utf8String.Experimental.
* Make Intrinsics IsSupported be const fields.
* Address PR feedback
* Ensure nint and nuint are set correctly when building Utf8String outside of CoreLib.
* Fix bug in construction from long UTF16 string.
Next Turn [Sat, 14 Mar 2020 11:34:34 +0000 (19:34 +0800)]
Fix indentations of nameof (#33586)
Adeel Mujahid [Sat, 14 Mar 2020 03:49:11 +0000 (05:49 +0200)]
Update artifactName prefix for GCC publish log task (#33573)
dotnet-maestro[bot] [Sat, 14 Mar 2020 03:46:19 +0000 (20:46 -0700)]
[master] Update dependencies from dotnet/arcade dotnet/runtime-assets (#33562)
* Update dependencies from https://github.com/dotnet/arcade build
20200312.3
- Microsoft.DotNet.XUnitExtensions - 5.0.0-beta.20162.3
- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.20162.3
- Microsoft.DotNet.ApiCompat - 5.0.0-beta.20162.3
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.20162.3
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.20162.3
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.20162.3
- Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk - 5.0.0-beta.20162.3
- Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk - 5.0.0-beta.20162.3
- Microsoft.DotNet.CodeAnalysis - 5.0.0-beta.20162.3
- Microsoft.DotNet.GenAPI - 5.0.0-beta.20162.3
- Microsoft.DotNet.GenFacades - 5.0.0-beta.20162.3
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.20162.3
- Microsoft.DotNet.RemoteExecutor - 5.0.0-beta.20162.3
- Microsoft.DotNet.XUnitConsoleRunner - 2.5.1-beta.20162.3
* Update dependencies from https://github.com/dotnet/runtime-assets build
20200312.1
- System.Windows.Extensions.TestData - 5.0.0-beta.20162.1
- System.Security.Cryptography.X509Certificates.TestData - 5.0.0-beta.20162.1
- System.Private.Runtime.UnicodeData - 5.0.0-beta.20162.1
- System.Net.TestData - 5.0.0-beta.20162.1
- System.IO.Packaging.TestData - 5.0.0-beta.20162.1
- System.IO.Compression.TestData - 5.0.0-beta.20162.1
- System.Drawing.Common.TestData - 5.0.0-beta.20162.1
- System.ComponentModel.TypeConverter.TestData - 5.0.0-beta.20162.1
* Remove APICompat downgrade
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Santiago Fernandez Madero <safern@microsoft.com>
Egor Bogatov [Sat, 14 Mar 2020 03:35:53 +0000 (06:35 +0300)]
[mono] Implement missing SSE2 intrinsics (#33574)
* Implement missing SSE2 intrinsics
* remove SN_ConvertScalarToVector128Single case
* Remove unrelated change
* Shuffle < Sqrt (binary search)
Andrew Au [Sat, 14 Mar 2020 03:23:53 +0000 (20:23 -0700)]
Read the image earlier (#33576)
Santiago Fernandez Madero [Sat, 14 Mar 2020 02:45:40 +0000 (19:45 -0700)]
Disable publishing CoreCLR product binaries on GCC leg (#33580)
Levi Broderick [Sat, 14 Mar 2020 02:43:13 +0000 (19:43 -0700)]
Prep CompareInfo for spanification (#32385)
Jan Vorlicek [Sat, 14 Mar 2020 02:22:09 +0000 (03:22 +0100)]
Fix dump of common methods diff (#33570)
The DiffMethodsForModule was accidentally trying to get leftSection from
the right dumper.
Egor Chesakov [Sat, 14 Mar 2020 00:11:30 +0000 (17:11 -0700)]
[Arm64] Vector Load/Store structure instructions (#33461)
This adds support in the JIT emitter for Vector Load/Store structure instructions (C3.2.10 - Arm
Architecture Reference Manual):
- LD1 (1-4 registers)
- LD2
- LD3
- LD4
- LD1R
- LD2R
- LD3R
- LD4R
- ST1 (1-4 registers)
- ST2
- ST3
- ST4
in the following addressing modes:
- Base register only
- Post-indexed by a 64-bit register
- Post-indexed by an immediate, equal to the number of bytes transferred
Also adds support in JitDump for printing of
* A SIMD vector register list.
For example, ld1 {v5.16b, v6.16b, v7.16b, v8.16b}, [x9]
* A SIMD vector element list.
For example, st1 {v0.b}[3], [x1],#1
Aaron Robinson [Fri, 13 Mar 2020 23:50:58 +0000 (16:50 -0700)]
Make NativeCallableAttribute public. (#33005)
* Avoid creating a COM Delegate when calling NativeCallableAttribute.
* Create reverse P/Invoke frame.
Create Preempt and Coop PreStubWorker().
* Limit the exclusion for NativeCallableAttribute to Win-x86.
* Add Reverse P/Invoke JIT helpers to CrossGen2.
* Add test for generic class with NativeCallableAttribute method.
* Implement Unix EH change for NativeCallableAttribute method.
Co-authored-by: Jan Vorlicek <janvorli@microsoft.com>
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Erhan Atesoglu [Fri, 13 Mar 2020 22:56:27 +0000 (15:56 -0700)]
Remove TS_UserSuspendPending enum (#33539)
This PR removes the unused TS_UserSuspendPending enum as well as flag usage.
vitek-karas [Fri, 13 Mar 2020 22:28:57 +0000 (15:28 -0700)]
Add a document describing usage of URLs in the hosting layer
monojenkins [Fri, 13 Mar 2020 22:26:44 +0000 (18:26 -0400)]
[jit] Add support for emitting r4/r8 constants outside of the text segment. (#33552)
Co-authored-by: vargaz <vargaz@users.noreply.github.com>
Swaroop Sridhar [Fri, 13 Mar 2020 22:23:30 +0000 (15:23 -0700)]
HostModel: Remove depricated API (#33545)
Some depricated APIs were maintained in #33413 so that SDK build is green.
Now that the SDK is updated https://github.com/dotnet/sdk/pull/10849, remove the unused APIs.
Also move out a test-only methods from the product to the test helpers.
Jan Jahoda [Fri, 13 Mar 2020 22:17:30 +0000 (22:17 +0000)]
Disable not working test containing RemoteExecutor (#33560)
Steve Harter [Fri, 13 Mar 2020 22:12:09 +0000 (17:12 -0500)]
Add polymorphic tests for all root APIs (#33391)
monojenkins [Fri, 13 Mar 2020 22:01:14 +0000 (18:01 -0400)]
[runtime] Coverage profiler improvements. (#33540)
Co-authored-by: vargaz <vargaz@users.noreply.github.com>
Koundinya Veluri [Fri, 13 Mar 2020 20:14:02 +0000 (16:14 -0400)]
Merge pull request #33512 from kouvel/NoQuickJitFix
When QuickJit is disabled, fix assertion failures regarding R2R code
Steve Harter [Fri, 13 Mar 2020 19:38:46 +0000 (14:38 -0500)]
Rename "PolicyProperty" to "PropertyInfoForClassInfo" and update nullability (#33432)
Steve Harter [Fri, 13 Mar 2020 18:57:43 +0000 (13:57 -0500)]
Update doc for exceptions thrown during serialization (#33400)
Gustavo Varo [Fri, 13 Mar 2020 16:36:03 +0000 (12:36 -0400)]
Fix content of baseline files (#33514)
Egor Bogatov [Fri, 13 Mar 2020 16:18:10 +0000 (19:18 +0300)]
[mono] Track .dotnet runtime version (#33180)
* Track .dotnet runtime version correctly
* Use BundledNETCoreAppPackageVersion
* Rollback to an error
* Update src/mono/mono.proj
Co-Authored-By: Alexander Köplinger <alex.koeplinger@outlook.com>
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
Miha Zupan [Fri, 13 Mar 2020 15:30:00 +0000 (16:30 +0100)]
Replace ushort usage with int (#32694)
* Replace pointless ushort usage with int
* Revert extracting name[i] to a local
* Use int instead of byte in IPv4 ParseCanonical
Next Turn [Fri, 13 Mar 2020 14:49:09 +0000 (22:49 +0800)]
Clean up unused locals in System.Drawing.Common (#32212)
* Clean up unused locals in System.Drawing.Common
* Remove BufferedStream, use MemoryStream.ToArray()
Aleksey Kliger (λgeek) [Fri, 13 Mar 2020 14:45:03 +0000 (10:45 -0400)]
[threads] If shutting_down, don't create new thread, kill current thread (#32968)
If the runtime is shutting down, instead of creating a new thread, or throwing
an exception on the current thread, just shut down the current thread.
This takes advantage of `mono_threads_set_shutting_down`'s behavior that if you
call it after shutdown is already started, it will suspend, detach and exit
from the current thread.
Fixes https://github.com/dotnet/runtime/issues/31842
Jan Kotas [Fri, 13 Mar 2020 13:43:12 +0000 (06:43 -0700)]
Fix line endings under src/mono (#33547)
Fixes #2222
Sergey Andreenko [Fri, 13 Mar 2020 06:25:24 +0000 (23:25 -0700)]
Clean `fgMorphPotentialTailCall` for the future changes. (#33457)
* Clean `fgMorphPotentialTailCall` for the future changes.
* Use the original type, because the call was retyped to void.
* another fix for arm64.
monojenkins [Fri, 13 Mar 2020 03:46:09 +0000 (23:46 -0400)]
[debugger] [coop] assertion when `socket_transport_send` called from the crash reporter (#33489)
If there is a crash and the debugger is attached, we call mini_get_dbg_callbacks ()->send_crash().
That call ends up in mono_debugger_agent_send_crash which does all kinds of questionable stuff like trying to take the loader lock. Eventually it ends up calling socket_transport_send which tries to do a transition to GC Safe mode.
I inserted a MONO_ENTER_GC_UNSAFE in mono_debugger_agent_send_crash function and this fixes the assert.
Fixes mono/mono#18794
Co-authored-by: thaystg <thaystg@users.noreply.github.com>
monojenkins [Fri, 13 Mar 2020 03:44:52 +0000 (23:44 -0400)]
[wasm][debugger] Continue SS after leaving managed code (#33272)
Continue stepping over/into/out of managed code to native code, without this fix the behavior was resume when a SS leaves the managed code.
Co-authored-by: thaystg <thaystg@users.noreply.github.com>
Maryam Ariyan [Fri, 13 Mar 2020 02:55:25 +0000 (19:55 -0700)]
Extensions: Adding FileProviders and FileSystemGlobbing (#33212)
* - [x] Bulk update all ref csproj except for FileProviders/FileSystemGlobbing
* - Bulk move Descriptions to json file, all except for FileProviders and FileSystemGlobbing
* - Bulk correct test project targetframeworks, all except for FileProviders and FileSystemGlobbing
* - Bulk rename ref cs file and delete the extra duplicates
* - Bulk move/rename Resources file
from: Resources.resx to Resources\Strings.resx
* Enables ref/src/test/pkg/sln on FileProviders projects and FileSystemGlobbing
- [x] Enable on Directory.Build.props
- [x] build ref/src projects and used GenerateReferenceSource
- [x] cleanup src csproj properties
- [x] set proper targetframeworks
Zoltan Varga [Fri, 13 Mar 2020 01:48:03 +0000 (21:48 -0400)]
[jit] Add more SSE2 opcodes. Enable SSE2. (#33465)
* [jit] Fix the Sse2 supported check.
* Add more SSE2 opcodes. Enable SSE2.
* Use the non-immediate version of the shift opcodes.
* Fix ShiftRightArithmetic.
* Remove a debug printf.
* Implement all SSE3 intrinsics.
* Define all intrinsics using the SimdIntrinsic struct.
* Disable SSE2 support as some intrinsics are still missing.
David Mason [Fri, 13 Mar 2020 01:17:18 +0000 (18:17 -0700)]
Remove asserts that were firing during rejit tests (#33492)
The rejit path no longer suspends the runtime so that assert is inaccurate
Levi Broderick [Fri, 13 Mar 2020 00:57:23 +0000 (17:57 -0700)]
Reduce fixed overhead of some Utf8Parser.TryParse methods (#33507)
Jan Vorlicek [Fri, 13 Mar 2020 00:55:44 +0000 (01:55 +0100)]
Fix handling thread abort in HelperMethodFrame (#33448)
* Fix handling thread abort in HelperMethodFrame
The thread abort during func eval from a managed debugger on Linux and macOS
was sometimes causing the debuggee to exit with unhandled c++ PAL_SEHException.
The reason is that the thread abort detection that is done in the
HELPER_METHOD_FRAME_BEGIN and ...END macros was done outside of the
INSTALL_MANAGED_EXCEPTION_DISPATCHER / UNINSTALL_MANAGED_EXCEPTION_DISPATCHER
region and so the exception thrown when thread abort request is detected
there was not being caught and translated into a call to DispatchManagedException.
Since the caller frame was a managed function frame, the C++ exception handling
didn't know how to unwind it and so it declared the exception being unhandled.
This fix moves the frame pushing and popping inside of the
INSTALL_MANAGED_EXCEPTION_DISPATCHER / UNINSTALL_MANAGED_EXCEPTION_DISPATCHER
region. That way, the thread abort exception is properly handled.
monojenkins [Fri, 13 Mar 2020 00:08:51 +0000 (20:08 -0400)]
[test][mono] Capture the ExceptionDispatchInfo when rethrowing from TaskContinuation (#33491)
Regression test for https://github.com/mono/mono/issues/19166
Co-authored-by: lambdageek <lambdageek@users.noreply.github.com>
Andy Ayers [Thu, 12 Mar 2020 22:49:40 +0000 (15:49 -0700)]
JIT: fix overly aggressive tail recursive call loop marking (#33517)
If there is a tail recursive call site, the jit will mark all blocks
from method entry to the block with the call as "in a loop," anticipating
a tail recursive call to loop optimization.
Because of some confusing naming we were doing this even for recursive calls
that were not tail calls. Upshot is that blocks were marked as being in loops
when they weren't, and (among other things) this made the inliner more
aggressive for calls in those blocks.
Ivan Diaz Sanchez [Thu, 12 Mar 2020 22:00:33 +0000 (15:00 -0700)]
Moved warning disables from warningcontrol.h to configurecompiler.cmake (#33439)
* Moved warning disables from warningcontrol.h to configurecompiler.cmake
* Completely moved the contents of inc/warningcontrol.hto configurecompiler.cmake.
Adeel Mujahid [Thu, 12 Mar 2020 20:37:55 +0000 (22:37 +0200)]
Add CoreCLR build pipeline for GCC (#33446)
* Add CoreCLR build pipeline for GCC
* Fix GCC build issues
* Use empty clangArg in case of GCC
* Revert ilasm's cmake file
* Use GCC to also build native test components
Marie Píchová [Thu, 12 Mar 2020 20:07:03 +0000 (21:07 +0100)]
Fixed memory leak of OverlappedData when doing read from server WebSocket stream. (#33480)
Vivek Mishra [Thu, 12 Mar 2020 19:22:50 +0000 (12:22 -0700)]
Merge pull request #33497 from dotnet/vivpatch
Adding separate 2.1 SDK yaml
Eric StJohn [Thu, 12 Mar 2020 19:04:56 +0000 (12:04 -0700)]
Cleanup stale ApiCompatBaseline files (#33519)
monojenkins [Thu, 12 Mar 2020 18:18:04 +0000 (14:18 -0400)]
[metadata] Disable three icalls on netcore monodroid (#33513)
They aren't used there.
Co-authored-by: akoeplinger <akoeplinger@users.noreply.github.com>
Jarret Shook [Thu, 12 Mar 2020 17:56:24 +0000 (10:56 -0700)]
Remove the copy of core_root by using core_root as the corelation dir (#33498)
* Remove the copy of core_root by using core_root as the corelation dir
* Change to remove core_root, it is the workitem_payload
* Fix core_root location
Maryam Ariyan [Thu, 12 Mar 2020 15:28:23 +0000 (08:28 -0700)]
Merge pull request #33494 from maryamariyan/fromoldmaster-bringmissingfiles-1
Bring commit history for more files from Extensions repo
Steve MacLean [Thu, 12 Mar 2020 15:22:14 +0000 (11:22 -0400)]
Fix type layout whan Cross OS compiling (#33487)
* Fix cache line size to be a TARGET property
* Fix CCompRC cross OS DAC layout
* Fix cross OS InlineSArray packing
* Add DAC_ALIGNAS()
Align first member of various classes which have shown
inconsistent layout during cross compilation.
* Fix RegMeta cross os layout
* Fix typo
* Remove dead code
* Remove FunctionSigBuilder et. al from DAC
Remove FunctionSigBuilder and classes which depend on its
definition from the DAC.
Remove the FunctionSigBuilder layout correction to make it
cross platform stable.
* Remove more stubgen classes from DAC
* Improve comment
monojenkins [Thu, 12 Mar 2020 15:13:18 +0000 (11:13 -0400)]
[merp] Remove unnecessary call to msync in mono_state_free_mem (#33395)
Closes https://github.com/mono/mono/issues/19136
Co-authored-by: alexischr <alexischr@users.noreply.github.com>
Eric StJohn [Thu, 12 Mar 2020 14:47:09 +0000 (07:47 -0700)]
Run APICompat against the previous release of NETCoreApp (#33300)
* Run APICompat against the previous release of NETCoreApp
* Remove redundant source build condition
* Add APICompat specific attribute exclusion list.
* Update to latest ApiCompat
Koundinya Veluri [Wed, 11 Mar 2020 18:41:16 +0000 (11:41 -0700)]
When QuickJit is disabled, fix assertion failures
- When QuickJit is disabled, the initial tier is Optimized instead of the correct Tier0. This causes assertion failures as tiering tries to count calls and promote the method to Tier1.
- Does not appear to be an issue in release builds, as the methods are still call-counted and promoted despite the incorrect tier
- Add some basic tiering tests for config modes that are exposed and supported through <app>.runtimeconfig.json, QuickJit and QuickJitForLoops, when on and off
- Removed an invalid and redundant assertion that was causing a profiler rejit test to fail, see https://github.com/dotnet/runtime/pull/33492#discussion_r391257466. What the assertion was intending to verify is already verified by an assertion above it that checks the tier, which also covers the default native code version case.
Santiago Fernandez Madero [Thu, 12 Mar 2020 11:50:55 +0000 (04:50 -0700)]
Bring back GenAPI subscription, update to latest and workaround roslyn issue (#33499)
Johan Lorensson [Thu, 12 Mar 2020 11:35:50 +0000 (12:35 +0100)]
Share managed EventSource/EventPipe implementation between CoreCLR and Mono. (#33425)
First changes needed in order to start sharing managed EventSource/EventPipe
code between CoreCLR and Mono runtime. Sharable code has been moved into
S.P.C library project and split into runtime specific source files when
needed, kept within each runtime specific S.P.C project files.
Mono runtime has been extended with a set of icalls needed by
EventPipeInternal, just to make sure EventPipe can be initialized,
current Mono runtime implementation returns dummy values.
Current change also enables ETW provider support on Mono Windows runtime.
NOTE, this is just initial changes needed in order to share managed
EventSource/EventPipe code between runtimes. Future changes will incrementally
add EventPipe native code into Mono runtime.
Alexis Christoforides [Thu, 12 Mar 2020 10:53:47 +0000 (06:53 -0400)]
[mono] Improve how EnumBuilder handles type attributes (#33389)
Literally copy set of attributes from https://github.com/dotnet/runtime/blob/
dc62dd61071c239401ef6397a4d7ae29161d10a7/src/coreclr/src/System.Private.CoreLib/src/System/Reflection/Emit/EnumBuilder.cs#L330
Tomáš Rylek [Thu, 12 Mar 2020 09:37:22 +0000 (10:37 +0100)]
Fix assertion failure when running some composite CoreCLR tests (#33503)
In composite testing, ReadyToRunInfo::GetImage() returns the
composite image layout (NativeImageLayout) for which
PEDecoder::GetReadyToRunHeader doesn't work (we decided we don't
want to modify the general PEDecoder logic). A simple fix is not
to go through GetImage() and expose the header on the R2R info
directly instead.
Thanks
Tomas
Swaroop Sridhar [Thu, 12 Mar 2020 03:58:21 +0000 (20:58 -0700)]
Implement Bundler version 2 (#33413)
* Implement Bundler version 2
Implement support for single-file version 2 layout as described in https://github.com/dotnet/designs/blob/master/accepted/2020/single-file/bundler.md
The supporting changes are:
* Implement new HostModel interfaces to communicate additional information from the SDK to the HostModel
* The SDK changes will be done in an upcoming PR.
* Some depricated APIs are maintained so that SDK build doesn't break in the meantime]
* Handle various bundling options described in https://github.com/dotnet/designs/blob/master/accepted/2020/single-file/design.md#optional-settings
* This requires ability to recognize native binaries for various architectures.
* Added ability to minimaly parse ELF binaries. PE/MachO support already exists.
* Refactored out PE processing from BinaryUtils, so that PE-ELF-MachO parsers have similar abstractions.
* Create bundles with the appropriate layout (`v1` for `netcoreapp3.0`, `v2` for `net5`)
* Consume the new layout from the host bundle process/extraction code.
* Test cases
* Some of the AppHost rewriter files imported from the SDK repo had the license banner in a differnt format; make them consistent with rest of the files in the installer partition.
Alexander Köplinger [Wed, 11 Mar 2020 23:55:38 +0000 (00:55 +0100)]
Add iOS build configurations (#33292)
This adds support for iOS using the Mono runtime to the build system.
Santiago Fernandez Madero [Wed, 11 Mar 2020 23:19:42 +0000 (16:19 -0700)]
[master] Update dependencies from 4 repositories (#33230)
* Update dependencies from https://github.com/dotnet/arcade build
20200304.1
- Microsoft.DotNet.XUnitExtensions - 5.0.0-beta.20154.1
- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.20154.1
- Microsoft.DotNet.ApiCompat - 5.0.0-beta.20154.1
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.20154.1
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.20154.1
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.20154.1
- Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk - 5.0.0-beta.20154.1
- Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk - 5.0.0-beta.20154.1
- Microsoft.DotNet.CodeAnalysis - 5.0.0-beta.20154.1
- Microsoft.DotNet.GenAPI - 5.0.0-beta.20154.1
- Microsoft.DotNet.GenFacades - 5.0.0-beta.20154.1
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.20154.1
- Microsoft.DotNet.RemoteExecutor - 5.0.0-beta.20154.1
- Microsoft.DotNet.XUnitConsoleRunner - 2.5.1-beta.20154.1
* Update dependencies from https://github.com/microsoft/vstest build
20200305-01
- Microsoft.NET.Test.Sdk - 16.6.0-preview-
20200305-01
* Update dependencies from https://github.com/dotnet/arcade build
20200305.4
- Microsoft.DotNet.XUnitExtensions - 5.0.0-beta.20155.4
- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.20155.4
- Microsoft.DotNet.ApiCompat - 5.0.0-beta.20155.4
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.20155.4
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.20155.4
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.20155.4
- Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk - 5.0.0-beta.20155.4
- Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk - 5.0.0-beta.20155.4
- Microsoft.DotNet.CodeAnalysis - 5.0.0-beta.20155.4
- Microsoft.DotNet.GenAPI - 5.0.0-beta.20155.4
- Microsoft.DotNet.GenFacades - 5.0.0-beta.20155.4
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.20155.4
- Microsoft.DotNet.RemoteExecutor - 5.0.0-beta.20155.4
- Microsoft.DotNet.XUnitConsoleRunner - 2.5.1-beta.20155.4
* Update dependencies from https://github.com/dotnet/arcade build
20200306.4
- Microsoft.DotNet.XUnitExtensions - 5.0.0-beta.20156.4
- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.20156.4
- Microsoft.DotNet.ApiCompat - 5.0.0-beta.20156.4
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.20156.4
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.20156.4
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.20156.4
- Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk - 5.0.0-beta.20156.4
- Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk - 5.0.0-beta.20156.4
- Microsoft.DotNet.CodeAnalysis - 5.0.0-beta.20156.4
- Microsoft.DotNet.GenAPI - 5.0.0-beta.20156.4
- Microsoft.DotNet.GenFacades - 5.0.0-beta.20156.4
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.20156.4
- Microsoft.DotNet.RemoteExecutor - 5.0.0-beta.20156.4
- Microsoft.DotNet.XUnitConsoleRunner - 2.5.1-beta.20156.4
* Update dependencies from https://github.com/mono/linker build
20200307.1
- ILLink.Tasks - 0.1.6-prerelease.20157.1
* Update dependencies from https://github.com/dotnet/arcade build
20200307.1
- Microsoft.DotNet.XUnitExtensions - 5.0.0-beta.20157.1
- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.20157.1
- Microsoft.DotNet.ApiCompat - 5.0.0-beta.20157.1
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.20157.1
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.20157.1
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.20157.1
- Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk - 5.0.0-beta.20157.1
- Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk - 5.0.0-beta.20157.1
- Microsoft.DotNet.CodeAnalysis - 5.0.0-beta.20157.1
- Microsoft.DotNet.GenAPI - 5.0.0-beta.20157.1
- Microsoft.DotNet.GenFacades - 5.0.0-beta.20157.1
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.20157.1
- Microsoft.DotNet.RemoteExecutor - 5.0.0-beta.20157.1
- Microsoft.DotNet.XUnitConsoleRunner - 2.5.1-beta.20157.1
* Update dependencies from https://github.com/mono/linker build
20200308.2
- ILLink.Tasks - 0.1.6-prerelease.20158.2
* Update dependencies from https://github.com/dotnet/llvm-project build
20200302.1
- runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools - 6.0.1-alpha.1.20152.1
- runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk - 6.0.1-alpha.1.20152.1
- runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools - 6.0.1-alpha.1.20152.1
- runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk - 6.0.1-alpha.1.20152.1
- runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools - 6.0.1-alpha.1.20152.1
- runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk - 6.0.1-alpha.1.20152.1
* Update dependencies from https://github.com/dotnet/arcade build
20200308.2
- Microsoft.DotNet.XUnitExtensions - 5.0.0-beta.20158.2
- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.20158.2
- Microsoft.DotNet.ApiCompat - 5.0.0-beta.20158.2
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.20158.2
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.20158.2
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.20158.2
- Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk - 5.0.0-beta.20158.2
- Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk - 5.0.0-beta.20158.2
- Microsoft.DotNet.CodeAnalysis - 5.0.0-beta.20158.2
- Microsoft.DotNet.GenAPI - 5.0.0-beta.20158.2
- Microsoft.DotNet.GenFacades - 5.0.0-beta.20158.2
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.20158.2
- Microsoft.DotNet.RemoteExecutor - 5.0.0-beta.20158.2
- Microsoft.DotNet.XUnitConsoleRunner - 2.5.1-beta.20158.2
* Update dependencies from https://github.com/dotnet/arcade build
20200309.2
- Microsoft.DotNet.XUnitExtensions - 5.0.0-beta.20159.2
- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.20159.2
- Microsoft.DotNet.ApiCompat - 5.0.0-beta.20159.2
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.20159.2
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.20159.2
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.20159.2
- Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk - 5.0.0-beta.20159.2
- Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk - 5.0.0-beta.20159.2
- Microsoft.DotNet.CodeAnalysis - 5.0.0-beta.20159.2
- Microsoft.DotNet.GenAPI - 5.0.0-beta.20159.2
- Microsoft.DotNet.GenFacades - 5.0.0-beta.20159.2
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.20159.2
- Microsoft.DotNet.RemoteExecutor - 5.0.0-beta.20159.2
- Microsoft.DotNet.XUnitConsoleRunner - 2.5.1-beta.20159.2
* Update dependencies from https://github.com/mono/linker build
20200309.1
- ILLink.Tasks - 0.1.6-prerelease.20159.1
* Update dependencies from https://github.com/dotnet/arcade build
20200310.4
- Microsoft.DotNet.XUnitExtensions - 5.0.0-beta.20160.4
- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.20160.4
- Microsoft.DotNet.ApiCompat - 5.0.0-beta.20160.4
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.20160.4
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.20160.4
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.20160.4
- Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk - 5.0.0-beta.20160.4
- Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk - 5.0.0-beta.20160.4
- Microsoft.DotNet.CodeAnalysis - 5.0.0-beta.20160.4
- Microsoft.DotNet.GenAPI - 5.0.0-beta.20160.4
- Microsoft.DotNet.GenFacades - 5.0.0-beta.20160.4
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.20160.4
- Microsoft.DotNet.RemoteExecutor - 5.0.0-beta.20160.4
- Microsoft.DotNet.XUnitConsoleRunner - 2.5.1-beta.20160.4
* Update dependencies from https://github.com/mono/linker build
20200310.1
- ILLink.Tasks - 0.1.6-prerelease.20160.1
* Remove GenAPI from darc updates for now until we figure out what's causing compiler to fail
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Santiago Fernandez Madero <safern@microsoft.com>
Egor Bogatov [Wed, 11 Mar 2020 23:19:00 +0000 (02:19 +0300)]
Fix JIT crash caused by GetType() == typeof(SealedClass) optimization (#33337)
Downstream phases can't handle commas under JTRUE, so do more thorough cleanup in `fgFoldConditional` for JTRUE (and SWITCH).
Fixes #33333.
Tomáš Rylek [Wed, 11 Mar 2020 23:15:55 +0000 (00:15 +0100)]
Fix SuperIlc to work on Linux / OSX in composite mode (#33358)
1) I have generalized the concept of framework exclusions so that
the CPAOT runner can consume it - without it we were picking up
"CommandLine.dll" in the Core_Root folder as a Crossgen2 compilation
input and R2RDump was subsequently failing to dump the file as
CommandLine.dll is one of the stupid assemblies where the assembly
name differs from the PE file name (the assembly name is
'commandline' causing a mismatch on case-sensitive file systems).
2) On Linux / OSX, we need to copy around a bunch of native libraries
to the output, e.g. libSystem.Globalization.Native.so.
Thanks
Tomas
Maryam Ariyan [Wed, 11 Mar 2020 23:04:19 +0000 (16:04 -0700)]
Update src/libraries/Directory.Build.props
Co-Authored-By: Eric StJohn <ericstj@microsoft.com>
Maryam Ariyan [Wed, 11 Mar 2020 22:11:34 +0000 (15:11 -0700)]
Exclude from building Microsoft.AspNetCore.Testing
vivmishra [Wed, 11 Mar 2020 22:17:37 +0000 (15:17 -0700)]
Adding separate 2.1 SDK yaml
Eric StJohn [Wed, 11 Mar 2020 22:15:51 +0000 (15:15 -0700)]
Include all System.Native packages in PackageOverrides (#33493)
monojenkins [Wed, 11 Mar 2020 22:14:59 +0000 (18:14 -0400)]
[interp] Add more Math intrinsics (#33431)
Fixes https://github.com/dotnet/runtime/issues/33233
Co-authored-by: BrzVlad <BrzVlad@users.noreply.github.com>
Kunal Pathak [Wed, 11 Mar 2020 21:48:46 +0000 (14:48 -0700)]
Support table driven importation for scalar hardware intrinsics (#33350)
* Deleted `mustExpand` parameter that we were passing to methods that never used it.
* Below xarch instructions are now imported with table driven logic:
* NI_BMI1_AndNot
* NI_BMI1_X64_AndNot
* NI_BMI2_ParallelBitDeposit
* NI_BMI2_ParallelBitExtract
* NI_BMI2_X64_ParallelBitDeposit
* NI_BMI2_X64_ParallelBitExtract
* NI_BMI1_ExtractLowestSetBit
* NI_BMI1_GetMaskUpToLowestSetBit
* NI_BMI1_ResetLowestSetBit
* NI_BMI1_TrailingZeroCount
* NI_BMI1_X64_ExtractLowestSetBit
* NI_BMI1_X64_GetMaskUpToLowestSetBit
* NI_BMI1_X64_ResetLowestSetBit
* NI_BMI1_X64_TrailingZeroCount
* NI_BMI2_MultiplyNoFlags
* NI_BMI2_X64_MultiplyNoFlags
* InstructionSet_LZCNT
* InstructionSet_LZCNT_X64
* InstructionSet_POPCNT
* InstructionSet_POPCNT_X64
* NI_SSE42_Crc32
* NI_SSE42_X64_Crc32
* Below ARM instructions are now imported with table driven logic:
* NI_ArmBase_LeadingZeroCount
* NI_ArmBase_ReverseElementBits
* NI_ArmBase_Arm64_LeadingSignCount
* NI_ArmBase_Arm64_LeadingZeroCount
* NI_ArmBase_Arm64_ReverseElementBits
* NI_Sha1_FixedRotate
* NI_Crc32_ComputeCrc32
* NI_Crc32_ComputeCrc32C
* NI_Crc32_Arm64_ComputeCrc32
* NI_Crc32_Arm64_ComputeCrc32C
* Updated the impIsTableDrivenHWIntrinsic() method to not check for `HW_Category_Scalar` anymore because almost all scalar intrinsic will be handled by table-driven. For scalar intrinsic which needs special handling I have tagged them with `HW_Flag_SpecialImport` to make sure they don't get imported using table-driven logic.
* In `hwintrinsiccodegenarm64.cpp`, I have removed a condition of `HW_Category_Special` because no instruction of arm64 were tagged with this category.
* I have created `getBaseTypeFromArgIfNeeded()` method that contains logic to extract `baesType` from args if the argument was flagged as one of `BaseTypeFromFirstArg` or `BaseTypeFromSecondArg`. This method is reused inside special handling of intrinsic for arm.
Stephen Toub [Wed, 11 Mar 2020 21:28:02 +0000 (17:28 -0400)]
Add more regex tests (and fix one atomicity bug) (#33458)
* Avoid automatically making Regex loops followed by a lookbehind atomic
We allow a positive lookahead to be used to determine whether a loop can be upgraded to be atomic, but we're currently missing the RTL check that distinguishes between positive lookaheads and positive lookbehinds, so we're currently erroneously making some loops followed by positive lookbehinds atomic when we shouldn't. Fix that just by ensuring we only traverse Require nodes when they're lookahead rather than behind.
Also, just for additional safety, change a subsequent check to ensure that the two nodes being compared have identical options. Today we're just checking for case-sensitivity, but it's more robust (and doesn't hurt) to just check all options.
* Add more tests to boost code coverage
Plus lookaround tests for min length computation
Maryam Ariyan [Wed, 11 Mar 2020 20:58:54 +0000 (13:58 -0700)]
Merge branch 'fromoldmaster-missingfiles' of Extensions on commit:
https://github.com/dotnet/Extensions/commit/
f4066026ca06984b07e90e61a6390ac38152ba93 into fromoldmaster-bringmissingfiles-1
Jeremy Koritzinsky [Wed, 11 Mar 2020 20:36:56 +0000 (13:36 -0700)]
Implement building the repo for multiple configurations and architectures with a single command on Windows. (#33295)
* Implement building the repo for multiple configurations and architectures with a single command on Windows.
* Use -Command instead of -File to invoke pwsh build script.
* Run all builds and output which builds failed at the end (if any)
* Update help output.
* Prepend argument list with architecture args instead of appending so as to allow scripts to override them with MSBuild arguments.
* Fix typo.
Santiago Fernandez Madero [Wed, 11 Mar 2020 20:29:57 +0000 (13:29 -0700)]
Remove GenAPI from darc updates for now until we figure out what's causing compiler to fail
Andy Ayers [Wed, 11 Mar 2020 20:16:23 +0000 (13:16 -0700)]
JIT: enable tail calls and copy omission for implicit byref structs (#33004)
Handle cases where a caller passes an implicit byref argument struct to
a callee in tail position. There is no need to create a local copy or
to block tail calling.
To prove this is safe we must show that we're not introducing aliasing by
not copying the arguments. We do a simplistic and limited form of alias
analysis.
This pattern comes up increasingly often as we write more layered code
operating on spans and similar structs.
Nikola Milosavljevic [Wed, 11 Mar 2020 19:24:59 +0000 (12:24 -0700)]
Merge pull request #33484 from NikolaMilosavljevic/stop.netstandard
Stop building NETStandard 2.1 packages
monojenkins [Wed, 11 Mar 2020 18:45:02 +0000 (14:45 -0400)]
Disable the IL verifier for now, it can't handle code compiled without /features:peverify-compat (#33478)
See https://github.com/mono/mono/issues/18572#issuecomment-
595924767.
Fixes https://github.com/mono/mono/issues/18572.
Co-authored-by: vargaz <vargaz@users.noreply.github.com>
Nikola Milosavljevic [Wed, 11 Mar 2020 18:42:04 +0000 (11:42 -0700)]
Update eng/Versions.props
Co-Authored-By: Davis Goodin <dagood@users.noreply.github.com>
Jarret Shook [Wed, 11 Mar 2020 18:11:44 +0000 (11:11 -0700)]
cross-crossgen job, reduce workitem size (#33436)
* cross-crossgen job, reduce workitem size
* Fix yml authoring error
* Fix typo and add validation to corelib location
* Print run time
monojenkins [Wed, 11 Mar 2020 18:10:09 +0000 (14:10 -0400)]
[interp] Optimize delegate invokes (#33099)
Co-authored-by: BrzVlad <BrzVlad@users.noreply.github.com>
Egor Bogatov [Wed, 11 Mar 2020 16:45:42 +0000 (19:45 +0300)]
[mono] Optimize boxing in Pattern Matching idioms (#32194)
* Optimize boxing in Pattern Matching
Jo Shields [Wed, 11 Mar 2020 16:42:11 +0000 (12:42 -0400)]
Unconditionally upgrade installed Brew packages on OSX (#33481)
With Apt, if you have X 1.0 installed, 1.1 exists in the package manifest, and say "install X", X is upgraded to 1.1. With Brew, a fatal error is thrown.
Blindly upgrading all previously installed packages is not ideal, and not a perfect mirror for the Apt behaviour, but it should mean that if X is previously installed it gets upgraded (causing a warning during install, when it's asked to be installed again with the same version), and if it's not already installed then it gets installed later.
Closes: https://github.com/dotnet/runtime/issues/33471
Nikola Milosavljevic (CLR) [Wed, 11 Mar 2020 16:14:20 +0000 (09:14 -0700)]
Stop building NETStandard 2.1 packages
Next Turn [Wed, 11 Mar 2020 15:48:50 +0000 (23:48 +0800)]
Improve ProcessManager.Win (#32010)
* ---- Style changes start here ----
* Remove unnecessary using directives
* Remove unnecessary assignments
* Use IntPtr.Zero
* Replace magic numbers
* Remove unused parameters
* Replace constructor with initializer
* Simplify delegate interop
* Inline temporary variables
* Remove unnecessary checked keyword
* Remove unnecessary cast
* Introduce using statement
* ---- Style changes end here ----
* Remove magic sleep
* Prealloc list
* Reduce copying
* Use ArrayPool
* Support long path
* Improve P/Invoke signatures
* Optimize modules enumeration
* Rename and move HandleLastWin32Error
* while (true)
* Move comments near codes
* Revert "Support long path"
This reverts commit
1f06435144925668e7273ec458e78b869aad6055.
* Revert "Introduce using statement"
This reverts commit
e3d383a229c13b096dbdef9aa9c857ee6cf986e1.
* Revert "Remove magic sleep"
This reverts commit
d8bc0017131a9d9d6c1f66569a87699f9f7faea6.
* Add braces
* Simplify initialization
* Fix last Win32 error
* Avoid reallocation if modules count decreased
* Nits
* Simplify codes
Alaa Masoud [Wed, 11 Mar 2020 14:59:59 +0000 (17:59 +0300)]
Re-use StringBuilder inside iteration (#32759)
* Re-use StringBuilder inside iteration
* another one
* Reuse StringBuilder in tools
* Revert accidental formatting
* pr feedback
* formatting
* 1 more
Nikola Milosavljevic [Wed, 11 Mar 2020 14:22:00 +0000 (07:22 -0700)]
Merge pull request #33455 from NikolaMilosavljevic/libicu65
Add libicu65 to DEB deps package
monojenkins [Wed, 11 Mar 2020 12:43:53 +0000 (08:43 -0400)]
[arm] Fix branch island disassembly for arm64 and thumb. (#33469)
Followup to https://github.com/mono/mono/pull/19126 and
https://github.com/mono/mono/pull/19169.
Bring arm64 `mono_arch_get_call_target` in line with other platforms by
returning NULL on failure instead of asserting. Bits 30-26 in an arm64
unconditional branch are exactly 0b00101, so 0x1f (0b11111) is used as a
mask to determine if the branch uses an immediate target--0x7 (0b111)
would incorrectly match against branches using register targets. The
extracted immediate is now sign extended in a branch-free way.
Avoid following blx entries in the method address table; ld64 can emit 4
different instruction sequences for islands involving thumb, and I'd
rather not implement support for them all now because 32-bit iOS is old
and large unlinked assemblies seem rare.
Co-authored-by: imhameed <imhameed@users.noreply.github.com>
pi1024e [Wed, 11 Mar 2020 12:41:03 +0000 (08:41 -0400)]
Update unwind.c to minimize usage of 'while (TRUE)' (#33107)
There is no need to have a "while (TRUE)" statement if we can check at the end of the loop or at the beginning.
dotnet-maestro[bot] [Wed, 11 Mar 2020 12:18:01 +0000 (12:18 +0000)]
Update dependencies from https://github.com/mono/linker build
20200310.1
- ILLink.Tasks - 0.1.6-prerelease.20160.1
dotnet-maestro[bot] [Wed, 11 Mar 2020 12:17:24 +0000 (12:17 +0000)]
Update dependencies from https://github.com/dotnet/arcade build
20200310.4
- Microsoft.DotNet.XUnitExtensions - 5.0.0-beta.20160.4
- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.20160.4
- Microsoft.DotNet.ApiCompat - 5.0.0-beta.20160.4
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.20160.4
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.20160.4
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.20160.4
- Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk - 5.0.0-beta.20160.4
- Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk - 5.0.0-beta.20160.4
- Microsoft.DotNet.CodeAnalysis - 5.0.0-beta.20160.4
- Microsoft.DotNet.GenAPI - 5.0.0-beta.20160.4
- Microsoft.DotNet.GenFacades - 5.0.0-beta.20160.4
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.20160.4
- Microsoft.DotNet.RemoteExecutor - 5.0.0-beta.20160.4
- Microsoft.DotNet.XUnitConsoleRunner - 2.5.1-beta.20160.4
monojenkins [Wed, 11 Mar 2020 11:43:21 +0000 (07:43 -0400)]
[interp][32bit] Fix warning about precedence/parentheses. (#33468)
/s/mono2/mono/mini/interp/transform.c:3166:25: note: place parentheses around
the '&&' expression to silence this warning
if (mt >= MINT_TYPE_I1 && mt <= MINT_TYPE_I4
~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
Co-authored-by: jaykrell <jaykrell@users.noreply.github.com>
monojenkins [Wed, 11 Mar 2020 09:18:02 +0000 (05:18 -0400)]
[mini] Fix warning about unused variables. (#33453)
/s/mono2/mono/mini/mini-generic-sharing.c:1415:9: warning: unused variable
'param_names' [-Wunused-variable]
char **param_names;
Co-authored-by: jaykrell <jaykrell@users.noreply.github.com>