platform/upstream/dotnet/runtime.git
6 years agoAvoid AwaitTaskContinuation allocation in some awaits (dotnet/coreclr#20159)
Stephen Toub [Fri, 28 Sep 2018 00:13:27 +0000 (20:13 -0400)]
Avoid AwaitTaskContinuation allocation in some awaits (dotnet/coreclr#20159)

In .NET Core 2.1, I added a bunch of optimizations to async methods that are based on reusing the async state machine object itself for other purposes in order to avoid related allocations.  One of those optimizations was using the boxed state machine itself as the continuation object that could be queued onto a Task, and in the common case where the continuation could be executed synchronously, there would then not be any further allocations.  However, if the continuation needed to be run asynchronously (e.g. because the Task required it via RunContinuationsAsynchronously), the code would allocate a new work item object and queue that to the thread pool to execute.  This then also forced the state machine object to lazily allocate the Action delegate for its MoveNext method. This PR extends the system slightly to also cover that asynchronous execution case, by making the state machine box itself being queueable to the thread pool.  In doing so, it avoids that AwaitTaskContinuation allocation and also avoids forcing the delegate into existence. (As is the case for other optimizations, this one is only employed when ETW logging isn't enabled; if it is enabled, we need to flow more information, and enabling that would penalize the non-logging case.)

Commit migrated from https://github.com/dotnet/coreclr/commit/03ead514a3aa414b26246a4160d0593811fd1044

6 years agoUpdate CoreClr, CoreFx, CoreSetup, PgoData to preview1-26927-03, preview1-26927-03...
dotnet-maestro-bot [Thu, 27 Sep 2018 20:09:51 +0000 (13:09 -0700)]
Update CoreClr, CoreFx, CoreSetup, PgoData to preview1-26927-03, preview1-26927-03, preview1-26927-01, master-20180926-0038, respectively (dotnet/coreclr#20153)

Commit migrated from https://github.com/dotnet/coreclr/commit/883cc1a1d611727e47332507cbfbac01c36c6dec

6 years agoFix CancellationTokenRegistration.Dispose racing with cancellation (dotnet/coreclr...
Stephen Toub [Thu, 27 Sep 2018 18:58:18 +0000 (14:58 -0400)]
Fix CancellationTokenRegistration.Dispose racing with cancellation (dotnet/coreclr#20145)

CancellationTokenRegistration.Dispose is guaranteed to only return when the associated callback has already finished running or has been successfully removed such that it'll never run.  This is to ensure that code following Dispose can be guaranteed that the callback isn't currently running and won't after that point, as if it did, it could potentially depend on mutable shared state or itself mutate shared state in a non-thread-safe manner.

However, significant optimizations introduced in .NET Core 2.1 impacted a specific case of this guarantee.  It still behaves correctly if cancellation hasn't already been requested, if cancellation has already processed the associated callback, and even if cancellation is currently executing the associated callback.  However, if cancellation is currently processing other callbacks and hasn't yet gotten around to processing the associated one, Dispose() may incorrectly return immediately, such that the callback may still end up getting invoked after Dispose() returns, which can violate assumptions of consuming code in very impactful ways.

This commit modifies how the callbacks are removed from the registration list in order to fix the issue.  Previously, all of the callbacks were swapped out at once, which then left the list empty, which is what caused subsequent disposals to think the callback had already been processed or unregistered.  With this change, we instead just remove each registration as it's being processed, such that a concurrent disposal can still successfully find the registration in the callback list if it's not yet been processed.

This change does have a small perf impact, but only on the case where cancellation is actually invoked, which is the less common case; most usage of CTS doesn't actually result in cancellation, and optimization is focused on registration and unregistration perf.  Rather than taking and releasing the lock once when cancellation is requested, we now take and release the lock per callback when cancellation is requested.

Commit migrated from https://github.com/dotnet/coreclr/commit/552f4bf7addc944d85f4604fd2fe228ac984412d

6 years agoEnable Ubuntu arm Cross Release crossgen_comparison scenario by default (dotnet/corec...
Egor Chesakov [Thu, 27 Sep 2018 18:28:17 +0000 (11:28 -0700)]
Enable Ubuntu arm Cross Release crossgen_comparison scenario by default (dotnet/coreclr#20160)

Commit migrated from https://github.com/dotnet/coreclr/commit/c11f789873e46a53b42bb1c91ce81c3669ca7145

6 years agoMerge pull request dotnet/coreclr#19960 from echesakovMSFT/UseCrossBitnessLinuxCrossG...
Egor Chesakov [Thu, 27 Sep 2018 16:01:39 +0000 (09:01 -0700)]
Merge pull request dotnet/coreclr#19960 from echesakovMSFT/UseCrossBitnessLinuxCrossGenByDefault

Use Hostx64/arm crossgen to crossgen System.Private.CoreLib on Linux

Commit migrated from https://github.com/dotnet/coreclr/commit/9404b663a48979d3dc4b7545077ceb627d539dde

6 years agoReplace Crst* with CrstStatic for IBCLogger (dotnet/coreclr#20148)
Michelle McDaniel [Thu, 27 Sep 2018 14:28:36 +0000 (07:28 -0700)]
Replace Crst* with CrstStatic for IBCLogger (dotnet/coreclr#20148)

Commit migrated from https://github.com/dotnet/coreclr/commit/3d9eed70cfc299906c94e0f2722c7d39f777f27d

6 years agoMaestro dependency update without buildtools (dotnet/coreclr#20143)
Viktor Hofer [Thu, 27 Sep 2018 04:43:48 +0000 (06:43 +0200)]
Maestro dependency update without buildtools (dotnet/coreclr#20143)

* Update BuildTools, CoreClr, CoreFx, CoreSetup, PgoData to preview1-03224-03, preview1-26925-05, preview1-26925-06, preview1-26925-01, master-20180925-0031, respectively

* Enable RestoreOutputPath override

* Disable System.Security.Cryptography.Pkcs.Tests

To help unblock corefx, etc. update.

* Revert buildtools changes

* Disable buildtools auto updates

Commit migrated from https://github.com/dotnet/coreclr/commit/0bc8c62cfb7514b91b4ebd5f073835391e0502a3

6 years agoEnable Ubuntu arm crossgen_comparison Checked in each PR (dotnet/coreclr#20139)
Egor Chesakov [Thu, 27 Sep 2018 02:52:44 +0000 (19:52 -0700)]
Enable Ubuntu arm crossgen_comparison Checked in each PR (dotnet/coreclr#20139)

* Run Ubuntu arm crossgen_comparison (Checked | Release) daily
* Enable Ubuntu arm Checked crossgen_comparison by default

Commit migrated from https://github.com/dotnet/coreclr/commit/6dc2556a685674ecb9c716aa21720f2295ff8df0

6 years agoCross-bitness in VTable Calls (dotnet/coreclr#20137)
Egor Chesakov [Thu, 27 Sep 2018 02:47:18 +0000 (19:47 -0700)]
Cross-bitness in VTable Calls (dotnet/coreclr#20137)

* Use TARGET_POINTER_SIZE in CEEInfo::getMethodVTableOffset in src/vm/jitinterface.cpp
* Use SIZEOF__MethodTable_ in src/vm/methodtable.h

Commit migrated from https://github.com/dotnet/coreclr/commit/be18f2b4a7e0a4f7257df048e92d64a73035ed92

6 years agoDo not treat a custom layout as overlapping when trying to inline a struct method...
Sergey Andreenko [Wed, 26 Sep 2018 23:48:13 +0000 (16:48 -0700)]
Do not treat a custom layout as overlapping when trying to inline a struct method. (dotnet/coreclr#20141)

* Do not treat custom layout as overlapping when trying to inline struct method.

That hack was added 4 years ago with independent struct promotion for parameters.
I was not able to find any related issues.

This change produces asm diffs because it allows us to inline more (lvaCanPromoteStructVar is a multiplier for
inlineIsProfitable parameter).
For System.Private.CoreLib we have total bytes of diff: 294 (0.01% of base).
For example, we started to inline methods from 'System.Threading.Tasks.ValueTask' that has '[StructLayout(LayoutKind.Auto)]'.

* Always sort fields in lcCanPromoteStructType.

It will be optimized away in the future commits.

* Delete the argument that is no longer used.

* Fix variable name according to jit-coding-conventions.

Rename 'StructPromotionInfo' to 'structPromotionInfo'.

Commit migrated from https://github.com/dotnet/coreclr/commit/24bbc37eb70895b6d7cc9cc95b8453742cdc0cae

6 years agoRemove deleted HW intrinsic tests from exclusion lists for Windows arm, arm64 targets...
Jacek Blaszczynski [Wed, 26 Sep 2018 23:47:14 +0000 (01:47 +0200)]
Remove deleted HW intrinsic tests from exclusion lists for Windows arm, arm64 targets (dotnet/coreclr#20151)

Fixes dotnet/coreclr#20149

Commit migrated from https://github.com/dotnet/coreclr/commit/b1a9f1fdb0ef7a9dbf1659a419a0bf064c38106e

6 years agoMerge pull request dotnet/coreclr#20098 from dotnetrt/fix-win-unix-format
Bruce Forstall [Wed, 26 Sep 2018 23:09:10 +0000 (16:09 -0700)]
Merge pull request dotnet/coreclr#20098 from dotnetrt/fix-win-unix-format

[CI] Fix failures in Windows/Linux CI Formatting jobs by force killing all dotnet processess

Commit migrated from https://github.com/dotnet/coreclr/commit/5addb2d0ca2e845d8bb512eab9b6f221092cafa0

6 years agoMerge pull request dotnet/coreclr#20132 from jkoritzinsky/fixes/coreclr/7829
Jeremy Koritzinsky [Wed, 26 Sep 2018 22:38:24 +0000 (15:38 -0700)]
Merge pull request dotnet/coreclr#20132 from jkoritzinsky/fixes/coreclr/7829

Fix possible overflow in SafeBuffer.Initialize.

Commit migrated from https://github.com/dotnet/coreclr/commit/c7e9526b108c10360b71f7649e118831c54399ea

6 years agoMerge pull request dotnet/coreclr#19939 from mikedn/visit-cmpxchg
Bruce Forstall [Wed, 26 Sep 2018 18:17:16 +0000 (11:17 -0700)]
Merge pull request dotnet/coreclr#19939 from mikedn/visit-cmpxchg

Fix incorrect CMPXCHG visiting order

Commit migrated from https://github.com/dotnet/coreclr/commit/da1ad5976a8002612cb8aef23aecd3a47f6453be

6 years agoRemove duplicated test
Jeremy Koritzinsky [Wed, 26 Sep 2018 17:57:18 +0000 (10:57 -0700)]
Remove duplicated test

Commit migrated from https://github.com/dotnet/coreclr/commit/ae752f0e0a31784b30c7283c959c83c59ed2a154

6 years agoAdd outdated test to CoreFX.issues.json
Jeremy Koritzinsky [Wed, 26 Sep 2018 17:39:43 +0000 (10:39 -0700)]
Add outdated test to CoreFX.issues.json

Commit migrated from https://github.com/dotnet/coreclr/commit/904e0f142ff5e48e563a0e22f422e758ffab6c9e

6 years agoPR Feedback and exclude regression test on 64-bit processes.
Jeremy Koritzinsky [Wed, 26 Sep 2018 17:31:58 +0000 (10:31 -0700)]
PR Feedback and exclude regression test on 64-bit processes.

Commit migrated from https://github.com/dotnet/coreclr/commit/f211a76a9e45f2ed7e5f515810e0e04e97520ff2

6 years agoUse platformdefines through lib instead of cpp (dotnet/coreclr#19948)
Luqun Lou [Wed, 26 Sep 2018 16:32:26 +0000 (09:32 -0700)]
Use platformdefines through lib instead of cpp (dotnet/coreclr#19948)

* Use platformdefines through lib instead of cpp

* add a dummy export function

* Remove dummy export

* Compile as Static Library

* revert platformdefines.cpp file

* remove DLL_EXPORT

Commit migrated from https://github.com/dotnet/coreclr/commit/e2a45dce9a853c3eead8aa635317f5615d60bdb6

6 years agoDelete dead .NET Framework activation code (dotnet/coreclr#20134)
Jan Kotas [Wed, 26 Sep 2018 06:07:00 +0000 (23:07 -0700)]
Delete dead .NET Framework activation code (dotnet/coreclr#20134)

Commit migrated from https://github.com/dotnet/coreclr/commit/f5f73ff2758f5c308561716fe8fb8b7cf6bc3cda

6 years agoAdd regression test.
Jeremy Koritzinsky [Tue, 25 Sep 2018 23:58:20 +0000 (16:58 -0700)]
Add regression test.

Commit migrated from https://github.com/dotnet/coreclr/commit/9864e50091aebb4c0c5cca873d94e71f0dd84207

6 years agoSimpler implementation from PR feedback.
Jeremy Koritzinsky [Tue, 25 Sep 2018 23:45:04 +0000 (16:45 -0700)]
Simpler implementation from PR feedback.

Commit migrated from https://github.com/dotnet/coreclr/commit/35dff1a2277d583b9d554c853bc4b9a31f6f79a0

6 years agoPorting fix on Desktop for VirtualUnlock perf issue on WKS GC when we reset mem ...
Sung Yoon Whang [Tue, 25 Sep 2018 23:18:14 +0000 (16:18 -0700)]
Porting fix on Desktop for VirtualUnlock perf issue on WKS GC when we reset mem (dotnet/coreclr#20115)

Commit migrated from https://github.com/dotnet/coreclr/commit/b67d2fa8fc8cf5b8c41f5c34b1abe31e704386c4

6 years agoFix possible overflow in SafeBuffer.Initialize.
Jeremy Koritzinsky [Tue, 25 Sep 2018 21:54:26 +0000 (14:54 -0700)]
Fix possible overflow in SafeBuffer.Initialize.

Since a 0-length buffer is technically possible (though not very usable), have sizeOfEachElement==0 -> ByteLength == 0.

Commit migrated from https://github.com/dotnet/coreclr/commit/0c288c367db3dc7c296e67a4bb2fff84f0f93c3f

6 years agoMerge pull request dotnet/coreclr#19979 from echesakovMSFT/CrossGenComparisonSymbolFiles
Egor Chesakov [Tue, 25 Sep 2018 18:51:42 +0000 (11:51 -0700)]
Merge pull request dotnet/coreclr#19979 from echesakovMSFT/CrossGenComparisonSymbolFiles

CrossGen comparison - compare debugging files

Commit migrated from https://github.com/dotnet/coreclr/commit/694d8d7fd2fb5d5cf0f664a185d94fea1166ae2f

6 years agoAdd header files to ildasm, ilasm vcxproj (dotnet/coreclr#20052)
Jacek Blaszczynski [Tue, 25 Sep 2018 17:11:26 +0000 (19:11 +0200)]
Add header files to ildasm, ilasm vcxproj (dotnet/coreclr#20052)

Commit migrated from https://github.com/dotnet/coreclr/commit/659af58047a949ed50d11101708538d2e87f2568

6 years agoMerge pull request dotnet/coreclr#20107 from dotnet/dev/unix_test_workflow
Bruce Forstall [Tue, 25 Sep 2018 16:55:29 +0000 (09:55 -0700)]
Merge pull request dotnet/coreclr#20107 from dotnet/dev/unix_test_workflow

Improve Linux arm32/arm64 corefx test runs

Commit migrated from https://github.com/dotnet/coreclr/commit/1496647a946279908acd8d03210ac3ad114204d2

6 years agoswitch to netcoreapp2.0 (dotnet/coreclr#20120)
Sergey Andreenko [Tue, 25 Sep 2018 16:38:42 +0000 (09:38 -0700)]
switch to netcoreapp2.0 (dotnet/coreclr#20120)

Allows to get rid of warning " CSC : warning CS1685: The predefined type 'MarshalByRefObject' is defined in multiple assemblies in the global alias;".

Commit migrated from https://github.com/dotnet/coreclr/commit/337f0e0fc4ee05106909e3d881279dc4d494e36f

6 years agoAdd headers to cordb{di, ee_dac, ee_wks}.vcxproj files to improve developer experienc...
Jacek Blaszczynski [Tue, 25 Sep 2018 14:20:05 +0000 (16:20 +0200)]
Add headers to cordb{di, ee_dac, ee_wks}.vcxproj files to improve developer experience (dotnet/coreclr#20049)

Commit migrated from https://github.com/dotnet/coreclr/commit/2e56748c414f9ead45b9730a0a7fb364f751ab83

6 years agoFix hijacking for ARM/ARM64/x86 on Unix (dotnet/coreclr#20042)
Jan Vorlicek [Mon, 24 Sep 2018 23:51:44 +0000 (01:51 +0200)]
Fix hijacking for ARM/ARM64/x86 on Unix (dotnet/coreclr#20042)

* Fix hijacking for ARM/ARM64/x86 on Unix

We were not checking the case when we have interrupted a thread inside
of a function epilog for other architectures than amd64. When such an
interruption happens, GS cookie check in a stack walking has failed,
since we are unable to decode GS cookie location when the IP is in
epilog.
This fix implements IsIPInEpilog for all architectures and makes the
check unconditional.

Commit migrated from https://github.com/dotnet/coreclr/commit/f3984776548d45f1ac06f791c8ee8658d7927fad

6 years agoDon't check for libintl.h on Darwin (OSX) (dotnet/coreclr#20094)
Davis Goodin [Mon, 24 Sep 2018 23:48:05 +0000 (18:48 -0500)]
Don't check for libintl.h on Darwin (OSX) (dotnet/coreclr#20094)

Commit migrated from https://github.com/dotnet/coreclr/commit/4e4665f127d2ec8f361ad068690f79be20a63280

6 years agoclean code that counts promoted implict byref argument occurrences. (dotnet/coreclr...
Sergey Andreenko [Mon, 24 Sep 2018 23:03:36 +0000 (16:03 -0700)]
clean code that counts promoted implict byref argument occurrences. (dotnet/coreclr#20113)

* clean code that counts promoted implict byref argument occurrences.

Move 3 copies of that code into one in `PreOrderVisit`. Run this check after we have made morph for fields and structs.

Commit migrated from https://github.com/dotnet/coreclr/commit/bcb2a56138685748c5a8c1d8c973ff1a51c81883

6 years agoSimplify OSVERSIONINFOEX interop (dotnet/coreclr#20111)
Jan Kotas [Mon, 24 Sep 2018 21:19:05 +0000 (14:19 -0700)]
Simplify OSVERSIONINFOEX interop (dotnet/coreclr#20111)

Commit migrated from https://github.com/dotnet/coreclr/commit/2f0c406fc9f56e9ad2ae6f7138b88c15e96d0716

6 years agoRemove unnecessary parenthesis (dotnet/corefxdotnet/coreclr#32419)
谭九鼎 [Sun, 23 Sep 2018 18:52:46 +0000 (02:52 +0800)]
Remove unnecessary parenthesis (dotnet/corefxdotnet/coreclr#32419)

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/72ba9e20d488a85e8a7eac0ff62a01968a2f6be5

6 years agoImprove Linux arm32/arm64 corefx test runs.
Bruce Forstall [Sat, 22 Sep 2018 06:10:55 +0000 (23:10 -0700)]
Improve Linux arm32/arm64 corefx test runs.

Add proper parallelism.

Prevent per-test output during parallel runs from interleaving
by saving output per process and displaying it after the
process has completed.

Improve summary test/failure output at end of log.

Change Linux arm32/arm64 corefx jobs to run tests in parallel.

Change Linux/arm64 corefx scheduled jobs to be daily, not weekly,
since they are very fast when run in parallel (<20 minutes).

Commit migrated from https://github.com/dotnet/coreclr/commit/07b8ea2ca94fc519c68f211e1494ebc7ccd588f1

6 years agoMove run-tests.sh from corefx
Bruce Forstall [Fri, 21 Sep 2018 22:50:17 +0000 (15:50 -0700)]
Move run-tests.sh from corefx

This is the script used by Jenkins to run arm32/arm64 corefx testing
in the coreclr repo.

Leave the original one around, in case anyone uses it.

Name it run-corefx-tests.sh, to more closely model what we have for
Windows arm/arm64 corefx testing.

Commit migrated from https://github.com/dotnet/coreclr/commit/a08d45d8dab3e8a0154d2e9fbc51afd3dd4159df

6 years agoPorting NumberToDouble to managed code. (dotnet/coreclr#20080)
Tanner Gooding [Sat, 22 Sep 2018 13:43:30 +0000 (06:43 -0700)]
Porting NumberToDouble to managed code. (dotnet/coreclr#20080)

* Porting NumberToDouble to managed code.

* Deleting bcltype/number.cpp and bcltype/number.h

* Fixing NumberToDouble to call Int64BitsToDouble, rather than DoubleToInt64Bits

* Some minor code cleanup in NumberToDouble for better readability.

* Some additional code cleanup in the Number.NumberToDouble.cs code

Commit migrated from https://github.com/dotnet/coreclr/commit/09cc49e8cac72915b72240c766e25ada171e9fe7

6 years agoFix failures in Windows/Linux CI Formatting jobs by killing all dotnet processess
Jacek Blaszczynski [Fri, 21 Sep 2018 23:30:49 +0000 (01:30 +0200)]
Fix failures in Windows/Linux CI Formatting jobs by killing all dotnet processess

Use shell commands to kill all processess with dotnet/dotnet.exe name before
attempting the final cleanup of the CI workspace

Commit migrated from https://github.com/dotnet/coreclr/commit/29025ba85295cf0f1d3a1b45dcbc3be96ad74690

6 years agoAddress PR feedback - Cleanup temp dirs after usage
Egor Chesakov [Thu, 20 Sep 2018 22:56:12 +0000 (15:56 -0700)]
Address PR feedback - Cleanup temp dirs after usage

Commit migrated from https://github.com/dotnet/coreclr/commit/223a88c02050887b5284ca334c5fbbef9180df9e

6 years agoMerge pull request dotnet/coreclr#20095 from BruceForstall/Disable80373
Bruce Forstall [Sat, 22 Sep 2018 01:17:24 +0000 (18:17 -0700)]
Merge pull request dotnet/coreclr#20095 from BruceForstall/Disable80373

Disable test b80373 for all non-Windows targets

Commit migrated from https://github.com/dotnet/coreclr/commit/99bf5ce15efc1179b47d1e1d1522673a30ae8628

6 years agoStreamline MemoryExtension Trim and Trim(char) by removing calls to TrimStart/End...
Ahson Khan [Sat, 22 Sep 2018 00:47:47 +0000 (17:47 -0700)]
Streamline MemoryExtension Trim and Trim(char) by removing calls to TrimStart/End and avoiding unnecessary Slice. (dotnet/coreclr#19959)

* Mark TrimStart and TrimEnd as Aggressively Inline to improve perf

* Remove inlining attribute and streamline Trim

Commit migrated from https://github.com/dotnet/coreclr/commit/1fd5caec53c82d437d7c792d3dbf3e9f6a43e018

6 years agoAdd missing <cmath> header for fabs to fix Visual C++ vNext break, av… (dotnet/corecl...
Billy O'Neal [Fri, 21 Sep 2018 23:02:58 +0000 (16:02 -0700)]
Add missing <cmath> header for fabs to fix Visual C++ vNext break, av… (dotnet/coreclr#20079)

* Add missing <cmath> header for fabs to fix Visual C++ vNext break, avoid narrowing to float from double

Commit migrated from https://github.com/dotnet/coreclr/commit/a6474505115fe45fb1cef161e7ba71c30c62001a

6 years agoDisable test b80373 for all non-Windows targets
Bruce Forstall [Fri, 21 Sep 2018 22:14:48 +0000 (15:14 -0700)]
Disable test b80373 for all non-Windows targets

Tracked by dotnet/coreclr#20024

Commit migrated from https://github.com/dotnet/coreclr/commit/cadedd4bc656ec50f00658ac4c065ab55b82bb14

6 years agoMerge pull request dotnet/coreclr#20033 from briansull/normalizeAssertionProp
Brian Sullivan [Fri, 21 Sep 2018 21:01:11 +0000 (14:01 -0700)]
Merge pull request dotnet/coreclr#20033 from briansull/normalizeAssertionProp

Changes to use VNNormalValue in assertionProp

Commit migrated from https://github.com/dotnet/coreclr/commit/48095cba91577ded6a440e05a969a81fa85b0b88

6 years agoFix copy-paste error in xml doc comment (dotnet/corefxdotnet/coreclr#32388)
Andrew Arnott [Fri, 21 Sep 2018 17:13:43 +0000 (10:13 -0700)]
Fix copy-paste error in xml doc comment (dotnet/corefxdotnet/coreclr#32388)

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/53e92937a5a8cc454921b55c7a296d3ab7bedf96

6 years agoMove smoketests to new helix queue (dotnet/coreclr#20090)
Michelle McDaniel [Fri, 21 Sep 2018 16:48:31 +0000 (09:48 -0700)]
Move smoketests to new helix queue (dotnet/coreclr#20090)

Commit migrated from https://github.com/dotnet/coreclr/commit/deb192495ca8e9f7b02786ffe31067b8fbcfd32e

6 years agoSimplifies UTF32Encoding/UTF8Encoding/UnicodeEncoding ctors initialization flow ...
Marek Safar [Fri, 21 Sep 2018 15:07:36 +0000 (17:07 +0200)]
Simplifies UTF32Encoding/UTF8Encoding/UnicodeEncoding ctors initialization flow (dotnet/coreclr#20072)

Commit migrated from https://github.com/dotnet/coreclr/commit/6654fd3e291128f1d2dee9e0a1ee49d1fd612dff

6 years agoFix decoding bug in r2rdump's native format reader
Simon Nattress [Thu, 20 Sep 2018 20:47:09 +0000 (13:47 -0700)]
Fix decoding bug in r2rdump's native format reader

Sign extension is done based on a 32-bit int. We were incorrectly basing it off the size of a byte.

Commit migrated from https://github.com/dotnet/coreclr/commit/6410f031da3dd7f25dce79ad29fa348733598df2

6 years agoPerformance fix for R2R: vtable calls (dotnet/coreclr#20061)
Fadi Hanna [Fri, 21 Sep 2018 05:06:48 +0000 (22:06 -0700)]
Performance fix for R2R: vtable calls (dotnet/coreclr#20061)

* Performance fix for R2R: use vtable-based codegen for virtual calls within the System.Private.CoreLib version bubble, avoiding the use of the VSD, or in the generics case, a dictionary lookup.
The CoreLib assembly will always be serviced along side the coreclr runtime, so special casing CoreLib to using vtable-based calls like the fragile NI case is ok.

Commit migrated from https://github.com/dotnet/coreclr/commit/0149085e0156e357d7cfc2fe28c3f62355027167

6 years agoFix issue dotnet/coreclr#20076 createdump faults. (dotnet/coreclr#20084)
Mike McLaughlin [Fri, 21 Sep 2018 04:28:27 +0000 (21:28 -0700)]
Fix issue dotnet/coreclr#20076 createdump faults. (dotnet/coreclr#20084)

Return E_FAIL instead of S_FALSE from ClrDataFrame::GetLocalSig().

Also issue https://github.com/dotnet/diagnostics/issues/61

Commit migrated from https://github.com/dotnet/coreclr/commit/f1cf6e7172ae0f0fc3c4617c810d71c514c5e0ba

6 years agoMake EH table optional in R2RDump
Simon Nattress [Wed, 19 Sep 2018 17:24:02 +0000 (10:24 -0700)]
Make EH table optional in R2RDump

Ready-to-run binaries don't always have an EH table. Fix r2rdump so it doesn't crash if the table isn't present.

Commit migrated from https://github.com/dotnet/coreclr/commit/10e34eb55c3bb0a16969b45c97e12b275549ec20

6 years agoUpdated assertionprop.cpp
Brian Sullivan [Fri, 21 Sep 2018 00:00:23 +0000 (17:00 -0700)]
Updated assertionprop.cpp

Commit migrated from https://github.com/dotnet/coreclr/commit/9d49bf1ec6f102b89e5c2885e8f9d3d77f2ec144

6 years agoConvert Sse2 tests PackSignedSaturate, PackUnsignedSaturate, UnpackHigh and UnpackLow...
Jacek Blaszczynski [Thu, 20 Sep 2018 23:09:36 +0000 (01:09 +0200)]
Convert Sse2 tests PackSignedSaturate, PackUnsignedSaturate, UnpackHigh and UnpackLow to template based (dotnet/coreclr#19670)

*  Convert PackSignedSaturate, PackUnsignedSaturate, UnpackHigh, UnpackLow tests to template based

* Add generated Sse2 Pack***Saturate, UnpackHigh, UnpackLow tests, remove replaced tests

*  Remove deleted Sse2 Pack** Unpack** tests from Test.lst files for arm and arm64 Windows targets

Commit migrated from https://github.com/dotnet/coreclr/commit/4180182cae098b55cb6e2711cb2c2c43decaac0a

6 years agoJIT: Fix operand evaluation order for GT_INDEX_ADDR (dotnet/coreclr#20047)
Andy Ayers [Thu, 20 Sep 2018 22:02:58 +0000 (15:02 -0700)]
JIT: Fix operand evaluation order for GT_INDEX_ADDR (dotnet/coreclr#20047)

We need to evaluate the array operand first, and it's op1. So evaluate
in that order, and don't allow reversal.

Closes dotnet/coreclr#20040.

Commit migrated from https://github.com/dotnet/coreclr/commit/e30f187cda3767e1c50b870864de8d0eb5f8582a

6 years agoMove RegistryKey to shared CoreLib partition (dotnet/coreclr#20067)
Jan Kotas [Thu, 20 Sep 2018 21:14:48 +0000 (14:14 -0700)]
Move RegistryKey to shared CoreLib partition (dotnet/coreclr#20067)

* Move RegistryKey to shared CoreLib partition

- Cut down RegistryKey to just what CoreLib needs. I went back and forth on whether to share the corefx implementation with ifdefs or not. I have choosen to duplicate it at the end. The ifdefs were either too complex or there was too much cruft left behind that the IL linker was not able to remove.
- Move the internal CoreLib implementation of Registry to Internal.Win32 namespace to ensure that it is not confused with the public standlone one

Fixes dotnet/coreclr#10741 and dotnet/coreclr#17899

Commit migrated from https://github.com/dotnet/coreclr/commit/4ca5cd260a1c04f74961faccfad3200fe865a249

6 years agoDisable tests of BroadcastScalarToVector128
Fei Peng [Wed, 19 Sep 2018 21:45:32 +0000 (14:45 -0700)]
Disable tests of BroadcastScalarToVector128

Commit migrated from https://github.com/dotnet/coreclr/commit/0f4ecd9ccc1c7bad32d7ec8eb8bb335f67cfd432

6 years agoAdd pointer overloads for Avx2.BroadcastScalarToVector128
Fei Peng [Wed, 19 Sep 2018 20:38:56 +0000 (13:38 -0700)]
Add pointer overloads for Avx2.BroadcastScalarToVector128

Commit migrated from https://github.com/dotnet/coreclr/commit/eb4db9f0494b879b9a94ab1b4c3e1e8182d917aa

6 years agoAdd unsigned overloads for MultiplyLow
Fei Peng [Wed, 19 Sep 2018 23:29:01 +0000 (16:29 -0700)]
Add unsigned overloads for MultiplyLow

Commit migrated from https://github.com/dotnet/coreclr/commit/fcebb9b70f60b2b0661363134675f046037eba0e

6 years agoAdd all integer overloads for AVX2/SSSE3 AlignRight
Fei Peng [Wed, 19 Sep 2018 22:57:35 +0000 (15:57 -0700)]
Add all integer overloads for AVX2/SSSE3 AlignRight

Commit migrated from https://github.com/dotnet/coreclr/commit/3ccad6222e34b0b5d1fbd8f65ab93dff89e0179a

6 years agoAdd all integer overloads for Avx2/SSE4.1 BlendVariable
Fei Peng [Wed, 19 Sep 2018 22:48:35 +0000 (15:48 -0700)]
Add all integer overloads for Avx2/SSE4.1 BlendVariable

Commit migrated from https://github.com/dotnet/coreclr/commit/0927f22958e6dd4fcda160fd87519008f7e19bd1

6 years agoAdded methods VNLiberalNormalValue and VNConservativeNormalValue
Brian Sullivan [Thu, 20 Sep 2018 20:29:34 +0000 (13:29 -0700)]
Added methods VNLiberalNormalValue and VNConservativeNormalValue

Commit migrated from https://github.com/dotnet/coreclr/commit/854764f4837180046513449cd111349f0d82d8a5

6 years agoMoving GetExponent/Mantissa and make BigInteger used fixed-sized buffer
Tanner Gooding [Wed, 19 Sep 2018 21:25:36 +0000 (14:25 -0700)]
Moving GetExponent/Mantissa and make BigInteger used fixed-sized buffer

Commit migrated from https://github.com/dotnet/coreclr/commit/97e8b443d7da613e211659743dafe4dec870b4db

6 years agoRemoving BitScanReverse from pal.h
Tanner Gooding [Mon, 17 Sep 2018 22:15:43 +0000 (15:15 -0700)]
Removing BitScanReverse from pal.h

Commit migrated from https://github.com/dotnet/coreclr/commit/cee8cc77e91f5a2c249da29b95f3ee0d10bbed7a

6 years agoFixing some naming conventions and removing dead code.
Tanner Gooding [Mon, 17 Sep 2018 21:29:49 +0000 (14:29 -0700)]
Fixing some naming conventions and removing dead code.

Commit migrated from https://github.com/dotnet/coreclr/commit/77daa1a1b3aab5dba05893b7e3c216ff266823e2

6 years agoRemoving bcltype/fp.h from native code.
Tanner Gooding [Mon, 17 Sep 2018 16:45:13 +0000 (09:45 -0700)]
Removing bcltype/fp.h from native code.

Commit migrated from https://github.com/dotnet/coreclr/commit/6498dea67c7148accfea03b28e4168ed67627dff

6 years agoMaking Number.Grisu3.DigitGen slightly more efficient.
Tanner Gooding [Mon, 17 Sep 2018 16:28:30 +0000 (09:28 -0700)]
Making Number.Grisu3.DigitGen slightly more efficient.

Commit migrated from https://github.com/dotnet/coreclr/commit/ad3d6f89ac8270e64c4a5bd15137041ab07225b7

6 years agoRemoving the Grisu3 native implementation.
Tanner Gooding [Mon, 17 Sep 2018 07:03:26 +0000 (00:03 -0700)]
Removing the Grisu3 native implementation.

Commit migrated from https://github.com/dotnet/coreclr/commit/8eb7f92283699d727dc4568e76ef5ae4afa0d90f

6 years agoPorting the Grisu3 algorithm to managed code.
Tanner Gooding [Mon, 17 Sep 2018 06:55:18 +0000 (23:55 -0700)]
Porting the Grisu3 algorithm to managed code.

Commit migrated from https://github.com/dotnet/coreclr/commit/f71a7739db60bf42f8c44037c8feca514bd6757d

6 years agoPorting bcltype/diyfp.cpp to managed code as shared/System/Number.DiyFp.cs
Tanner Gooding [Mon, 17 Sep 2018 06:16:36 +0000 (23:16 -0700)]
Porting bcltype/diyfp.cpp to managed code as shared/System/Number.DiyFp.cs

Commit migrated from https://github.com/dotnet/coreclr/commit/e90208629cd440346744127a5b169b4c4e2c5152

6 years agoRemoving the Dragon4 and DoubleToNumber native implementation.
Tanner Gooding [Mon, 17 Sep 2018 05:35:26 +0000 (22:35 -0700)]
Removing the Dragon4 and DoubleToNumber native implementation.

Commit migrated from https://github.com/dotnet/coreclr/commit/520d408e2ce6a243779db51661a869af199908d4

6 years agoPorting the Dragon4 algorithm to managed code.
Tanner Gooding [Mon, 17 Sep 2018 05:34:40 +0000 (22:34 -0700)]
Porting the Dragon4 algorithm to managed code.

Commit migrated from https://github.com/dotnet/coreclr/commit/b9e981c3e8fc1c718958ca3e0433ba6a6e3cf3cc

6 years agoPorting bcltype/bignum.cpp to managed code as shared/System/Number.BigInteger.cs
Tanner Gooding [Mon, 17 Sep 2018 05:30:56 +0000 (22:30 -0700)]
Porting bcltype/bignum.cpp to managed code as shared/System/Number.BigInteger.cs

Commit migrated from https://github.com/dotnet/coreclr/commit/27cb9b9750ee324c259c8b8c15054bafdde5cb92

6 years agoRevert "Move smoketests to use Helix queue (dotnet/coreclr#20017)" (dotnet/coreclr...
Michelle McDaniel [Thu, 20 Sep 2018 16:58:01 +0000 (09:58 -0700)]
Revert "Move smoketests to use Helix queue (dotnet/coreclr#20017)" (dotnet/coreclr#20058)

This reverts commit dotnet/coreclr@d529163b2dbc880117f436d8a824d531b1506346.

Commit migrated from https://github.com/dotnet/coreclr/commit/a72d196801aea97807aaf8e57861ee46cacd623f

6 years agoMerge pull request dotnet/coreclr#20035 from echesakovMSFT/CrossBitnessLinuxPerfMap
Egor Chesakov [Thu, 20 Sep 2018 16:53:13 +0000 (09:53 -0700)]
Merge pull request dotnet/coreclr#20035 from echesakovMSFT/CrossBitnessLinuxPerfMap

Make Hostx64/arm crossgen /CreatePerfMap behave the same as Hostarm/arm crossgen

Commit migrated from https://github.com/dotnet/coreclr/commit/3d2e9cce9619d4664c317edeabceaa9ffd81f00a

6 years agoMerge pull request dotnet/coreclr#20071 from BruceForstall/FixViews
Bruce Forstall [Thu, 20 Sep 2018 15:27:58 +0000 (08:27 -0700)]
Merge pull request dotnet/coreclr#20071 from BruceForstall/FixViews

Fix arm/arm64 Jenkins views

Commit migrated from https://github.com/dotnet/coreclr/commit/520e089230fe5897be167e1586f8d2abba13745f

6 years agoCleans up error message caching in DuplicateWaitObjectException (dotnet/coreclr#20073)
Marek Safar [Thu, 20 Sep 2018 15:05:17 +0000 (17:05 +0200)]
Cleans up error message caching in DuplicateWaitObjectException (dotnet/coreclr#20073)

Commit migrated from https://github.com/dotnet/coreclr/commit/b42022031a5a2883890845ff93c807a5a0ad10ff

6 years agoFix arm/arm64 Jenkins views
Bruce Forstall [Thu, 20 Sep 2018 07:22:40 +0000 (00:22 -0700)]
Fix arm/arm64 Jenkins views

Filter out the non-flow jobs, especially the corefx builds that are
consumed by corefx flow jobs.

Commit migrated from https://github.com/dotnet/coreclr/commit/3a77e02658e8dafbd34f4b49146f4720c9f6f610

6 years agoMerge pull request dotnet/coreclr#20069 from dotnet/dev/unix_test_workflow
Bruce Forstall [Thu, 20 Sep 2018 07:58:57 +0000 (00:58 -0700)]
Merge pull request dotnet/coreclr#20069 from dotnet/dev/unix_test_workflow

Refine Linux arm64 "limited hardware" designation

Commit migrated from https://github.com/dotnet/coreclr/commit/3ef621a7614e5a5a41917f040f4c03503f32af57

6 years agoMerge pull request dotnet/coreclr#20070 from BruceForstall/FixLimited
Bruce Forstall [Thu, 20 Sep 2018 07:41:46 +0000 (00:41 -0700)]
Merge pull request dotnet/coreclr#20070 from BruceForstall/FixLimited

Exclude Windows from arm64 daily corefx job scheduling

Commit migrated from https://github.com/dotnet/coreclr/commit/7b6ba62db21de37a7154ee56fc117f949061c663

6 years agoExclude Windows from arm64 daily corefx job scheduling
Bruce Forstall [Thu, 20 Sep 2018 07:40:45 +0000 (00:40 -0700)]
Exclude Windows from arm64 daily corefx job scheduling

Commit migrated from https://github.com/dotnet/coreclr/commit/ff8c9ea68f45b8620d36560bc4f4c18a3daf6e5f

6 years agoMerge pull request dotnet/coreclr#20068 from BruceForstall/FixLimitedHardware
Bruce Forstall [Thu, 20 Sep 2018 07:17:40 +0000 (00:17 -0700)]
Merge pull request dotnet/coreclr#20068 from BruceForstall/FixLimitedHardware

Refine Linux arm64 "limited hardware" designation

Commit migrated from https://github.com/dotnet/coreclr/commit/b6d3e7078c89d17d9cea040a901b227920edd318

6 years agoRefine Linux arm64 "limited hardware" designation
Bruce Forstall [Thu, 20 Sep 2018 06:51:50 +0000 (23:51 -0700)]
Refine Linux arm64 "limited hardware" designation

Add Linux arm64 to the limited hardware category, meaning non-PR jobs
only run in the master branch.

However, allow non-corefx JIT stress jobs to be scheduled daily,
as they are fast. If corefx jobs are changes to run in parallel
(and thus are faster), they can also possibly be made to run daily.

Commit migrated from https://github.com/dotnet/coreclr/commit/962743bee85bee0b6b68443d70d3d569be05098c

6 years agoMerge pull request dotnet/coreclr#20065 from BruceForstall/FixArm64Innerloop
Bruce Forstall [Thu, 20 Sep 2018 06:33:57 +0000 (23:33 -0700)]
Merge pull request dotnet/coreclr#20065 from BruceForstall/FixArm64Innerloop

Fix arm64 Linux innerloop triggered jobs

Commit migrated from https://github.com/dotnet/coreclr/commit/5f0726b5991c8113e7b62c8f4edc5c11c20787dc

6 years agoFix arm64 Linux innerloop triggered jobs
Bruce Forstall [Thu, 20 Sep 2018 00:27:07 +0000 (17:27 -0700)]
Fix arm64 Linux innerloop triggered jobs

Only trigger flow job, not build job.

Commit migrated from https://github.com/dotnet/coreclr/commit/0848eb109ba07fcddc20a45538d651f499222170

6 years agoMerge pull request dotnet/coreclr#20064 from BruceForstall/FixSpace
Bruce Forstall [Thu, 20 Sep 2018 00:07:50 +0000 (17:07 -0700)]
Merge pull request dotnet/coreclr#20064 from BruceForstall/FixSpace

Remove extra space from verbose context strings

Commit migrated from https://github.com/dotnet/coreclr/commit/4b9a9d71b06fbce71c7d000e8b2ed3623976b30c

6 years agoRemove extra space from verbose context strings
Bruce Forstall [Wed, 19 Sep 2018 23:48:19 +0000 (16:48 -0700)]
Remove extra space from verbose context strings

Commit migrated from https://github.com/dotnet/coreclr/commit/c77f0aaebd249924d2e45074410ed668a48687d1

6 years agoMerge pull request dotnet/coreclr#20002 from mikedn/undef-printf
Carol Eidt [Wed, 19 Sep 2018 23:37:59 +0000 (16:37 -0700)]
Merge pull request dotnet/coreclr#20002 from mikedn/undef-printf

Always define printf/fprintf in JIT

Commit migrated from https://github.com/dotnet/coreclr/commit/4e111c3495c480c221ee8ba577bf9837a2e98271

6 years agoMerge pull request dotnet/coreclr#20038 from CarolEidt/Fix20031
Carol Eidt [Wed, 19 Sep 2018 23:25:15 +0000 (16:25 -0700)]
Merge pull request dotnet/coreclr#20038 from CarolEidt/Fix20031

Fix MultiReg methods on GenTree

Commit migrated from https://github.com/dotnet/coreclr/commit/300975cd8581101aa765bb655a098d3d259ed2b8

6 years agoMerge pull request dotnet/coreclr#19811 from pentp/xcnt-false-dep
Carol Eidt [Wed, 19 Sep 2018 21:45:16 +0000 (14:45 -0700)]
Merge pull request dotnet/coreclr#19811 from pentp/xcnt-false-dep

Improved fix for target register false dependency of lzcnt/tzcnt/popcnt

Commit migrated from https://github.com/dotnet/coreclr/commit/5d403a15c85d19a3ad672c7a71eb711f06e72a08

6 years agoMove smoketests to use Helix queue (dotnet/coreclr#20017)
Michelle McDaniel [Wed, 19 Sep 2018 21:25:15 +0000 (14:25 -0700)]
Move smoketests to use Helix queue (dotnet/coreclr#20017)

Commit migrated from https://github.com/dotnet/coreclr/commit/d529163b2dbc880117f436d8a824d531b1506346

6 years agoMerge pull request dotnet/coreclr#19993 from dotnet/dev/unix_test_workflow
Bruce Forstall [Wed, 19 Sep 2018 21:18:30 +0000 (14:18 -0700)]
Merge pull request dotnet/coreclr#19993 from dotnet/dev/unix_test_workflow

Enable arm64 Linux testing in CI

Testing is enabled on a set of Qualcomm Centriq arm64 servers running Ubuntu 16.04.
The set of jobs enabled almost matches the set run for arm32 Linux testing,
including innerloop, JIT and GC Stress, corefx, and R2R. Temporarily, the
innerloop jobs are commit jobs (invoked when a PR is merged) instead of
"default trigger" jobs (invoked when a PR is submitted), until we get more
experience with the robustness of the machines and jobs. The machines are
fast enough that they are not marked as "limited hardware" (like arm32 Linux
machines). That means that many jobs are run daily, not weekly, as periodic jobs.

Notes about the changes:
1. The Linux arm64 machines are managed by Helix, which allocates them to Jenkins.
2. The arm64 OS used has been renamed from "small_page_size" to "Ubuntu16.04". If we
add large page size machines, we'll need to add a differentiator.
3. The Jenkins "copy artifacts" plug-in runs ridiculously slowly on this hardware,
for unknown reasons, so we copy artifacts directly using "wget".
4. Tests are built using "build-test.sh" on the (cross) build machine; we don't use
Windows-built tests.
5. Added Jenkins archiving of build .log/.wrn/.err files.
6. Various tests were disabled in issues.targets, and with a new
arm64/corefx_linux_test_exclusions.txt file, to get jobs to run clean. (Several
issues have been opened to track these and other known failures.)

Commit migrated from https://github.com/dotnet/coreclr/commit/a35087fd0d87ce98f4e3a26902d01c8afcf7119c

6 years agoCleanup registry usage within CoreLib (dotnet/coreclr#20050)
Jan Kotas [Wed, 19 Sep 2018 21:12:40 +0000 (14:12 -0700)]
Cleanup registry usage within CoreLib (dotnet/coreclr#20050)

- Ensure that the registry keys are always disposed
- Use smaller subset of registry APIs
- Reduce diffs with CoreCLR/CoreFX
- Contributes to dotnet/coreclr#11009 and dotnet/coreclr#17899

Commit migrated from https://github.com/dotnet/coreclr/commit/21078fbf9fccddc05c8156be9b42b7cafcc19448

6 years agoRun and compare results of "crossgen /CreatePerfMap" and "crossgen /CreatePdb" commands
Egor Chesakov [Fri, 14 Sep 2018 18:31:24 +0000 (11:31 -0700)]
Run and compare results of "crossgen /CreatePerfMap" and "crossgen /CreatePdb" commands

Commit migrated from https://github.com/dotnet/coreclr/commit/46e7b87872c4b33e0f7e3fb00ac64ce3ef86664c

6 years agoTurns Math/MathF RoundLimit into a constant (dotnet/coreclr#20044)
Marek Safar [Wed, 19 Sep 2018 18:37:17 +0000 (20:37 +0200)]
Turns Math/MathF RoundLimit into a constant (dotnet/coreclr#20044)

Commit migrated from https://github.com/dotnet/coreclr/commit/f52dfe474bd2462599f704346c80df5fbb80dfc3

6 years agoEnable arm64 Linux testing in CI
Bruce Forstall [Wed, 22 Aug 2018 20:55:53 +0000 (13:55 -0700)]
Enable arm64 Linux testing in CI

Testing is enabled on a set of Qualcomm Centriq arm64 servers running Ubuntu 16.04.
The set of jobs enabled almost matches the set run for arm32 Linux testing,
including innerloop, JIT and GC Stress, corefx, and R2R. Temporarily, the
innerloop jobs are commit jobs (invoked when a PR is merged) instead of
"default trigger" jobs (invoked when a PR is submitted), until we get more
experience with the robustness of the machines and jobs. The machines are
fast enough that they are not marked as "limited hardware" (like arm32 Linux
machines). That means that many jobs are run daily, not weekly, as periodic jobs.

Notes about the changes:
1. The Linux arm64 machines are managed by Helix, which allocates them to Jenkins.
2. The arm64 OS used has been renamed from "small_page_size" to "Ubuntu16.04". If we
add large page size machines, we'll need to add a differentiator.
3. The Jenkins "copy artifacts" plug-in runs ridiculously slowly on this hardware,
for unknown reasons, so we copy artifacts directly using "wget".
4. Tests are built using "build-test.sh" on the (cross) build machine; we don't use
Windows-built tests.
5. Added Jenkins archiving of build .log/.wrn/.err files.
6. Various tests were disabled in issues.targets, and with a new
arm64/corefx_linux_test_exclusions.txt file, to get jobs to run clean. (Several
issues have been opened to track these and other known failures.)

Commit migrated from https://github.com/dotnet/coreclr/commit/707e84e98920546264db5af4252509a3a54f6203

6 years agoChanges to use VNNormalValue in assertionProp
Brian Sullivan [Mon, 17 Sep 2018 20:39:18 +0000 (13:39 -0700)]
Changes to use VNNormalValue in assertionProp

Commit migrated from https://github.com/dotnet/coreclr/commit/8797f7a36aec5df957f28e4c9e09c22cc5fe5484

6 years agoRemove Sse2 ConvertTo* tests from Tests.lst files for arm and arm64 Windows targets
Jacek Blaszczynski [Thu, 6 Sep 2018 21:15:19 +0000 (23:15 +0200)]
Remove Sse2 ConvertTo* tests from Tests.lst files for arm and arm64 Windows targets

Commit migrated from https://github.com/dotnet/coreclr/commit/541f710095b6c10f2e650ad68e3f5961aa467d02

6 years agoAdd generated code for Convert Sse2 ConvertTo* and ConvertToVector128* tests
Jacek Blaszczynski [Thu, 6 Sep 2018 10:42:27 +0000 (12:42 +0200)]
Add generated code for Convert Sse2 ConvertTo* and ConvertToVector128* tests

Removed old tests, changed GenerateTests.csx layout

Commit migrated from https://github.com/dotnet/coreclr/commit/09833d34724164fc0c44c83925fcf95ec14c800e

6 years agoConvert Sse2 ConvertTo* and ConvertToVector128* tests to template based
Jacek Blaszczynski [Thu, 6 Sep 2018 10:31:56 +0000 (12:31 +0200)]
Convert Sse2 ConvertTo* and ConvertToVector128* tests to template based

Changes comprise addition of new templates, new test generation logic
which supports test cases which have to be differentiated based
on both return VectorNNN baset type and source VectorNNN base type.
This commit is skipping all code which was generated or changed
due to code layout adjustment (white space changes).

Commit migrated from https://github.com/dotnet/coreclr/commit/420b26c8c3441c182b28c12b9bd24e5e618151ac

6 years agoFix perf scenarios in the min_opt config (dotnet/coreclr#20010)
Koundinya Veluri [Wed, 19 Sep 2018 10:30:49 +0000 (03:30 -0700)]
Fix perf scenarios in the min_opt config (dotnet/coreclr#20010)

The appropriate environment variables were not being set due to a name mismatch

Commit migrated from https://github.com/dotnet/coreclr/commit/92a00307ca4b7378ae077cf76c97cd3d0100e86b

6 years agoReplace assert in Precode::SetTargetInterlocked (dotnet/coreclr#20007)
Koundinya Veluri [Wed, 19 Sep 2018 10:30:01 +0000 (03:30 -0700)]
Replace assert in Precode::SetTargetInterlocked (dotnet/coreclr#20007)

Fixes https://github.com/dotnet/coreclr/issues/19954
- `SetTargetInterlocked` can be soon followed by `ResetTargetInterlocked`, so the assert at the end of `SetTargetInterlocked` is invalid
- Removed the assert and instead just verified that the specified target is not the default prestub target

Commit migrated from https://github.com/dotnet/coreclr/commit/2b698ce9bd72368f9722524573e4a77a24131700