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
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
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
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
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
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
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
谭九鼎 [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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Koundinya Veluri [Wed, 19 Sep 2018 10:29:01 +0000 (03:29 -0700)]
Add 2.2 sdk/runtime to JitBench (dotnet/coreclr#19778)
Add 2.2 sdk/runtime to JitBench
Commit migrated from https://github.com/dotnet/coreclr/commit/
291e365452da11122ccfbbdef75abd97a76c1f25
Andon Andonov [Tue, 18 Sep 2018 17:31:38 +0000 (10:31 -0700)]
Indentation
Commit migrated from https://github.com/dotnet/coreclr/commit/
a4aaf0667ddca455a86727deb34541c0493629e8
Andon Andonov [Tue, 18 Sep 2018 17:25:06 +0000 (10:25 -0700)]
Disable outdated Enumerator tests
Commit migrated from https://github.com/dotnet/coreclr/commit/
b577c2825f2d8a20f1b29255a19fd11cb0372805
dotnet-bot [Mon, 17 Sep 2018 23:21:25 +0000 (16:21 -0700)]
* Revert the changes to TryInsert() introduced by https://github.com/dotnet/coreclr/pull/17096 completely, which only showed modest size improvement
* Removing the _version increment from Clear() entirely to bring it in line with the behavior in Remove() and to keep size gains
[tfs-changeset: 1714543]
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
a00a6eaca1d6d45235ed076b81a2169d08487e71
Sven Boemer [Wed, 19 Sep 2018 03:50:57 +0000 (20:50 -0700)]
Include in alphabetical order (dotnet/coreclr#20028)
For consistency with https://github.com/dotnet/coreclr/pull/20005
Commit migrated from https://github.com/dotnet/coreclr/commit/
ed9fb0d4cb56d0aaedf6b8e02b683d33b10a0f12
Carol Eidt [Tue, 18 Sep 2018 23:57:31 +0000 (16:57 -0700)]
Merge pull request dotnet/coreclr#19996 from dotnetrt/jit-update-headers
Update clrjit headers files included via CMakeList.txt into clrjit.vcxproj
Commit migrated from https://github.com/dotnet/coreclr/commit/
89ac6702af6c6db633c6c7d69af300a217f30d60
Egor Chesakov [Tue, 18 Sep 2018 02:41:16 +0000 (19:41 -0700)]
Use 32-bit address format string during crossgen in src/vm/perfmap.cpp
Commit migrated from https://github.com/dotnet/coreclr/commit/
93344b86986ed89d8669f23fd26990a46e5ec8ef
Egor Chesakov [Tue, 18 Sep 2018 17:46:42 +0000 (10:46 -0700)]
Replace sizeof(PVOID) with TARGET_POINTER_SIZE in src/vm/readytoruninfo.cpp
Commit migrated from https://github.com/dotnet/coreclr/commit/
d59acc5333dc26327c617ad8aa199dbfc6388147
Egor Chesakov [Tue, 18 Sep 2018 15:58:58 +0000 (08:58 -0700)]
Use HasNativeOrReadyToRunImage in src/vm/compile.cpp
Commit migrated from https://github.com/dotnet/coreclr/commit/
cdde386d9d647f8edb77fffcd3a98938cbd29ea4
Carol Eidt [Tue, 18 Sep 2018 22:40:32 +0000 (15:40 -0700)]
Fix MultiReg methods on GenTree
The Copy/Reload case was not being handled for 64-bit targets with multireg ops.
Also, the methods `IsMultiRegNode`, `GetMultiRegCount`, `GetRegByIndex` and `GetRegTypeByIndex` should be in sync.
Fix dotnet/coreclr#20031
Commit migrated from https://github.com/dotnet/coreclr/commit/
8194ab91d6d535b15fe46877bbe2cc650595f334
Tarek Mahmoud Sayed [Tue, 18 Sep 2018 21:02:57 +0000 (14:02 -0700)]
Port Formatting Japanese First Year of Era (dotnet/coreclr#19976)
Commit migrated from https://github.com/dotnet/coreclr/commit/
44fd2693a85a35d2f4e532bb5a12f145224ee5bf
Jacek Blaszczynski [Tue, 18 Sep 2018 18:20:35 +0000 (20:20 +0200)]
Do not add invalid masm flags in cordbdi.vcxproj for x64 Windows (dotnet/coreclr#19995)
Fixes dotnet/coreclr#19902
Commit migrated from https://github.com/dotnet/coreclr/commit/
82682b2dc4ecb05e34bbcfe4e20324b938bd80a9
Jacek Blaszczynski [Tue, 18 Sep 2018 18:15:38 +0000 (20:15 +0200)]
Add headers to cee_wks, cee_dac vcxprojs to improve developer experience (dotnet/coreclr#20011)
Commit migrated from https://github.com/dotnet/coreclr/commit/
88faa0e942bcdcaf14d327892ea5bc029c02303f
Jan Kotas [Tue, 18 Sep 2018 15:52:12 +0000 (08:52 -0700)]
Fix Buffer.cs formatting to follow coding guidelines (dotnet/coreclr#20020)
Reduces diffs with CoreRT
Commit migrated from https://github.com/dotnet/coreclr/commit/
404cf2f9f22032f40edf3ab6223bb560d220d770
Jacek Blaszczynski [Tue, 18 Sep 2018 13:57:42 +0000 (15:57 +0200)]
Add gc header files to vcxproj file to improve user experience (dotnet/coreclr#19980)
Work toward dotnet/coreclr#14884
Commit migrated from https://github.com/dotnet/coreclr/commit/
d1bb5271192ddac3d0d31ee6168afdc3c58f55da
Tomáš Rylek [Tue, 18 Sep 2018 12:41:05 +0000 (14:41 +0200)]
Add EH info support to R2RDump (dotnet/coreclr#20000)
* Add EH info support to R2RDump
This change expands runtime function dump to include the exception
handling info looked up via the EXCEPTION_INFO R2R header table.
* Address Zach's PR feedback
1) Base EHClause.Length on sizeof(uint) instead of sizeof(int)
for consistency with the asctual data types in the class.
2) Fix my overlooking that Zach spotted - in the EHLookupTable
ctor, we need to assign rva2 and eh2 to rva1 and eh1 at the end
of the loop block as we need to traverse consecutive pairs
of CORCOMPILE_EXCEPTION_LOOKUP_TABLE_ENTRY elements.
* Addressed Bruce Forstall's PR feedback
1) I modified the EH info method ctors to accept the R2RReader
instead of the raw byte[] image as the reader can be used to
provide textual representations of metadata tokens.
2) I changed the mask test to a switch that throws an exception
if multiple of the three lowest bits are set which is illegal
according to Bruce.
* Addressed additional Bruce Forstall's PR feedback
Remove interpretation of ClassTokenOrFilterOffset as it's not applicable
in the FINALLY and FAULT cases.
Thanks
Tomas
Commit migrated from https://github.com/dotnet/coreclr/commit/
9d3e96c3afe522f6f509628a856c41fe91d9da33
Jan Kotas [Tue, 18 Sep 2018 05:42:40 +0000 (22:42 -0700)]
Use elaborated type specifiers to prevent meaning changes (dotnet/coreclr#20019)
Port https://github.com/dotnet/corert/pull/6341/ to CoreCLR
Commit migrated from https://github.com/dotnet/coreclr/commit/
d81f2635cc2f26370ea691b9d109cc8246d86472
Tanner Gooding [Mon, 17 Sep 2018 22:23:13 +0000 (15:23 -0700)]
Updating Buffer.ZeroMemory to call SpanHelpers.ClearWithoutReferences
Commit migrated from https://github.com/dotnet/coreclr/commit/
2a12f7e1295fa672d81a552d06b8fb17ec7305a8
Carol Eidt [Tue, 18 Sep 2018 00:46:46 +0000 (17:46 -0700)]
Merge pull request dotnet/coreclr#15657 from mikedn/fp-divmul-binary
Move FP DIV/MUL handling to genCodeForBinary
Commit migrated from https://github.com/dotnet/coreclr/commit/
6517a3519ef721d50b6b52995ca89d09b46189a2
Sergey Andreenko [Mon, 17 Sep 2018 21:59:07 +0000 (14:59 -0700)]
Fix spmi environment reset. (dotnet/coreclr#19943)
* Dump spmi string environment variables with -d key.
Sometimes it is not clear which environment variables are set during a replay. Add a possibility to dump all active string environment variables with "-v d" key.
It is especially useful when you debug one method and can't get output that you want (for example JitDump) because altJit was set during the collection.
* Dump int spmi environment variables with -d key.
The same change but for int variables that need an additional parsing.
* Fix environment reset in spmi.
The previous changes revealed that we have a problem with environment reset. The reset was added in dotnet/coreclr#13596 to support a correct replay of mch files with mc that had different env variables during the collection.
It was based on Environment that was later deprecated by dotnet/coreclr#13110.
That caused the environment to be reset for each mc file. The fix updates env only when it is necessary and decreases the replay time of an mch file with 200000 methods from 500s to 370s.
* Fix dumpHelp.
Fix formating and adds note that all keys and values are case sensetive.
* Delete retired packages logic.
These packages were retired a long time ago and there is no value to have a special logic for them.
Commit migrated from https://github.com/dotnet/coreclr/commit/
1df22d9d8970215b99f96691336b9b49a223ec1b
Carol Eidt [Mon, 17 Sep 2018 20:54:41 +0000 (13:54 -0700)]
Merge pull request dotnet/coreclr#19949 from fiigii/fixhwapis
Fix inconsistent Intel hardware intrinsic APIs
Commit migrated from https://github.com/dotnet/coreclr/commit/
00292a6ff453b9f01c80292b2c045e4dcd0551cf
Andy Ayers [Mon, 17 Sep 2018 17:44:38 +0000 (10:44 -0700)]
Jit: ensure objp properly updated by SpillRetExprHelper (dotnet/coreclr#19974)
We need to arrange to actually update the call objp in the SpillRetExprHelper,
otherwise the changes don't propagate back into the tree.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e7b69d9ea4e0a7088c9d12aed573728e08af1ec0
Mike Danes [Mon, 17 Sep 2018 15:37:18 +0000 (18:37 +0300)]
Always define printf/fprintf in JIT
In PAL based builds the stdio printf is already a macro so JIT's host.h fails to replace it with logf/flogf.
Commit migrated from https://github.com/dotnet/coreclr/commit/
5257a9e74d893247accb7a5bbe6a32cbba9b2b5d
Jacek Blaszczynski [Sun, 16 Sep 2018 13:16:19 +0000 (15:16 +0200)]
Update clrjit headers files included into clrjit.vcxproj
Commit migrated from https://github.com/dotnet/coreclr/commit/
500f9bd7ed79e986ae8e7808a14d06f9aac6ff30
Filip Navara [Sun, 16 Sep 2018 03:51:28 +0000 (05:51 +0200)]
System.Private.CoreLib: Move ResoureReader/ResourceSet to shared. (dotnet/coreclr#19994)
* Move ResoureReader/ResourceSet to shared.
* Remove unnecessary cast to RuntimeType from ResoureReader.
Commit migrated from https://github.com/dotnet/coreclr/commit/
3743d9a7d5959383ae4c31b4d9273fb61e2fb389
Jarret Shook [Sat, 15 Sep 2018 21:37:00 +0000 (14:37 -0700)]
Correctly disable varargsupport for windows x86 (dotnet/coreclr#19981)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e8ad788ff4406006319bfba7ff90146bb71ca644
Bruce Forstall [Sat, 15 Sep 2018 18:12:38 +0000 (11:12 -0700)]
Merge pull request dotnet/coreclr#19988 from BruceForstall/Disable18989
Disable arm64 float_cs_ro.cmd
Commit migrated from https://github.com/dotnet/coreclr/commit/
215344480feae3a74f77694a411d439ecdd2011a
Bruce Forstall [Sat, 15 Sep 2018 18:11:06 +0000 (11:11 -0700)]
Disable arm64 float_cs_ro.cmd
Tracked by dotnet/coreclr#18989
Commit migrated from https://github.com/dotnet/coreclr/commit/
59de1c6dcb853a64d3d96787588da6310ae0c0ac