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

5 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.

5 years agoclean code that counts promoted implict byref argument occurrences. (#20113)
Sergey Andreenko [Mon, 24 Sep 2018 23:03:36 +0000 (16:03 -0700)]
clean code that counts promoted implict byref argument occurrences. (#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.

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

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

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agoPorting NumberToDouble to managed code. (#20080)
Tanner Gooding [Sat, 22 Sep 2018 13:43:30 +0000 (06:43 -0700)]
Porting NumberToDouble to managed code. (#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

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

Disable test b80373 for all non-Windows targets

5 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. (#19959)

* Mark TrimStart and TrimEnd as Aggressively Inline to improve perf

* Remove inlining attribute and streamline Trim

5 years agoAdd missing <cmath> header for fabs to fix Visual C++ vNext break, av… (#20079)
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… (#20079)

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

5 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 #20024

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

Changes to use VNNormalValue in assertionProp

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

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agoMove smoketests to new helix queue (#20090)
Michelle McDaniel [Fri, 21 Sep 2018 16:48:31 +0000 (09:48 -0700)]
Move smoketests to new helix queue (#20090)

5 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 (#20072)

5 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.

5 years agoPerformance fix for R2R: vtable calls (#20061)
Fadi Hanna [Fri, 21 Sep 2018 05:06:48 +0000 (22:06 -0700)]
Performance fix for R2R: vtable calls (#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.

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

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

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

5 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.

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

5 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 (#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

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

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

Closes #20040.

5 years agoMove RegistryKey to shared CoreLib partition (#20067)
Jan Kotas [Thu, 20 Sep 2018 21:14:48 +0000 (14:14 -0700)]
Move RegistryKey to shared CoreLib partition (#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 #10741 and #17899

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

5 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

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

5 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

5 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

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

5 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

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

5 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.

5 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.

5 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.

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

5 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.

5 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

5 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.

5 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.

5 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

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

This reverts commit d529163b2dbc880117f436d8a824d531b1506346.

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

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

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

Fix arm/arm64 Jenkins views

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

5 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.

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

Refine Linux arm64 "limited hardware" designation

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

Exclude Windows from arm64 daily corefx job scheduling

5 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

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

Refine Linux arm64 "limited hardware" designation

5 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.

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

Fix arm64 Linux innerloop triggered jobs

5 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.

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

Remove extra space from verbose context strings

5 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

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

Always define printf/fprintf in JIT

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

Fix MultiReg methods on GenTree

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

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

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

5 years agoMerge pull request #19993 from dotnet/dev/unix_test_workflow
Bruce Forstall [Wed, 19 Sep 2018 21:18:30 +0000 (14:18 -0700)]
Merge pull request #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.)

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

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

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

5 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.)

5 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

5 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

5 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

5 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).

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

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

5 years agoReplace assert in Precode::SetTargetInterlocked (#20007)
Koundinya Veluri [Wed, 19 Sep 2018 10:30:01 +0000 (03:30 -0700)]
Replace assert in Precode::SetTargetInterlocked (#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

5 years agoAdd 2.2 sdk/runtime to JitBench (#19778)
Koundinya Veluri [Wed, 19 Sep 2018 10:29:01 +0000 (03:29 -0700)]
Add 2.2 sdk/runtime to JitBench (#19778)

Add 2.2 sdk/runtime to JitBench

5 years agoIndentation
Andon Andonov [Tue, 18 Sep 2018 17:31:38 +0000 (10:31 -0700)]
Indentation

5 years agoDisable outdated Enumerator tests
Andon Andonov [Tue, 18 Sep 2018 17:25:06 +0000 (10:25 -0700)]
Disable outdated Enumerator tests

5 years ago* Revert the changes to TryInsert() introduced by https://github.com/dotnet/coreclr...
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>
5 years agoInclude in alphabetical order (#20028)
Sven Boemer [Wed, 19 Sep 2018 03:50:57 +0000 (20:50 -0700)]
Include in alphabetical order (#20028)

For consistency with https://github.com/dotnet/coreclr/pull/20005

5 years agoMerge pull request #19996 from dotnetrt/jit-update-headers
Carol Eidt [Tue, 18 Sep 2018 23:57:31 +0000 (16:57 -0700)]
Merge pull request #19996 from dotnetrt/jit-update-headers

Update clrjit headers files included via CMakeList.txt into clrjit.vcxproj

5 years agoUse 32-bit address format string during crossgen in src/vm/perfmap.cpp
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

5 years agoReplace sizeof(PVOID) with TARGET_POINTER_SIZE in src/vm/readytoruninfo.cpp
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

5 years agoUse HasNativeOrReadyToRunImage in src/vm/compile.cpp
Egor Chesakov [Tue, 18 Sep 2018 15:58:58 +0000 (08:58 -0700)]
Use HasNativeOrReadyToRunImage in src/vm/compile.cpp

5 years agoFix MultiReg methods on GenTree
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 #20031

5 years agoPort Formatting Japanese First Year of Era (#19976)
Tarek Mahmoud Sayed [Tue, 18 Sep 2018 21:02:57 +0000 (14:02 -0700)]
Port Formatting Japanese First Year of Era (#19976)

5 years agoDo not add invalid masm flags in cordbdi.vcxproj for x64 Windows (#19995)
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 (#19995)

Fixes #19902

5 years agoAdd headers to cee_wks, cee_dac vcxprojs to improve developer experience (#20011)
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 (#20011)

5 years agoFix Buffer.cs formatting to follow coding guidelines (#20020)
Jan Kotas [Tue, 18 Sep 2018 15:52:12 +0000 (08:52 -0700)]
Fix Buffer.cs formatting to follow coding guidelines (#20020)

Reduces diffs with CoreRT

5 years agoAdd gc header files to vcxproj file to improve user experience (#19980)
Jacek Blaszczynski [Tue, 18 Sep 2018 13:57:42 +0000 (15:57 +0200)]
Add gc header files to vcxproj file to improve user experience (#19980)

Work toward #14884

5 years agoAdd EH info support to R2RDump (#20000)
Tomáš Rylek [Tue, 18 Sep 2018 12:41:05 +0000 (14:41 +0200)]
Add EH info support to R2RDump (#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

5 years agoUse elaborated type specifiers to prevent meaning changes (#20019)
Jan Kotas [Tue, 18 Sep 2018 05:42:40 +0000 (22:42 -0700)]
Use elaborated type specifiers to prevent meaning changes (#20019)

Port https://github.com/dotnet/corert/pull/6341/ to CoreCLR

5 years agoUpdating Buffer.ZeroMemory to call SpanHelpers.ClearWithoutReferences
Tanner Gooding [Mon, 17 Sep 2018 22:23:13 +0000 (15:23 -0700)]
Updating Buffer.ZeroMemory to call SpanHelpers.ClearWithoutReferences

5 years agoMerge pull request #15657 from mikedn/fp-divmul-binary
Carol Eidt [Tue, 18 Sep 2018 00:46:46 +0000 (17:46 -0700)]
Merge pull request #15657 from mikedn/fp-divmul-binary

Move FP DIV/MUL handling to genCodeForBinary

5 years agoFix spmi environment reset. (#19943)
Sergey Andreenko [Mon, 17 Sep 2018 21:59:07 +0000 (14:59 -0700)]
Fix spmi environment reset. (#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 #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 #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.

5 years agoMerge pull request #19949 from fiigii/fixhwapis
Carol Eidt [Mon, 17 Sep 2018 20:54:41 +0000 (13:54 -0700)]
Merge pull request #19949 from fiigii/fixhwapis

Fix inconsistent Intel hardware intrinsic APIs

5 years agoJit: ensure objp properly updated by SpillRetExprHelper (#19974)
Andy Ayers [Mon, 17 Sep 2018 17:44:38 +0000 (10:44 -0700)]
Jit: ensure objp properly updated by SpillRetExprHelper (#19974)

We need to arrange to actually update the call objp in the SpillRetExprHelper,
otherwise the changes don't propagate back into the tree.

5 years agoAlways define printf/fprintf in JIT
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.

5 years agoUpdate clrjit headers files included into clrjit.vcxproj
Jacek Blaszczynski [Sun, 16 Sep 2018 13:16:19 +0000 (15:16 +0200)]
Update clrjit headers files included into clrjit.vcxproj

5 years agoSystem.Private.CoreLib: Move ResoureReader/ResourceSet to shared. (#19994)
Filip Navara [Sun, 16 Sep 2018 03:51:28 +0000 (05:51 +0200)]
System.Private.CoreLib: Move ResoureReader/ResourceSet to shared. (#19994)

* Move ResoureReader/ResourceSet to shared.

* Remove unnecessary cast to RuntimeType from ResoureReader.

5 years agoCorrectly disable varargsupport for windows x86 (#19981)
Jarret Shook [Sat, 15 Sep 2018 21:37:00 +0000 (14:37 -0700)]
Correctly disable varargsupport for windows x86 (#19981)

5 years agoMerge pull request #19988 from BruceForstall/Disable18989
Bruce Forstall [Sat, 15 Sep 2018 18:12:38 +0000 (11:12 -0700)]
Merge pull request #19988 from BruceForstall/Disable18989

Disable arm64 float_cs_ro.cmd

5 years agoDisable arm64 float_cs_ro.cmd
Bruce Forstall [Sat, 15 Sep 2018 18:11:06 +0000 (11:11 -0700)]
Disable arm64 float_cs_ro.cmd

Tracked by #18989

5 years agoLayout native test components correctly on unix (#19918)
Jarret Shook [Sat, 15 Sep 2018 15:57:22 +0000 (08:57 -0700)]
Layout native test components correctly on unix (#19918)

* Enable native test build and add skipmanaged

* Fix adding native components to test dir

* Clean pri1/pri0 builds with native lib copy

This change disables the build of several tests which have native
dependencies; however, would not build the native dependencies on
unix. At copy time this would result in a build-test failure. In
addition, it fixes, adding executables and dynamic/static libraries
to the test's location.

It has been tested with build-test.sh priority1.

* Fix comment wording

* Remove buildagainstpackage arg

* Fix default clang version

* Clean pri1 run OSX

* Correct test count on unix

* Address typo

* Merge runtest.proj

5 years agoFix build break in P1 tests (#19975)
Vitek Karas [Sat, 15 Sep 2018 04:18:21 +0000 (21:18 -0700)]
Fix build break in P1 tests (#19975)

5 years agoAdd short guide for using tiered compilation and how to provide feedback (#19773)
Koundinya Veluri [Sat, 15 Sep 2018 04:00:04 +0000 (21:00 -0700)]
Add short guide for using tiered compilation and how to provide feedback (#19773)

* Add short guide for using tiered compilation and how to provide feedback

* Suggested changes

* Update to say that it's enabled by default

* Add info about target framework/runtime

5 years agoconvert HandleStore::_underlyingBucket to a pointer (#19935)
David Mason [Sat, 15 Sep 2018 03:44:58 +0000 (20:44 -0700)]
convert HandleStore::_underlyingBucket to a pointer (#19935)

* convert HandleStore::_underlyingBucket to a pointer

* undo _underlyingBucket pointer change and delete Ref_CreateHandleTableBucket

* update comment

5 years agoMerge pull request #19125 from mikedn/cse-extract
Brian Sullivan [Fri, 14 Sep 2018 23:58:03 +0000 (16:58 -0700)]
Merge pull request #19125 from mikedn/cse-extract

[WIP] Fix CSE side effect and definition extraction