Jeremy Koritzinsky [Fri, 25 Jan 2019 16:37:43 +0000 (08:37 -0800)]
Remove reflection-based wraper for AssemblyDependencyResolver. (#22195)
Now that AssemblyDependencyResolver is exposed in CoreFX and has propogated back to CoreCLR, we can remove the reflection-based wrapper for the unit tests for it.
Ben Adams [Fri, 25 Jan 2019 16:17:58 +0000 (17:17 +0100)]
Use AggressiveOptimization for intrinsics-based SpanHelpers (#22191)
* Use AggressiveOptimization for intrinsics-based SpanHelpers
* Remove from LastIndexOfAny
Marek Safar [Fri, 25 Jan 2019 15:58:14 +0000 (16:58 +0100)]
Reduce Task's static ctor dependencies (#22172)
* Reduce Task's static ctor dependencies
* Remove defensive check
* Revert "Remove defensive check"
This reverts commit
df15ab0350e8f44fc5cbb1a18c5211cd1de11989.
Elliot Prior [Fri, 25 Jan 2019 13:59:30 +0000 (13:59 +0000)]
Cancel CTS immediately if delay is zero. (#18098)
The intended behaviour on specifying a delay of zero is that the CancellationTokenSource is cancelled immediately - before this change, it would depend on the scheduling of the timer callback which could lead to seeing a non-cancelled token. Now, it marks itself as cancelled immediately, without invoking any callbacks (as this method is called only from within the constructor of the object, before any callbacks could have been registered.
Brian Sullivan [Fri, 25 Jan 2019 11:20:23 +0000 (03:20 -0800)]
Fixes the desktop build (#22197)
* Fixes the desktop build
warning C4311: 'reinterpret_cast': pointer truncation from 'BYTE *' to 'uint32_t' f:\j6\codegenmirror\src\ndp\clr\src\jit\emit.cpp(5636): warning C4302: 'reinterpret_cast': truncation from 'BYTE *' to 'uint32_t'
* Fix formatting
Ben Adams [Fri, 25 Jan 2019 02:48:43 +0000 (03:48 +0100)]
Speedup .SequenceCompareTo(byte, ...) (#22127)
* Speedup .SequenceCompareTo(byte, ...)
* Rename jump location
* Better annotations for clarity
Jan Vorlicek [Fri, 25 Jan 2019 01:34:39 +0000 (02:34 +0100)]
Fix collectible AssemblyLoadContext weak handle (#22193)
Native runtime keeps short weak handle for collectible AssemblyLoadContext
until the unload time when it gets converted to a strong one. A test
running with gc stress has recently hit a problem caused by the fact
that the weak handle is "short weak" and thus doesn't track
resurrection. Here is what happened:
* The test code has lost reference to the AssemblyLoadContext
* Finalizer was just invoked on that context due to that and so the weak
short handle was destroyed.
* Native runtime called AssemblyLoadContext.Resolve with the now dead
handle, the function tried to get the managed object and failed.
The fix is to change the handle type to long weak so that it doesn't get
destroyed before the finalization.
José Rivero [Fri, 25 Jan 2019 01:03:47 +0000 (17:03 -0800)]
Updating MicrosoftDiagnosticsTracingTraceEventPackageVersion (#22071)
Dotnet-GitSync-Bot [Fri, 25 Jan 2019 01:02:36 +0000 (17:02 -0800)]
Fix argument checks in ThreadPool.RegisterWaitForSingleObject. (#6887) (#22196)
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Jan Kotas [Fri, 25 Jan 2019 01:01:09 +0000 (17:01 -0800)]
Rename TplEtwProvider to TplEventSource (#22194)
* Rename TplEtwProvider to TplEventSource
* Rename etwLog to log
Marek Safar [Fri, 25 Jan 2019 01:00:33 +0000 (02:00 +0100)]
Move Marshal to shared partition (#22146)
* Move Marshal to shared partition
* Moved code optimizations
* Cosmetic changes
* Avoid duplicate arguments checks bys shipping Encoding.UTF8.GetString
Andy Ayers [Fri, 25 Jan 2019 00:18:23 +0000 (16:18 -0800)]
Fix SOS GCInfo for Arm/Arm64 (#22188)
Add missing DECODE_HAS_TAILCALLS flag.
Closes #22163
Tanner Gooding [Thu, 24 Jan 2019 21:58:28 +0000 (13:58 -0800)]
Fixing some issues with the decimal parser/formatter (#22070)
* Fixing the decimal formatting so that -0 prints as 0
* Fixing the decimal parser to consider digits still in the buffer as part of the zero/non-zero tail check
Mike McLaughlin [Thu, 24 Jan 2019 21:37:47 +0000 (13:37 -0800)]
Disable exception handling on MacOS when DLL like DAC, etc. (#22171)
Marek Safar [Thu, 24 Jan 2019 20:56:41 +0000 (21:56 +0100)]
Move TaskContinuation to shared partition (#22167)
* Move TaskContinuation to shared partition
* Remove TASK_STATE_THREAD_WAS_ABORTED from Task
* Use already existing ThrowAsync
Carol Eidt [Thu, 24 Jan 2019 20:23:51 +0000 (12:23 -0800)]
Merge pull request #14393 from mikedn/float-neg-abs
Improve `new Vector2/3/4(c1, c2, c3, c4)` codegen
Mike Danes [Thu, 24 Jan 2019 09:28:28 +0000 (11:28 +0200)]
Update SSE2 test
Mike Danes [Thu, 13 Sep 2018 19:24:04 +0000 (22:24 +0300)]
Fix importer spilling in the presence of assignment side effects
Atomic ops like GT_CMPXCHG and some HW intrinsic nodes act like assignements so impAppendStmt has to account for them. They can be top level nodes or they can appear in the RHS of a GT_ASG node that perhaps is not considered to have an assignment side effect itself.
Egor Chesakov [Thu, 24 Jan 2019 18:25:46 +0000 (10:25 -0800)]
Use .asArray/.asString syntax for scenarios and helixQueues (#22173)
Eugene Rozenfeld [Thu, 24 Jan 2019 17:26:53 +0000 (09:26 -0800)]
Fix test build warning. (#22168)
I decided to suppress the warning for the test instead of
removing the test for test matrix completeness.
Fixes #21519.
dotnet-maestro-bot [Thu, 24 Jan 2019 17:25:59 +0000 (09:25 -0800)]
Update PgoData to master-
20190124.1 (#22181)
Michal Strehovský [Thu, 24 Jan 2019 15:25:00 +0000 (16:25 +0100)]
Fix UWP VirtualAlloc import (dotnet/corert#6882)
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Filip Navara [Thu, 24 Jan 2019 17:25:33 +0000 (18:25 +0100)]
Remove obsolete thread abortion flags. (#22185)
Andrey Kvochko [Thu, 24 Jan 2019 16:09:34 +0000 (19:09 +0300)]
Disable PSPSym in filter prolog for CoreRT (#22184)
Koundinya Veluri [Thu, 24 Jan 2019 15:30:31 +0000 (07:30 -0800)]
Work around build failure (#22138)
Fixes https://github.com/dotnet/coreclr/issues/22103
- There were reports of build failure from https://github.com/dotnet/coreclr/pull/21292, worked around it for now with a todo
Jan Kotas [Thu, 24 Jan 2019 06:29:26 +0000 (22:29 -0800)]
IOCompletionCallback moved to shared partition
Marek Safar [Thu, 24 Jan 2019 06:18:48 +0000 (07:18 +0100)]
Move IOCompletionCallback to shared partition (dotnet/corert#6875)
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Filip Navara [Thu, 24 Jan 2019 12:34:09 +0000 (13:34 +0100)]
Remove no-op holder stack validation. (#22182)
Filip Navara [Thu, 24 Jan 2019 07:39:36 +0000 (08:39 +0100)]
Fix incorrect usage of wcscpy_s/wcscat_s. (#22153)
Calum Grant [Thu, 24 Jan 2019 07:38:46 +0000 (07:38 +0000)]
Fix accidental assignment inside an assert. (#22148)
dotnet-maestro-bot [Thu, 24 Jan 2019 06:54:32 +0000 (22:54 -0800)]
Update CoreFx, PgoData to preview.19073.1, master-
20190123.4, respectively (#22112)
Stephen Toub [Thu, 24 Jan 2019 03:47:03 +0000 (22:47 -0500)]
Enable warnings-as-errors for System.Private.CoreLib (#22164)
And disable several NoWarns.
Ben Adams [Thu, 24 Jan 2019 03:33:49 +0000 (04:33 +0100)]
Speedup SpanHelpers.IndexOf{Any}(byte, ...) (#22118)
* Speedup SpanHelpers.IndexOf(byte)
* 128 * 2 alignment
* Move TrailingZeroCountFallback to common SpanHelpers
So it can be used by other types than byte
* Speedup SpanHelpers.IndexOfAny(byte, ...)
* Indent for support flags
* More helpers, constency in local names/formatting, feedback
* Skip bounds check in software fallback
Maoni Stephens [Thu, 24 Jan 2019 03:06:35 +0000 (19:06 -0800)]
this test should not be run under gcstress (#22175)
Stephen Toub [Thu, 24 Jan 2019 01:51:34 +0000 (20:51 -0500)]
Implement IAsyncDisposable.ConfigureAwait (#22160)
Jan Kotas [Wed, 23 Jan 2019 17:52:31 +0000 (09:52 -0800)]
Fix CoreRT build after moving Task.cs to shared partition
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Aditya Mandaleeka [Thu, 24 Jan 2019 01:07:21 +0000 (17:07 -0800)]
Merge pull request #22003 from adityamandaleeka/writebarrier_updates_arm64
Write barrier optimizations for ARM64 Windows
Jeremy Koritzinsky [Thu, 24 Jan 2019 01:02:09 +0000 (17:02 -0800)]
Add GC.KeepAlive to keep collectible ALC alive across usage. (#22133)
Egor Chesakov [Wed, 23 Jan 2019 22:04:12 +0000 (14:04 -0800)]
Disable superpmicollection in r2r jobs until https://github.com/dotnet/coreclr/issues/22027 is fixed (#22085)
Jan Vorlicek [Wed, 23 Jan 2019 21:59:27 +0000 (22:59 +0100)]
Add unloadability testing tool (#22064)
* Add unloadability testing tool
This change adds the unloadability testing tool that can be used to run
coreclr tests or any other .NET core app inside of unloadable
AssemblyLoadContext, unload it after its execution completes and verify
that the unload succeeded. It has also various additional testing
options:
* memory leak testing
* running multiple iterations of the load/run/unload sequence
* optional breaking into debugger at various interesting stages (before
executing the test assembly, after executing it, on unload failure)
* delegated load when the AssemblyLoadContext that loads the test
assembly delegates loading of all the dependencies to another
AssemblyLoadContext
Filip Navara [Wed, 23 Jan 2019 21:35:11 +0000 (22:35 +0100)]
Move common ThreadPool code to shared CoreLib partition. (#22115)
* Move common ThreadPool code to shared CoreLib partition.
* Move numWorkingThreads counting out of shared code.
* Rename ThreadPoolGlobals.vmTpInitialized to threadPoolInitialized.
Remove exception handling from ThreadPoolWorkQueue.Dispatch.
Remove obsolete code from ThreadPoolWorkQueue.Dispatch.
Rename ThreadPool.EnsureVMInitialized to ThreadPool.EnsureInitialized.
Filip Navara [Wed, 23 Jan 2019 21:13:01 +0000 (22:13 +0100)]
Remove all traces of FEATURE_STACK_PROBE. (#22149)
Filip Navara [Tue, 22 Jan 2019 17:14:53 +0000 (18:14 +0100)]
Update parameter names in PInvoke signatures to match MSDN documentation.
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Filip Navara [Tue, 22 Jan 2019 13:25:08 +0000 (14:25 +0100)]
Build fixes.
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Filip Navara [Wed, 23 Jan 2019 20:47:47 +0000 (21:47 +0100)]
Fix possibly unintentional use of bit-wise or operator. (#22152)
Mike Danes [Wed, 23 Jan 2019 20:44:29 +0000 (22:44 +0200)]
Remove obsolete LEGACY_BACKEND ifdef
Egor Chesakov [Wed, 23 Jan 2019 20:29:35 +0000 (12:29 -0800)]
Disable OSX.1012.Amd64.Open in Azure DevOps (#22158)
Eugene Rozenfeld [Sat, 19 Jan 2019 00:15:32 +0000 (16:15 -0800)]
Fix R2R failure in one of ObjectStackAllocation tests.
AllocateSimpleClassAndCheckTypeNoHelper fails because
the object is allocated on the heap in R2R mode. The reason for that is
that we always use a helper for isinst in R2R mode and helper calls
cause us to assume the object escapes.
We don't have to use a helper in this case (even for R2R), #22086 tracks
fixing that.
For now the fix is not to check that the object was allocated on the stack
in this test case.
Fixes #22026.
Eugene Rozenfeld [Wed, 23 Jan 2019 00:47:33 +0000 (16:47 -0800)]
Fix for JIT\Directed\arglist\vararg test case.
TestEchoShortNoVararg was failing and disabled. The reason it was
failing was a mismatch between DllImport declaration for echo_short and
the native function: the former specified 2-byte arg and return while
the latter specified 1-byte arg and return. I fixed that and also added
a couple of test cases with 1-byte arg and 2-byte return and
vice versa.
Fixes #19704.
Jeremy Koritzinsky [Wed, 23 Jan 2019 18:34:54 +0000 (10:34 -0800)]
Don't redirect stdlib wchar functions to our test platform shims. (#22072)
* Don't redirect stdlib wchar functions to our test platform shims.
* Fix bad find-replaces.
* Remove unused overload and last wchar shadowing.
Bruce Forstall [Wed, 23 Jan 2019 18:12:30 +0000 (10:12 -0800)]
Merge pull request #22053 from BruceForstall/FixSimd12StoreLclFld
Fix SIMD12 GT_STORE_LCL_FLD
alexk000 [Wed, 23 Jan 2019 17:36:20 +0000 (12:36 -0500)]
Remove variable name duplication (#22155)
Filip Navara [Wed, 23 Jan 2019 17:35:31 +0000 (18:35 +0100)]
Remove unused thread abortion methods. (#22147)
Marek Safar [Wed, 23 Jan 2019 16:44:56 +0000 (17:44 +0100)]
Move Task to shared partition (#22105)
Egor Chesakov [Wed, 23 Jan 2019 16:11:49 +0000 (08:11 -0800)]
Use Windows.10.Arm64.Open with Jenkins ONLY (#22144)
Bruce Forstall [Fri, 18 Jan 2019 01:10:24 +0000 (17:10 -0800)]
Fix SIMD12 GT_STORE_LCL_FLD
It was ignoring the local field offset, by checking for the wrong
operator.
This appeared as a recent regression, but I couldn't find any code
(including test) change that would have caused this.
The failure only happens for JitStress with remorphing stress. This
creates the STORE_LCL_FLD. Otherwise, it looks like we normally
end up with IND(LCL_FLD_ADDR). Maybe we should be morphing these
somewhere?
No x64 PMI asm diffs in corelib or the JIT\SIMD tree. With JitStress=1
there are exactly 6 asm diffs in the Vector3Interop test, which was the
one failing.
The same fix is made for both xarch and arm64 code generators.
Fixes #21935
Ben Adams [Wed, 23 Jan 2019 03:05:25 +0000 (04:05 +0100)]
Remove duplicate requiresSynchronization params attribute (#22143)
Egor Chesakov [Wed, 23 Jan 2019 00:46:47 +0000 (16:46 -0800)]
Don't use Ubuntu.1604.Arm64.Open in Azure DevOps (#22135)
Michal Strehovský [Tue, 22 Jan 2019 20:40:56 +0000 (21:40 +0100)]
Decouple JIT_FLAG_PREJIT from HW intrinsics (#22117)
Per dotnet/corert#6836 (comment) moving the decision whether to enable HW intrinsics to the EE side.
Michal Strehovský [Tue, 22 Jan 2019 17:09:31 +0000 (18:09 +0100)]
Restrict HW intrinsic name check to intrinsic types (#22116)
Avoids having to compare names of all types in CoreLib to see if they're HW intrinsics.
Michal Strehovský [Tue, 22 Jan 2019 17:08:31 +0000 (18:08 +0100)]
Do not throw from TraceResolver (#22126)
Fixes #22059.
Filip Navara [Tue, 22 Jan 2019 12:16:45 +0000 (13:16 +0100)]
Move MemoryFailPoint to shared CoreLib partition (#22104)
* Move MemoryFailPoint to shared CoreLib partition.
* Split MemoryFailPoint into Unix and Windows versions.
* Replace MemoryFailPoint.GetMemorySettings FCall with GC.GetSegmentSize to make sharing with CoreRT easier.
Jan Kotas [Tue, 22 Jan 2019 05:02:55 +0000 (21:02 -0800)]
Fix CoreRT build breaks
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Marek Safar [Tue, 22 Jan 2019 03:28:13 +0000 (04:28 +0100)]
Move TplEtwProvider to shared partition (#22120)
Stephen Toub [Tue, 22 Jan 2019 02:56:55 +0000 (21:56 -0500)]
Remove two unnecessary ToArray calls (#22119)
We can just copy directly from the List, rather than first converting the list to an array and then copying that.
Stephen Toub [Mon, 21 Jan 2019 21:20:18 +0000 (16:20 -0500)]
Avoid intermediate strings in some StringBuilder formatting (#22111)
* Avoid intermediate strings in some StringBuilder formatting
Several appends to string builders are first creating strings and then appending those strings, and they're not using the existing Append(primitive) overloads because they want to customize the format string or provider as part of appending the value. This fixes a few of those cases, using another internal AppendSpanFormattable overload on StringBuilder.
* Address PR feedback
dotnet-maestro-bot [Mon, 21 Jan 2019 06:09:52 +0000 (22:09 -0800)]
Update CoreFx to preview.19070.3 (#22061)
Marek Safar [Sun, 20 Jan 2019 23:02:09 +0000 (00:02 +0100)]
Move Task factory type to shared partition (#22089)
Ben Adams [Sun, 20 Jan 2019 22:42:10 +0000 (23:42 +0100)]
Use List<T>.ToArray() in places (#22101)
* Use ReadOnlySpan.ToArray in places
* Use List.ToArray
* Don't take .Length in to local and use as loop condition
Jan Kotas [Sun, 20 Jan 2019 16:16:44 +0000 (08:16 -0800)]
Cleanup array related FCalls (#22097)
* Cleanup Array FCalls
* Disable outdated CoreFX tests
https://github.com/dotnet/corefx/pull/34700
Jan Kotas [Sat, 19 Jan 2019 19:48:28 +0000 (11:48 -0800)]
Fix CoreCLR build for changes in shared partition
Jan Kotas [Sat, 19 Jan 2019 08:24:57 +0000 (00:24 -0800)]
Fix build for ProjectN/WinRTInterop Delete superfluous AsyncCausalityTracer arguments
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Marek Safar [Fri, 18 Jan 2019 19:58:11 +0000 (20:58 +0100)]
Fix build
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Ben Adams [Sat, 19 Jan 2019 20:03:03 +0000 (21:03 +0100)]
Update Newtonsoft.Json (#22060)
Jan Vorlicek [Sat, 19 Jan 2019 20:02:00 +0000 (21:02 +0100)]
Cleanup: Remove MethodDesc::GetLoaderAllocatorForCode (#22067)
This function was recently changed to just return the
MethodDesc::GetLoaderAllocator. This is a cleanup that removes the
function completely and replaces all of its usages.
Matt Warren [Sat, 19 Jan 2019 19:59:40 +0000 (19:59 +0000)]
Removed unused 'Stack Walking' code (#22039)
As fair as I can tell `ECWGCFCrawlCallBack(..)` is not wired-up anywhere (I've successfully compiled CoreCLR locally with this change under `x86` and `x64`)
Sven Boemer [Sat, 19 Jan 2019 00:11:25 +0000 (16:11 -0800)]
Strip symbols on unix in release builds (#22083)
Fixes https://github.com/dotnet/coreclr/issues/22082
Jeremy Koritzinsky [Fri, 18 Jan 2019 23:39:54 +0000 (15:39 -0800)]
Fix calling conventions on reverse PInvoke callbacks. (#22044)
Egor Chesakov [Fri, 18 Jan 2019 22:05:29 +0000 (14:05 -0800)]
Run Azure DevOps builds against pull requests in coreclr/master (#22051)
And disable Windows_NT and Ubuntu arm32 and arm64 default triggers in Jenkins CI
Jarret Shook [Fri, 18 Jan 2019 20:33:13 +0000 (12:33 -0800)]
SuperPMI Collect/Replay/AsmDiff tool (#21252)
This change adds superpmi.py. The tool feature three modes, collection, replay, and asmdiffs.
Collection
The collection logic is very similar to the logic in our superpmi-collect test. Mostly it just allows running a script which will run managed code and it will produce a .mch which is clean to be run against. See superpmi.md for more information on specific usage and problems.
Replay
Replay will take an existing .mch file and run the current jit over the collection. If there is no .mch file on disk, the script will download the latest collection and run against that.
AsmDiffs
superpmi.md has the latest information on what platforms support asmdiffs. So far, I have an updated OSX and Windows collection that I have run against. If there are binary diffs, the tool will automatically generate base & diff folders with the asm under each one. Future work would include automatically running jit-analyze over those locations.
In addition, the tool has the option to automatically run and diff jit dumps, I have found this to be useful to looking into diffs created, as re-running superpmi with different jits to collect this same information is somewhat tedious.
Future work
This change is in no way the end of the work needed to leverage superpmi effectively. Instead, it is a good first step. Below are some suggestions for future superpmi work:
Automated collections
Add pmi collection support
Leverage some of the new corefx work to use superpmi shim for collections of corefx runs
To be added/changed
I will unset zapdisable being set by default, it creates too much data, although it is useful it should be opt in
Will include example usage in superpmi.md.
Marek Safar [Fri, 18 Jan 2019 18:19:17 +0000 (19:19 +0100)]
Move AsyncCausality to shared partition (#22062)
* Move AsyncCausality to shared partition
* Set FeatureAsyncCausalityTracer property
José Rivero [Fri, 18 Jan 2019 18:16:27 +0000 (10:16 -0800)]
Updating MicrosoftDiagnosticsTracingTraceEventPackageVersion
Sven Boemer [Fri, 18 Jan 2019 17:50:33 +0000 (09:50 -0800)]
Re-enable signing of System.Private.CoreLib (#22068)
* Re-enable signing for System.Private.CoreLib
Now that https://github.com/dotnet/arcade/issues/1582 is fixed.
Addresses https://github.com/dotnet/coreclr/issues/21946.
* Use uppercase build config
For consistency with other builds. Doesn't impact functionality, but
will result in the build logs showing the bin directory with the
uppercase build config during this step.
* Override arcade version of SignTool package
Swaroop Sridhar [Fri, 18 Jan 2019 17:24:41 +0000 (09:24 -0800)]
Add Per-assembly Load Native Library callbacks (#21555)
Add Per-assembly Load Native Library callbacks
This Change implements the Native Library resolution
Call-backs proposed in https://github.com/dotnet/corefx/issues/32015
dotnet-maestro[bot] [Fri, 18 Jan 2019 16:48:08 +0000 (11:48 -0500)]
Update dependencies from dotnet/arcade (#22035)
* Update dependencies from https://github.com/dotnet/arcade build
20190116.1
This change updates the following dependencies
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19066.1
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19066.1
* Update dependencies from https://github.com/dotnet/arcade build
20190117.6
This change updates the following dependencies
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19067.6
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19067.6
Michal Strehovský [Fri, 18 Jan 2019 11:01:03 +0000 (12:01 +0100)]
Enable detection of HW intrinsics (dotnet/corert#6836)
I took the liberty of marking the types containing the hardware intrinsics as [Intrinsic] to avoid doing a name check on everything in the system module. It feels like we should take advantage of this attribute in CoreCLR too.
This doesn't actually enable the support because RyuJIT unconditionally disables HW intrinsics for prejit (both CoreRT and CPAOT are considered prejit). We might want to do something about this on the RyuJIT side to address that (for CPAOT, to be able to pregenerate best code possible ahead of time, assuming a fixed ISA; and for CoreRT without JIT, where the concerns about AVX-SSE penalty don't apply). See conversation in dotnet/coreclr#21603
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Marek Safar [Fri, 18 Jan 2019 11:00:02 +0000 (12:00 +0100)]
Fix defines in TaskAwaiter (dotnet/corert#6846)
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Michal Strehovský [Fri, 18 Jan 2019 12:18:49 +0000 (13:18 +0100)]
Handle complex constrained calls with default interface methods (#21978)
This adds handling for the interface dispatch corner case where:
* We have a constrained callsite to a method on a generic interface in shared code
* The callsite cannot be statically resolved because the result of dispatch depends on the generic context
* At runtime, the dispatch resolves to a default interface method
This would require us to have infrastructure to build "boxing thunks" - thunks that would box their first argument before dispatching to the default interface method implementation.
Since this is a corner case and the fix is actually quite involved, we're making the runtime just throw in this situation.
The test is written so that it should pass both if the runtime chooses to throw, or if the runtime makes the boxing thunk (we're not hardcoding the implementation limitation).
Michal Strehovský [Fri, 18 Jan 2019 10:18:56 +0000 (11:18 +0100)]
Use correct resolution scope when checking default implementations (#22036)
We need to use the module of the interface.
Fixes #22021.
Sung Yoon Whang [Fri, 18 Jan 2019 08:23:16 +0000 (00:23 -0800)]
Add comments on headers that gets parsed by Mono linker for whoever touches this next (#22054)
* Add comments on headers that gets parsed by Mono linker for whoever touches this next
* add more comments to the targets file
Stephen Toub [Fri, 18 Jan 2019 01:07:12 +0000 (20:07 -0500)]
Move Environment to shared CoreLib (dotnet/corefx#34654)
Rather than having Environment partially live in corefx and call into an EnvironmentAugments type in CoreLib that in turn calls into an Environment type in CoreLib, we're just moving Environment to live in CoreLib.
To start that, this PR moves Environment and its dependencies from their current locations into the shared CoreLib. Those changes will mirror over to coreclr. After that, I'll fix it up to work in CoreLib. And once those changes are built and available back to corefx, I'll update System.Runtime.Extensions to just use the functionality from CoreLib and delete remaining unnecessary code from corefx.
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Jeremy Koritzinsky [Fri, 18 Jan 2019 00:58:34 +0000 (16:58 -0800)]
Unify xplatform.h and platformdefines.h (#21389)
* Move most of xplatform.h into platformdefines.h and clean up the interop CMake files.
* Fix build-break off Windows.
* Fix typo.
* Fix another break off-Windows.
* Fix signed/unsigned mismatch
Egor Chesakov [Fri, 18 Jan 2019 00:21:41 +0000 (16:21 -0800)]
Unblock Azure DevOps-as-CI (#22042)
* Disable JIT.Methodical/doublearray/dblarray3_cs_do
* Disable readytorun.r2rdump/R2RDumpTest
* Disable RedHat.6.Amd64.Open queue
* Rename Creator coreclr/pulls -> coreclr-pulls
* IsExternal is deprecated as of https://github.com/dotnet/arcade build
20190115.6
* Increase timeout for all test jobs
William Godbe [Fri, 18 Jan 2019 00:20:08 +0000 (16:20 -0800)]
Merge pull request #22002 from dotnet-maestro-bot/master-UpdateDependencies
Update BuildTools, CoreClr, CoreFx, PgoData to preview1-03617-02, preview-27316-02, preview.19066.1, master-
20190116.5, respectively (master)
Stephen Toub [Thu, 17 Jan 2019 23:10:48 +0000 (18:10 -0500)]
Remove ToString from RuntimeAssembly.GetManifestResourceStream (#22012)
* Remove ToString from RuntimeAssembly.GetManifestResourceStream
A small allocation we can avoid with the span-based string.Concat.
* Address PR feedback
dotnet-maestro-bot [Thu, 17 Jan 2019 22:27:15 +0000 (14:27 -0800)]
Update BuildTools, CoreClr, CoreFx, PgoData to preview1-03617-02, preview-27316-02, preview.19066.1, master-
20190116.5, respectively
Filip Navara [Thu, 17 Jan 2019 21:48:17 +0000 (22:48 +0100)]
Split ContractsBCL into separate classes and move them to shared CoreLib (#22006)
* Split up ContractsBCL into separate classes.
* Move remaining Contract, ContractHelper code to shared partition.
* Split ContractHelper to allow custom debugging experience in CoreRT.
* Simplify ContractHelper.InternalContractFailed.
* Use resource loading code from CoreRT.
* Remove unused parameter.
Stephen Toub [Thu, 17 Jan 2019 21:40:56 +0000 (16:40 -0500)]
Clean up a few minor Span-related uses (#22038)
Some unnecessary Span to ReadOnlySpan casts.
Some places where new Span(...).Slice(...) can be replaced with AsSpan(...).
Etc.
Stephen Toub [Thu, 17 Jan 2019 21:40:34 +0000 (16:40 -0500)]
Remove a few stale resource strings for ConcurrentStack (#22037)
Stephen Toub [Thu, 17 Jan 2019 21:00:12 +0000 (16:00 -0500)]
Avoid allocations in Utf8Formatter.TryFormat(float/double, ...) (#22011)
* Avoid allocations in Utf8Formatter.TryFormat(float/double, ...)
Currently every call to Utf8Formatter.TryFormat for a float or a double allocates two strings, one for the format string and one for the resulting number. This avoids those in the common case where we can use float/double.TryFormat and format directly into a stack buffer. Also removes some unsafe code; the performance of StandardFormat.ToString isn't currently worth the extra nanoseconds gained by using unsafe code.
* Delete assert
There's a test that uses unsafe code to cause this to fail and validate that no exception is thrown.