Marek Safar [Thu, 24 Jan 2019 20:56:41 +0000 (21:56 +0100)]
Move TaskContinuation to shared partition (dotnet/coreclr#22167)
* Move TaskContinuation to shared partition
* Remove TASK_STATE_THREAD_WAS_ABORTED from Task
* Use already existing ThrowAsync
Commit migrated from https://github.com/dotnet/coreclr/commit/
ef52964bb6db4687265abda8be65aa4c930796d0
Carol Eidt [Thu, 24 Jan 2019 20:23:51 +0000 (12:23 -0800)]
Merge pull request dotnet/coreclr#14393 from mikedn/float-neg-abs
Improve `new Vector2/3/4(c1, c2, c3, c4)` codegen
Commit migrated from https://github.com/dotnet/coreclr/commit/
aab30e3248b882ecad122127f3d60a2ce9ea14a6
Mike Danes [Thu, 24 Jan 2019 09:28:28 +0000 (11:28 +0200)]
Update SSE2 test
Commit migrated from https://github.com/dotnet/coreclr/commit/
ba8b42444d7e9fe3b3b45eb931e111fa9f1347f2
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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
5ca638f3b25336ae0aa9b3b3edd6b67c11a2533c
Egor Chesakov [Thu, 24 Jan 2019 18:25:46 +0000 (10:25 -0800)]
Use .asArray/.asString syntax for scenarios and helixQueues (dotnet/coreclr#22173)
Commit migrated from https://github.com/dotnet/coreclr/commit/
9ba6f7b6c28e1e80c4d3685b7f08f10c06c8b65c
Eugene Rozenfeld [Thu, 24 Jan 2019 17:26:53 +0000 (09:26 -0800)]
Fix test build warning. (dotnet/coreclr#22168)
I decided to suppress the warning for the test instead of
removing the test for test matrix completeness.
Fixes dotnet/coreclr#21519.
Commit migrated from https://github.com/dotnet/coreclr/commit/
4ec2e2c724b86fac13b0445aee5200d1ea6761fd
dotnet-maestro-bot [Thu, 24 Jan 2019 17:25:59 +0000 (09:25 -0800)]
Update PgoData to master-
20190124.1 (dotnet/coreclr#22181)
Commit migrated from https://github.com/dotnet/coreclr/commit/
d58c54c3ade3cb43f3558ddc22ab948169e95b1e
Michal Strehovský [Thu, 24 Jan 2019 15:25:00 +0000 (16:25 +0100)]
Fix UWP VirtualAlloc import (dotnet/corertdotnet/coreclr#6882)
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
33fb6af7e624ff99462b8eea577940a5c6e891fb
Filip Navara [Thu, 24 Jan 2019 17:25:33 +0000 (18:25 +0100)]
Remove obsolete thread abortion flags. (dotnet/coreclr#22185)
Commit migrated from https://github.com/dotnet/coreclr/commit/
aa2221d9b1ea39cd6e92895be5e0c7d90072a581
Andrey Kvochko [Thu, 24 Jan 2019 16:09:34 +0000 (19:09 +0300)]
Disable PSPSym in filter prolog for CoreRT (dotnet/coreclr#22184)
Commit migrated from https://github.com/dotnet/coreclr/commit/
786d2e06023ee1dc96ed9cc062135b3e0aad4137
Koundinya Veluri [Thu, 24 Jan 2019 15:30:31 +0000 (07:30 -0800)]
Work around build failure (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
29d442f6f3aceba3629a216089c9262d3b047613
Jan Kotas [Thu, 24 Jan 2019 06:29:26 +0000 (22:29 -0800)]
IOCompletionCallback moved to shared partition
Commit migrated from https://github.com/dotnet/coreclr/commit/
335458f7317cdc7ce1f0e06a48ad270bf2fab7c3
Marek Safar [Thu, 24 Jan 2019 06:18:48 +0000 (07:18 +0100)]
Move IOCompletionCallback to shared partition (dotnet/corertdotnet/coreclr#6875)
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
43d9e12a34399e917606f86f625ec076fa851c84
Filip Navara [Thu, 24 Jan 2019 12:34:09 +0000 (13:34 +0100)]
Remove no-op holder stack validation. (dotnet/coreclr#22182)
Commit migrated from https://github.com/dotnet/coreclr/commit/
0a43d9c795c1903e3d31b7228e7785554e89b59f
Filip Navara [Thu, 24 Jan 2019 07:39:36 +0000 (08:39 +0100)]
Fix incorrect usage of wcscpy_s/wcscat_s. (dotnet/coreclr#22153)
Commit migrated from https://github.com/dotnet/coreclr/commit/
b64035991c352f7f5a8350c361170ec1b0f97f60
Calum Grant [Thu, 24 Jan 2019 07:38:46 +0000 (07:38 +0000)]
Fix accidental assignment inside an assert. (dotnet/coreclr#22148)
Commit migrated from https://github.com/dotnet/coreclr/commit/
75da03d0d7743003064d15d7cda2f675bc367c1a
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 (dotnet/coreclr#22112)
Commit migrated from https://github.com/dotnet/coreclr/commit/
db6b5ab5eaf2f2499ef913880cd63bbbc3b3cbaf
Stephen Toub [Thu, 24 Jan 2019 03:47:03 +0000 (22:47 -0500)]
Enable warnings-as-errors for System.Private.CoreLib (dotnet/coreclr#22164)
And disable several NoWarns.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e8652c69d6c0fbfbeed5e68b4d83d039d6217796
Ben Adams [Thu, 24 Jan 2019 03:33:49 +0000 (04:33 +0100)]
Speedup SpanHelpers.IndexOf{Any}(byte, ...) (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
07d1e6b0c5dc2b5353b9cbc9c3d2385af3587552
Maoni Stephens [Thu, 24 Jan 2019 03:06:35 +0000 (19:06 -0800)]
this test should not be run under gcstress (dotnet/coreclr#22175)
Commit migrated from https://github.com/dotnet/coreclr/commit/
b41c67f0c457199953ad93c14fd1c08fa08fb5e0
Stephen Toub [Thu, 24 Jan 2019 01:51:34 +0000 (20:51 -0500)]
Implement IAsyncDisposable.ConfigureAwait (dotnet/coreclr#22160)
Commit migrated from https://github.com/dotnet/coreclr/commit/
9c6b200be7ea1af26a9d183d78e7ee5b06327639
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>
Commit migrated from https://github.com/dotnet/coreclr/commit/
8e882fe493331be39117ab029f99a58747967e74
Aditya Mandaleeka [Thu, 24 Jan 2019 01:07:21 +0000 (17:07 -0800)]
Merge pull request dotnet/coreclr#22003 from adityamandaleeka/writebarrier_updates_arm64
Write barrier optimizations for ARM64 Windows
Commit migrated from https://github.com/dotnet/coreclr/commit/
9fb7676b318f95504fbb9daf63e2ae5894bdf2ff
Jeremy Koritzinsky [Thu, 24 Jan 2019 01:02:09 +0000 (17:02 -0800)]
Add GC.KeepAlive to keep collectible ALC alive across usage. (dotnet/coreclr#22133)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ad8975dd4b064381e1560536b77e5dcfb3195c84
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 (dotnet/coreclr#22085)
Commit migrated from https://github.com/dotnet/coreclr/commit/
c17985240178000ecab0849045fee600e5a10a8d
Jan Vorlicek [Wed, 23 Jan 2019 21:59:27 +0000 (22:59 +0100)]
Add unloadability testing tool (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
70e7fa10827d039dcf2f3c59284da85eac02ac09
Filip Navara [Wed, 23 Jan 2019 21:35:11 +0000 (22:35 +0100)]
Move common ThreadPool code to shared CoreLib partition. (dotnet/coreclr#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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a0f81f59a7beb7120d3147c1547ef8ec1f05e0ae
Filip Navara [Wed, 23 Jan 2019 21:13:01 +0000 (22:13 +0100)]
Remove all traces of FEATURE_STACK_PROBE. (dotnet/coreclr#22149)
Commit migrated from https://github.com/dotnet/coreclr/commit/
a28b25aacdcd2adb0fdfa70bd869f53ba6565976
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>
Commit migrated from https://github.com/dotnet/coreclr/commit/
797888982e264e2ecfbc436f782f2f6704644e84
Filip Navara [Tue, 22 Jan 2019 13:25:08 +0000 (14:25 +0100)]
Build fixes.
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
04c465d2253945dea03c8e447a30dd6d1d7b55be
Filip Navara [Wed, 23 Jan 2019 20:47:47 +0000 (21:47 +0100)]
Fix possibly unintentional use of bit-wise or operator. (dotnet/coreclr#22152)
Commit migrated from https://github.com/dotnet/coreclr/commit/
9f558c3cef371c2a6d1363ced193992958822dd6
Mike Danes [Wed, 23 Jan 2019 20:44:29 +0000 (22:44 +0200)]
Remove obsolete LEGACY_BACKEND ifdef
Commit migrated from https://github.com/dotnet/coreclr/commit/
bae72694ddf8da1746a7231c4d36f0bd086de702
Egor Chesakov [Wed, 23 Jan 2019 20:29:35 +0000 (12:29 -0800)]
Disable OSX.1012.Amd64.Open in Azure DevOps (dotnet/coreclr#22158)
Commit migrated from https://github.com/dotnet/coreclr/commit/
079d87fcf9555c07366bdac921111da474a5ca7b
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), dotnet/coreclr#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 dotnet/coreclr#22026.
Commit migrated from https://github.com/dotnet/coreclr/commit/
765a65395dcc7b71d998577609e62dd3093509c0
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 dotnet/coreclr#19704.
Commit migrated from https://github.com/dotnet/coreclr/commit/
7ba27cd6134a0d2f63a179ce9abb0f1b1055e159
Jeremy Koritzinsky [Wed, 23 Jan 2019 18:34:54 +0000 (10:34 -0800)]
Don't redirect stdlib wchar functions to our test platform shims. (dotnet/coreclr#22072)
* Don't redirect stdlib wchar functions to our test platform shims.
* Fix bad find-replaces.
* Remove unused overload and last wchar shadowing.
Commit migrated from https://github.com/dotnet/coreclr/commit/
5fb8eb38f89a099461db3b5985f281db1b7ae263
Bruce Forstall [Wed, 23 Jan 2019 18:12:30 +0000 (10:12 -0800)]
Merge pull request dotnet/coreclr#22053 from BruceForstall/FixSimd12StoreLclFld
Fix SIMD12 GT_STORE_LCL_FLD
Commit migrated from https://github.com/dotnet/coreclr/commit/
481a99f52bf0516f589368455ab05818d23e051e
alexk000 [Wed, 23 Jan 2019 17:36:20 +0000 (12:36 -0500)]
Remove variable name duplication (dotnet/coreclr#22155)
Commit migrated from https://github.com/dotnet/coreclr/commit/
0382455522962275c0f9b0bbe9629b789e9d103e
Filip Navara [Wed, 23 Jan 2019 17:35:31 +0000 (18:35 +0100)]
Remove unused thread abortion methods. (dotnet/coreclr#22147)
Commit migrated from https://github.com/dotnet/coreclr/commit/
42b246a65afac0fa9b347d52974aeddf45c48a88
Marek Safar [Wed, 23 Jan 2019 16:44:56 +0000 (17:44 +0100)]
Move Task to shared partition (dotnet/coreclr#22105)
Commit migrated from https://github.com/dotnet/coreclr/commit/
9dfd173cd4ae8adcb4e51b5b41613a02f84cde87
Egor Chesakov [Wed, 23 Jan 2019 16:11:49 +0000 (08:11 -0800)]
Use Windows.10.Arm64.Open with Jenkins ONLY (dotnet/coreclr#22144)
Commit migrated from https://github.com/dotnet/coreclr/commit/
34f870e82141cc42e282e1d80fc8bac66554696a
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 dotnet/coreclr#21935
Commit migrated from https://github.com/dotnet/coreclr/commit/
0fa687ca0ea32e36c527322d1114c6500b55ce15
Ben Adams [Wed, 23 Jan 2019 03:05:25 +0000 (04:05 +0100)]
Remove duplicate requiresSynchronization params attribute (dotnet/coreclr#22143)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e567dfbb8662dade53da0138964711eab1920279
Egor Chesakov [Wed, 23 Jan 2019 00:46:47 +0000 (16:46 -0800)]
Don't use Ubuntu.1604.Arm64.Open in Azure DevOps (dotnet/coreclr#22135)
Commit migrated from https://github.com/dotnet/coreclr/commit/
321b3f986244e8f6a282ab89de1e65e790ed6518
Michal Strehovský [Tue, 22 Jan 2019 20:40:56 +0000 (21:40 +0100)]
Decouple JIT_FLAG_PREJIT from HW intrinsics (dotnet/coreclr#22117)
Per dotnet/corertdotnet/coreclr#6836 (comment) moving the decision whether to enable HW intrinsics to the EE side.
Commit migrated from https://github.com/dotnet/coreclr/commit/
b9e88989458e24fa9764e045917b141e3338eae7
Michal Strehovský [Tue, 22 Jan 2019 17:09:31 +0000 (18:09 +0100)]
Restrict HW intrinsic name check to intrinsic types (dotnet/coreclr#22116)
Avoids having to compare names of all types in CoreLib to see if they're HW intrinsics.
Commit migrated from https://github.com/dotnet/coreclr/commit/
aa70c0a8b47957f0addad13f3f23c189e44e5878
Michal Strehovský [Tue, 22 Jan 2019 17:08:31 +0000 (18:08 +0100)]
Do not throw from TraceResolver (dotnet/coreclr#22126)
Fixes dotnet/coreclr#22059.
Commit migrated from https://github.com/dotnet/coreclr/commit/
1923d37f7f1ebc3d701621fa8bfed5cbdf26fba8
Filip Navara [Tue, 22 Jan 2019 12:16:45 +0000 (13:16 +0100)]
Move MemoryFailPoint to shared CoreLib partition (dotnet/coreclr#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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
635a609eba8db8082a4e1245ce1291f9bbe9835c
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>
Commit migrated from https://github.com/dotnet/coreclr/commit/
61ff7397e849273bafc8b1e46ec88ddd905ce187
Marek Safar [Tue, 22 Jan 2019 03:28:13 +0000 (04:28 +0100)]
Move TplEtwProvider to shared partition (dotnet/coreclr#22120)
Commit migrated from https://github.com/dotnet/coreclr/commit/
5c9febf6346f90c06e70b3cb9e002300e50fa54b
Stephen Toub [Tue, 22 Jan 2019 02:56:55 +0000 (21:56 -0500)]
Remove two unnecessary ToArray calls (dotnet/coreclr#22119)
We can just copy directly from the List, rather than first converting the list to an array and then copying that.
Commit migrated from https://github.com/dotnet/coreclr/commit/
edffbd9c545aa9c1f6cb7ae048efdf5db13d3991
Stephen Toub [Mon, 21 Jan 2019 21:20:18 +0000 (16:20 -0500)]
Avoid intermediate strings in some StringBuilder formatting (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
401e931714e9b0890aaaa047710d0eb582bb8722
dotnet-maestro-bot [Mon, 21 Jan 2019 06:09:52 +0000 (22:09 -0800)]
Update CoreFx to preview.19070.3 (dotnet/coreclr#22061)
Commit migrated from https://github.com/dotnet/coreclr/commit/
a5c5feb8939ae6ae10d9d2b7f2bc8d43ed99bc38
Marek Safar [Sun, 20 Jan 2019 23:02:09 +0000 (00:02 +0100)]
Move Task factory type to shared partition (dotnet/coreclr#22089)
Commit migrated from https://github.com/dotnet/coreclr/commit/
9615305aac285a9e611d4768e89f7b5a251d1db8
Ben Adams [Sun, 20 Jan 2019 22:42:10 +0000 (23:42 +0100)]
Use List<T>.ToArray() in places (dotnet/coreclr#22101)
* Use ReadOnlySpan.ToArray in places
* Use List.ToArray
* Don't take .Length in to local and use as loop condition
Commit migrated from https://github.com/dotnet/coreclr/commit/
efee81505366236a22a06663fc14927a516d5655
Jan Kotas [Sun, 20 Jan 2019 16:16:44 +0000 (08:16 -0800)]
Cleanup array related FCalls (dotnet/coreclr#22097)
* Cleanup Array FCalls
* Disable outdated CoreFX tests
https://github.com/dotnet/corefx/pull/34700
Commit migrated from https://github.com/dotnet/coreclr/commit/
170854b92017d709bc82d7631c6cb33dd7443078
Jan Kotas [Sat, 19 Jan 2019 19:48:28 +0000 (11:48 -0800)]
Fix CoreCLR build for changes in shared partition
Commit migrated from https://github.com/dotnet/coreclr/commit/
614966d1e179c32ce85df2791102847128390ca6
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>
Commit migrated from https://github.com/dotnet/coreclr/commit/
80416dc50cce9fae908e59e83a699af0c0ee9531
Marek Safar [Fri, 18 Jan 2019 19:58:11 +0000 (20:58 +0100)]
Fix build
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
1f3a1ebd25bce4eefa93e9d37d3f4feb29707b3e
Ben Adams [Sat, 19 Jan 2019 20:03:03 +0000 (21:03 +0100)]
Update Newtonsoft.Json (dotnet/coreclr#22060)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e73c16c3861b071eca336fedaf19326c3e123d97
Jan Vorlicek [Sat, 19 Jan 2019 20:02:00 +0000 (21:02 +0100)]
Cleanup: Remove MethodDesc::GetLoaderAllocatorForCode (dotnet/coreclr#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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
d24a3ff0105ab5b9649b27451263e57e7ee6526b
Matt Warren [Sat, 19 Jan 2019 19:59:40 +0000 (19:59 +0000)]
Removed unused 'Stack Walking' code (dotnet/coreclr#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`)
Commit migrated from https://github.com/dotnet/coreclr/commit/
dce086f9bbd047296942f615f20a4f9a1e3a8d26
Sven Boemer [Sat, 19 Jan 2019 00:11:25 +0000 (16:11 -0800)]
Strip symbols on unix in release builds (dotnet/coreclr#22083)
Fixes https://github.com/dotnet/coreclr/issues/22082
Commit migrated from https://github.com/dotnet/coreclr/commit/
b2c6dd4eb427caf7cb852998076b0b1543447a28
Jeremy Koritzinsky [Fri, 18 Jan 2019 23:39:54 +0000 (15:39 -0800)]
Fix calling conventions on reverse PInvoke callbacks. (dotnet/coreclr#22044)
Commit migrated from https://github.com/dotnet/coreclr/commit/
0c6ad4c8d3869b54364b15f21b8b6b5a6fe7a94a
Egor Chesakov [Fri, 18 Jan 2019 22:05:29 +0000 (14:05 -0800)]
Run Azure DevOps builds against pull requests in coreclr/master (dotnet/coreclr#22051)
And disable Windows_NT and Ubuntu arm32 and arm64 default triggers in Jenkins CI
Commit migrated from https://github.com/dotnet/coreclr/commit/
87fb9af12afb29087a818bd588037996a97bf000
Jarret Shook [Fri, 18 Jan 2019 20:33:13 +0000 (12:33 -0800)]
SuperPMI Collect/Replay/AsmDiff tool (dotnet/coreclr#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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0684f9241dd9886c2e3d53383fbeb27d31e604f0
Marek Safar [Fri, 18 Jan 2019 18:19:17 +0000 (19:19 +0100)]
Move AsyncCausality to shared partition (dotnet/coreclr#22062)
* Move AsyncCausality to shared partition
* Set FeatureAsyncCausalityTracer property
Commit migrated from https://github.com/dotnet/coreclr/commit/
eca41b2123b21d887748528b83d4bfcffe1ac68f
Sven Boemer [Fri, 18 Jan 2019 17:50:33 +0000 (09:50 -0800)]
Re-enable signing of System.Private.CoreLib (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
40ac403fb3028af50f7287838f4c1009fecad69c
Swaroop Sridhar [Fri, 18 Jan 2019 17:24:41 +0000 (09:24 -0800)]
Add Per-assembly Load Native Library callbacks (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
732f892665343e84d04eea4478eccb459b385f55
Michal Strehovský [Fri, 18 Jan 2019 11:01:03 +0000 (12:01 +0100)]
Enable detection of HW intrinsics (dotnet/corertdotnet/coreclr#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/coreclrdotnet/coreclr#21603
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
f1fe9ff1ecb257d260d83ab30be112f77273c95d
Marek Safar [Fri, 18 Jan 2019 11:00:02 +0000 (12:00 +0100)]
Fix defines in TaskAwaiter (dotnet/corertdotnet/coreclr#6846)
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
7fb4ac5629230302800991444f960feefc6da38c
Michal Strehovský [Fri, 18 Jan 2019 12:18:49 +0000 (13:18 +0100)]
Handle complex constrained calls with default interface methods (dotnet/coreclr#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).
Commit migrated from https://github.com/dotnet/coreclr/commit/
e3932d49956acae70e0732ff3cfde7d8dc51db67
Michal Strehovský [Fri, 18 Jan 2019 10:18:56 +0000 (11:18 +0100)]
Use correct resolution scope when checking default implementations (dotnet/coreclr#22036)
We need to use the module of the interface.
Fixes dotnet/coreclr#22021.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0a2596ce3d7fb0253f30b2461fa910c65840f9b3
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 (dotnet/coreclr#22054)
* Add comments on headers that gets parsed by Mono linker for whoever touches this next
* add more comments to the targets file
Commit migrated from https://github.com/dotnet/coreclr/commit/
49aeb8588a07a6f3a6e73aa9225f019724d90290
Stephen Toub [Fri, 18 Jan 2019 01:07:12 +0000 (20:07 -0500)]
Move Environment to shared CoreLib (dotnet/corefxdotnet/coreclr#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>
Commit migrated from https://github.com/dotnet/coreclr/commit/
1e21dfc513b51b151d7c9b16f1e2a6a81c339d94
Jeremy Koritzinsky [Fri, 18 Jan 2019 00:58:34 +0000 (16:58 -0800)]
Unify xplatform.h and platformdefines.h (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
8da1974d2d9ff47e45334f359199a3d50c8e0cbb
Egor Chesakov [Fri, 18 Jan 2019 00:21:41 +0000 (16:21 -0800)]
Unblock Azure DevOps-as-CI (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
00f8c81034543d7e100fe0ff687aaaace9775f80
William Godbe [Fri, 18 Jan 2019 00:20:08 +0000 (16:20 -0800)]
Merge pull request dotnet/coreclr#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)
Commit migrated from https://github.com/dotnet/coreclr/commit/
5ee3f12023b070a777ceb09c8554b88eb8a2cd63
Stephen Toub [Thu, 17 Jan 2019 23:10:48 +0000 (18:10 -0500)]
Remove ToString from RuntimeAssembly.GetManifestResourceStream (dotnet/coreclr#22012)
* Remove ToString from RuntimeAssembly.GetManifestResourceStream
A small allocation we can avoid with the span-based string.Concat.
* Address PR feedback
Commit migrated from https://github.com/dotnet/coreclr/commit/
b9788c29e3787b45e2a5c02c28ede5946621957f
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
Commit migrated from https://github.com/dotnet/coreclr/commit/
06392e09ccb331074d016a06ac5f7b5efe5829b1
Filip Navara [Thu, 17 Jan 2019 21:48:17 +0000 (22:48 +0100)]
Split ContractsBCL into separate classes and move them to shared CoreLib (dotnet/coreclr#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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
db08a628a85b18352b9e8ae3dc9315c17325ab84
Stephen Toub [Thu, 17 Jan 2019 21:40:56 +0000 (16:40 -0500)]
Clean up a few minor Span-related uses (dotnet/coreclr#22038)
Some unnecessary Span to ReadOnlySpan casts.
Some places where new Span(...).Slice(...) can be replaced with AsSpan(...).
Etc.
Commit migrated from https://github.com/dotnet/coreclr/commit/
586a7912bf9aa84ce08882d79e52881b2f75366e
Stephen Toub [Thu, 17 Jan 2019 21:40:34 +0000 (16:40 -0500)]
Remove a few stale resource strings for ConcurrentStack (dotnet/coreclr#22037)
Commit migrated from https://github.com/dotnet/coreclr/commit/
fdadb935df22baa947a610370dcfa772a5d89477
Stephen Toub [Thu, 17 Jan 2019 21:00:12 +0000 (16:00 -0500)]
Avoid allocations in Utf8Formatter.TryFormat(float/double, ...) (dotnet/coreclr#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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c6b1b60f5f7cbcedab5d25e2ea3ac669885dc5fd
Carol Eidt [Thu, 17 Jan 2019 19:10:52 +0000 (11:10 -0800)]
Merge pull request dotnet/coreclr#22022 from fiigii/reenabletest
Re-enable Avx.PermuteVar tests
Commit migrated from https://github.com/dotnet/coreclr/commit/
5849f647616695556aff9978252084d83959e2b1
Marek Safar [Thu, 17 Jan 2019 16:42:44 +0000 (17:42 +0100)]
Fix AsyncMethodBuilder build on Mono (dotnet/coreclr#22034)
Commit migrated from https://github.com/dotnet/coreclr/commit/
90d9accce812d953f915910bb2d453fc829e61f7
Filip Navara [Thu, 17 Jan 2019 06:38:00 +0000 (07:38 +0100)]
Fix CoreCLR build of AsyncMethodBuilder.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0f9253f952b9af4d274b7b69381e64ad77e5b3dc
Filip Navara [Thu, 17 Jan 2019 04:42:23 +0000 (05:42 +0100)]
Add new members to AsyncCausalitySupport.
Remove file moved to shared partition.
Fix builds without FeatureCominterop.
Commit migrated from https://github.com/dotnet/coreclr/commit/
d5ee1cb9a2d4dc58d85ed9e59e1002f798234277
Filip Navara [Wed, 16 Jan 2019 18:26:14 +0000 (19:26 +0100)]
Move AsyncMethodBuilder to shared. (dotnet/corertdotnet/coreclr#6832)
* Move AsyncMethodBuilder to shared.
* Bring back PROJECTN.
* #if-out TrackAsyncMethodCompletion for CoreRT.
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
31cbeb815c0edc4781c58c8dd094008df2f9c4ef
Fei Peng [Wed, 16 Jan 2019 23:13:06 +0000 (15:13 -0800)]
Re-enable Avx.PermuteVar tests
Commit migrated from https://github.com/dotnet/coreclr/commit/
0c803eadcc58bf2b0d0179ca330b2b0eca7c05c8
Bruce Forstall [Wed, 16 Jan 2019 20:00:30 +0000 (12:00 -0800)]
Merge pull request dotnet/coreclr#21997 from BruceForstall/FixFpRelativeInstructions
Fix two cases of FP-relative immediate offsets possibly not encodable
Commit migrated from https://github.com/dotnet/coreclr/commit/
6ecca8de2d3761d490181942826de000f0eadcc7
Ben Adams [Wed, 16 Jan 2019 18:31:56 +0000 (19:31 +0100)]
Reduce steps for string.Contains(string value) (dotnet/coreclr#22008)
Commit migrated from https://github.com/dotnet/coreclr/commit/
4a57565f1accd0e7cafaf27a39ab2b29c41dcf07
Jarret Shook [Wed, 16 Jan 2019 17:57:19 +0000 (09:57 -0800)]
Update linux/OSX build instructions (dotnet/coreclr#21679)
* Update linux/OSX build instructions
* Update based on feedback
* Address PR feedback
* Update to address feedback
Commit migrated from https://github.com/dotnet/coreclr/commit/
e466b70bfb6c6763bef1300706122f10519882bf
Fei Peng [Wed, 16 Jan 2019 17:48:43 +0000 (09:48 -0800)]
Fix imm-operand encoding for SSE/AVX instructions (dotnet/coreclr#21999)
* Move more SSE2 tests to the template
* Improve Insert test template to involve more codegen situations
* Fix imm-operand encoding for SSE/AVX instructions
Commit migrated from https://github.com/dotnet/coreclr/commit/
3e47f4dcc66d013daf9ac1ede15eaf0d8fac7c69
Jarret Shook [Wed, 16 Jan 2019 17:35:16 +0000 (09:35 -0800)]
Fix generate_layout_only (dotnet/coreclr#21996)
* Fix generate_layout_only
* Correctly add all opons
* Clean run for cross built device
Commit migrated from https://github.com/dotnet/coreclr/commit/
5a81049245062814e3581b763c89c8a49058c8f5
Egor Chesakov [Tue, 15 Jan 2019 00:52:39 +0000 (16:52 -0800)]
Enable BenchmarksGame when BuildTestsAgainstPackages (see dotnet/coreclr#21554) in tests/issues.targets
Commit migrated from https://github.com/dotnet/coreclr/commit/
5ae949f8a4e7ddd4a3b7891f30a1d2911ca74873
Egor Chesakov [Fri, 11 Jan 2019 22:45:25 +0000 (14:45 -0800)]
Make JIT\superpmi\superpmicollect compatible with Helix
Related issue: https://github.com/dotnet/coreclr/issues/21698
Commit migrated from https://github.com/dotnet/coreclr/commit/
81e110d5557e5aa3cc21a9d8c32114bfa2ed0836
Aditya Mandaleeka [Wed, 16 Jan 2019 02:33:01 +0000 (18:33 -0800)]
Use separate shift and indexing.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e72b3fb2dc12e8e7bdfa88224a3e6c6540477e73
Aditya Mandaleeka [Tue, 15 Jan 2019 03:29:13 +0000 (19:29 -0800)]
Load ephemeral bounds simultaneously with ldp.
Commit migrated from https://github.com/dotnet/coreclr/commit/
8fad1622a0dd44c5f193fe3b3d7022e9b635d3e9
Aditya Mandaleeka [Tue, 15 Jan 2019 02:53:09 +0000 (18:53 -0800)]
Switch back to two compares.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e604fadffec65e28df1e68c969c956d87c1bb1c3