platform/upstream/dotnet/runtime.git
7 years agoMerge pull request dotnet/coreclr#11191 from BruceForstall/FixFuncletAssert
Bruce Forstall [Tue, 25 Apr 2017 16:58:16 +0000 (09:58 -0700)]
Merge pull request dotnet/coreclr#11191 from BruceForstall/FixFuncletAssert

Fix funclet begin assert

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

7 years agoMerge pull request dotnet/coreclr#11080 from BruceForstall/MeasureNoway
Bruce Forstall [Tue, 25 Apr 2017 15:40:26 +0000 (08:40 -0700)]
Merge pull request dotnet/coreclr#11080 from BruceForstall/MeasureNoway

Add code to measure dynamic noway_assert usage

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

7 years ago[x86/Linux] Do not report untracked from filters (dotnet/coreclr#11195)
Hanjoung Lee [Tue, 25 Apr 2017 09:07:38 +0000 (18:07 +0900)]
[x86/Linux] Do not report untracked from filters (dotnet/coreclr#11195)

Related Issue : dotnet/coreclr#11101

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

7 years agoAdd code to measure dynamic noway_assert usage
Bruce Forstall [Wed, 19 Apr 2017 20:37:34 +0000 (13:37 -0700)]
Add code to measure dynamic noway_assert usage

Set COMPlus_JitMeasureNowayAssert=1 to enable measurement.
Set COMPlus_JitMeasureNowayAssertFile to a path/file to send
output to a file instead of stdout.

Code is under `#if MEASURE_NOWAY` which is enabled for DEBUG
only, though it can be manually enabled for non-DEBUG builds.

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

7 years agoFix funclet begin assert
Bruce Forstall [Mon, 24 Apr 2017 18:12:14 +0000 (11:12 -0700)]
Fix funclet begin assert

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

7 years agoMerge pull request dotnet/coreclr#11196 from wateret/fix-formatting
Bruce Forstall [Tue, 25 Apr 2017 06:49:01 +0000 (23:49 -0700)]
Merge pull request dotnet/coreclr#11196 from wateret/fix-formatting

Fix formatting fail

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

7 years agoMerge pull request dotnet/coreclr#11183 from sdmaclea/PR-FIX-11181
Bruce Forstall [Tue, 25 Apr 2017 06:31:17 +0000 (23:31 -0700)]
Merge pull request dotnet/coreclr#11183 from sdmaclea/PR-FIX-11181

Fix 11181

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

7 years ago[x86/Linux] Change CI docker image (dotnet/coreclr#11098)
Hyeongseok Oh [Tue, 25 Apr 2017 06:08:38 +0000 (15:08 +0900)]
[x86/Linux] Change CI docker image (dotnet/coreclr#11098)

* [x86/Linux] Change CI docker image

Change CI docker image to support clang-3.9

* Update x86_ci_script.sh

change docker tag name

* Update x86_ci_script.sh

environment set correctly: ROOTFS_DIR

* Update x86_ci_script.sh

change docker image name

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

7 years agoFix formatting fail
Hanjoung Lee [Tue, 25 Apr 2017 05:51:14 +0000 (14:51 +0900)]
Fix formatting fail

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

7 years agoEnsure using the given executable path. (dotnet/coreclr#10525)
Jim Ma [Tue, 25 Apr 2017 05:40:36 +0000 (17:40 +1200)]
Ensure using the given executable path. (dotnet/coreclr#10525)

* Ensure using the given executable path.

Fix the bug that corerun trying to load the executable from current directory even if the user has specified a full path of the executable.

Fix dotnet/coreclr#5631

* Revert "Ensure using the given executable path."

This reverts commit dotnet/coreclr@d237e6329f85132429176a0644cf6d93c9437ff4.

* Partially implemented.

* Ensure app context using correct IL file path.

Extracting simple name from the given file path and look up its value in tpa list. If the value does not equal to the given file path, we update the value with correct given file path.

Fix dotnet/coreclr#5631

* Re-arrange the slashIndex to eliminate unneccessary code.

* A few performance improvement with a memory leak bug fixed.

* Added the absolute path of target assembly to tpa list.

Fix dotnet/coreclr#5631

* Added the path of target assembly to tpa on Windows.

Fix dotnet/coreclr#5631

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

7 years agoAdd "createdump" command to SOS. (dotnet/coreclr#11161)
Mike McLaughlin [Tue, 25 Apr 2017 00:12:36 +0000 (17:12 -0700)]
Add "createdump" command to SOS. (dotnet/coreclr#11161)

Uses the createdump utility code as a library.

Changed the "-m, --micro" option to "-t, --triage".

Lots of cleanup.

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

7 years agoMerge pull request dotnet/coreclr#11152 from AndyAyersMS/FixTailCallStressAssert
Andy Ayers [Mon, 24 Apr 2017 23:42:38 +0000 (16:42 -0700)]
Merge pull request dotnet/coreclr#11152 from AndyAyersMS/FixTailCallStressAssert

JIT: simple fix for the tail call stress assert

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

7 years agoMerge pull request dotnet/coreclr#11157 from mikedn/reg-encoding
Bruce Forstall [Mon, 24 Apr 2017 23:28:08 +0000 (16:28 -0700)]
Merge pull request dotnet/coreclr#11157 from mikedn/reg-encoding

Simplify emitter's RegEncoding

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

7 years agoMerge pull request dotnet/coreclr#11108 from BruceForstall/RangedForAllSuccessorIter
Bruce Forstall [Mon, 24 Apr 2017 23:02:18 +0000 (16:02 -0700)]
Merge pull request dotnet/coreclr#11108 from BruceForstall/RangedForAllSuccessorIter

Use C++ ranged 'for' for AllSuccessorIter use

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

7 years agoMerge pull request dotnet/coreclr#11172 from mskvortsov/ArithOverflowChecks
Bruce Forstall [Mon, 24 Apr 2017 21:28:51 +0000 (14:28 -0700)]
Merge pull request dotnet/coreclr#11172 from mskvortsov/ArithOverflowChecks

[RyuJIT/ARM32] Enable arithmetic overflow checks

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

7 years agoSupport other toolsets in Win/ARM64 build
Russ Keldorph [Sun, 23 Apr 2017 13:42:14 +0000 (06:42 -0700)]
Support other toolsets in Win/ARM64 build

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

7 years agoFix 11181
Steve MacLean, Qualcomm Datacenter Technologies, Inc [Mon, 24 Apr 2017 19:33:13 +0000 (19:33 +0000)]
Fix 11181

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

7 years agoFix cmake warning about mismatched if/endif comment (dotnet/coreclr#11176)
Bruce Forstall [Mon, 24 Apr 2017 18:15:35 +0000 (11:15 -0700)]
Fix cmake warning about mismatched if/endif comment (dotnet/coreclr#11176)

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

7 years agoRemove PAL FileAlignment restriction (dotnet/coreclr#10959)
Steve MacLean [Mon, 24 Apr 2017 17:51:29 +0000 (13:51 -0400)]
Remove PAL FileAlignment restriction (dotnet/coreclr#10959)

* Remove PAL FileAlignment restriction

* Address PR dotnet/coreclr#10959 feedback

* Fix amd64 crossgen error

* Respond to review feedback

* Fix arm32 regression

* Prepare to remove VIRTUAL_PAGE_* from map.cpp

Also simplify previous section code

* Rename function to GetVirtualPageSize()

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

7 years ago[Local GC] Ensure that handle creation returns null on failure instead of throwing...
Sean Gillespie [Mon, 24 Apr 2017 17:44:25 +0000 (10:44 -0700)]
[Local GC] Ensure that handle creation returns null on failure instead of throwing (dotnet/coreclr#11092)

* [Local GC] Ensure that handle creation returns null on failure instead of throwing

* Fix some clang pedantry about jumping past variable initialization

* Throw OOM if initialization of handle store fails

* Perform the handle OOM check in each handle helper

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

7 years agodo not use = {nullptr} initialization. (dotnet/coreclr#11153)
Sergey Andreenko [Mon, 24 Apr 2017 16:39:25 +0000 (09:39 -0700)]
do not use = {nullptr} initialization. (dotnet/coreclr#11153)

It worked incorrectly on desktop.

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

7 years agoMerge pull request dotnet/coreclr#11169 from hseok-oh/ryujit/fix_11128
Bruce Forstall [Mon, 24 Apr 2017 15:43:37 +0000 (08:43 -0700)]
Merge pull request dotnet/coreclr#11169 from hseok-oh/ryujit/fix_11128

[ARM32/RyuJIT] Fix failure related with struct argument passing

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

7 years agoMerge pull request dotnet/coreclr#11091 from BruceForstall/BlockRefactor
Bruce Forstall [Mon, 24 Apr 2017 15:29:15 +0000 (08:29 -0700)]
Merge pull request dotnet/coreclr#11091 from BruceForstall/BlockRefactor

Refactoring: move some BasicBlock functions to block.cpp

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

7 years agoRyuJIT/ARM32: Enable arithmetic overflow checks.
Mikhail Skvortcov [Mon, 24 Apr 2017 11:10:20 +0000 (14:10 +0300)]
RyuJIT/ARM32: Enable arithmetic overflow checks.

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

7 years agoSupport FEATURE_DBGIPC override (dotnet/coreclr#11164)
Jonghyun Park [Mon, 24 Apr 2017 10:20:38 +0000 (19:20 +0900)]
Support FEATURE_DBGIPC override (dotnet/coreclr#11164)

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

7 years ago[x86/Linux] Remove unnecessary ResumeEsp field (dotnet/coreclr#11167)
Jonghyun Park [Mon, 24 Apr 2017 08:39:52 +0000 (17:39 +0900)]
[x86/Linux] Remove unnecessary ResumeEsp field (dotnet/coreclr#11167)

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

7 years ago[ARM32/RyuJIT] Fix failure related with struct argument passing
Hyeongseok Oh [Mon, 24 Apr 2017 08:34:47 +0000 (17:34 +0900)]
[ARM32/RyuJIT] Fix failure related with struct argument passing

Block using NYI_ARM when struct value split between registers and stack
Fix type assign error for struct slot

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

7 years ago[x86/Linux] Fix unmatched NESTED_END in CallEHFilterFunclet (dotnet/coreclr#11163)
Jonghyun Park [Mon, 24 Apr 2017 08:24:46 +0000 (17:24 +0900)]
[x86/Linux] Fix unmatched NESTED_END in CallEHFilterFunclet (dotnet/coreclr#11163)

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

7 years ago11106: Use RuntimeHelpers.IsReferenceOrContainsReferences in Dictionary.Remove method...
OmariO [Sun, 23 Apr 2017 20:35:24 +0000 (23:35 +0300)]
11106: Use RuntimeHelpers.IsReferenceOrContainsReferences in Dictionary.Remove methods (dotnet/coreclr#11158)

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

7 years agoSimplify emitter's RegEncoding
Mike Danes [Sat, 22 Apr 2017 13:41:56 +0000 (16:41 +0300)]
Simplify emitter's RegEncoding

VC++ does't recognize that `(c ? x - 16 : x) & 7` is just `x & 7` and we end up with 5 instructions instead of 1.

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

7 years agoMark GetGenerationWR2 as GCStressIncompatible across all platforms (dotnet/coreclr...
Sean Gillespie [Sat, 22 Apr 2017 11:41:32 +0000 (04:41 -0700)]
Mark GetGenerationWR2 as GCStressIncompatible across all platforms (dotnet/coreclr#11151)

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

7 years agoRemove destructor from GCEvent and instead rely on the OS to clean up (dotnet/coreclr...
Sean Gillespie [Sat, 22 Apr 2017 11:39:09 +0000 (04:39 -0700)]
Remove destructor from GCEvent and instead rely on the OS to clean up (dotnet/coreclr#11132)

* Remove destructor from GCEvent and instead rely on the OS to clean up

* Add a comment justifying the lack of destructor

* wording: many -> all

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

7 years agoTwo improvments for LCG jump stubs (dynamic methods): (dotnet/coreclr#9160)
Brian Sullivan [Sat, 22 Apr 2017 11:16:25 +0000 (04:16 -0700)]
Two improvments for LCG jump stubs (dynamic methods): (dotnet/coreclr#9160)

When requesting a jump stub block for LCG, ask for a block of 4 jump stubs instead of 32
    Enable caching and cache lookup for LCG jump stubs

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

7 years agoJIT: simple fix for the tail call stress assert
Andy Ayers [Sat, 22 Apr 2017 00:09:07 +0000 (17:09 -0700)]
JIT: simple fix for the tail call stress assert

If class handles match, the return types are compatible, no matter
what the jit types indicate.

Addresses dotnet/coreclr#10047.

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

7 years agoMove xplat minidump doc to botr. (dotnet/coreclr#11149)
Mike McLaughlin [Sat, 22 Apr 2017 00:01:01 +0000 (17:01 -0700)]
Move xplat minidump doc to botr. (dotnet/coreclr#11149)

Change default minidump type to MiniDumpWithPrivateReadWriteMemory.

Remove language about uploading triage dumps.

Turn off diagnostic output.

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

7 years agoMove CoreCLR to Preview2 (dotnet/coreclr#11146)
Gaurav Khanna [Fri, 21 Apr 2017 22:06:11 +0000 (15:06 -0700)]
Move CoreCLR to Preview2 (dotnet/coreclr#11146)

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

7 years agoMerge pull request dotnet/coreclr#11140 from AndyAyersMS/FixRunBenchmarks
Andy Ayers [Fri, 21 Apr 2017 21:53:57 +0000 (14:53 -0700)]
Merge pull request dotnet/coreclr#11140 from AndyAyersMS/FixRunBenchmarks

Update jit RunBenchmarks test to no longer use XPath

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

7 years agoMerge pull request dotnet/coreclr#11148 from wtgodbe/DisableCoreMangLib
William Godbe [Fri, 21 Apr 2017 20:43:07 +0000 (13:43 -0700)]
Merge pull request dotnet/coreclr#11148 from wtgodbe/DisableCoreMangLib

Disable DynMethodJumpStubTests test

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

7 years agoDisable DynMethodJumpStubTests test
wtgodbe [Fri, 21 Apr 2017 20:41:57 +0000 (13:41 -0700)]
Disable DynMethodJumpStubTests test

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

7 years agoMerge pull request dotnet/coreclr#11117 from briansull/zapsig-fix
Brian Sullivan [Fri, 21 Apr 2017 20:35:25 +0000 (13:35 -0700)]
Merge pull request dotnet/coreclr#11117 from briansull/zapsig-fix

ReadyToRun/Crossgen: Disable cross module generic instantiations from profile data

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

7 years agoMerge pull request dotnet/coreclr#11147 from dotnet/ReEnableHashCodeTest
William Godbe [Fri, 21 Apr 2017 20:04:02 +0000 (13:04 -0700)]
Merge pull request dotnet/coreclr#11147 from dotnet/ReEnableHashCodeTest

Re-enable Hashcode Test

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

7 years agoRe-enable Hashcode Test
William Godbe [Fri, 21 Apr 2017 20:03:52 +0000 (13:03 -0700)]
Re-enable Hashcode Test

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

7 years agoMerge pull request dotnet/coreclr#11144 from wtgodbe/DisableSomeTests
William Godbe [Fri, 21 Apr 2017 19:22:40 +0000 (12:22 -0700)]
Merge pull request dotnet/coreclr#11144 from wtgodbe/DisableSomeTests

Temporarily disable failing tests in Helix

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

7 years agoTemporarily disable failing tests in Helix
wtgodbe [Fri, 21 Apr 2017 19:22:18 +0000 (12:22 -0700)]
Temporarily disable failing tests in Helix

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

7 years agoUpdate jit RunBenchmarks test to no longer use XPath
Andy Ayers [Fri, 21 Apr 2017 18:53:00 +0000 (11:53 -0700)]
Update jit RunBenchmarks test to no longer use XPath

Rewrite to use linq-to-xml instead. Verified at least that this
can still parse the adjoining xml file. Also now able to crossgen
this test case.

Closes dotnet/coreclr#11082.

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

7 years agoMerge pull request dotnet/coreclr#11138 from wtgodbe/WrongCrossgen
William Godbe [Fri, 21 Apr 2017 18:49:11 +0000 (11:49 -0700)]
Merge pull request dotnet/coreclr#11138 from wtgodbe/WrongCrossgen

Copy Runtime-specific Crossgen to Core_Root

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

7 years agoCopy Runtime-specific Crossgen to Core_Root
wtgodbe [Fri, 21 Apr 2017 18:31:21 +0000 (11:31 -0700)]
Copy Runtime-specific Crossgen to Core_Root

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

7 years agoMerge pull request dotnet/coreclr#11055 from jorive/dev/xUnit-Performance-API
Drew Scoggins [Fri, 21 Apr 2017 17:16:01 +0000 (02:16 +0900)]
Merge pull request dotnet/coreclr#11055 from jorive/dev/xUnit-Performance-API

Improving robustness of the run-xunit-perf.cmd script.

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

7 years ago[x86/Linux] Correctly initialize nonVolRegPtrs in LazyMachState::unwindLazyState...
Jonghyun Park [Fri, 21 Apr 2017 15:51:12 +0000 (00:51 +0900)]
[x86/Linux] Correctly initialize nonVolRegPtrs in LazyMachState::unwindLazyState (dotnet/coreclr#10888)

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

7 years agoMark CharEnumerator as [Serializable] (dotnet/coreclr#11124)
Jan Kotas [Fri, 21 Apr 2017 15:44:43 +0000 (08:44 -0700)]
Mark CharEnumerator as [Serializable] (dotnet/coreclr#11124)

Fixes https://github.com/dotnet/corefx/issues/18704

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

7 years ago[x86/Linux] Fix pow of tryrun (dotnet/coreclr#11099)
SaeHie Park [Fri, 21 Apr 2017 14:28:07 +0000 (23:28 +0900)]
[x86/Linux] Fix pow of tryrun (dotnet/coreclr#11099)

x86/Linux has compatible math pow()
This will fix CoreFX System.Tests.MathFTests.Pow() failures

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

7 years agoAdd Marshal.GetExceptionPointers (dotnet/coreclr#11125)
Yi Zhang (CLR) [Fri, 21 Apr 2017 09:01:40 +0000 (02:01 -0700)]
Add Marshal.GetExceptionPointers (dotnet/coreclr#11125)

* Add Marshal.GetExceptionPointers

* Remove SecurityCritical

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

7 years ago[ARM32/RyuJIT] Argument passing for multireg struct (dotnet/coreclr#10846)
Hyeongseok Oh [Fri, 21 Apr 2017 06:13:02 +0000 (15:13 +0900)]
[ARM32/RyuJIT] Argument passing for multireg struct (dotnet/coreclr#10846)

* [Linux/ARM32] Enable fgMorphMultiregStructArgs

Enable fgMorphMultiregStructArgs: morph struct argument to GT_FILED_LIST when size <= 4
Cannot handle split struct that using register and stack

* Fix formatting

Fix formatting error

* Fix typo and commit with not added file

- Fix typo
- Commit with not added file: src/jit/compiler.h

* Fix formatting and build error

* Fix comment and block using NYI macro

- Fix comment
- Block using NYI when struct passed by value can be split between registers and stack

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

7 years ago[x86/Linux] Relax inst_JMP assert condition (dotnet/coreclr#11062)
Jonghyun Park [Fri, 21 Apr 2017 05:42:25 +0000 (14:42 +0900)]
[x86/Linux] Relax inst_JMP assert condition (dotnet/coreclr#11062)

* [x86/Linux] Do NOT use exception-throwing block on ESP framed method

* Fix format error

* Relax assert condition

* Fix format error

* Revert changes in codegencommon.cpp

* Add parentheses

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

7 years agoMerge pull request dotnet/coreclr#11024 from dotnet-bot/master-UpdateDependencies
William Godbe [Fri, 21 Apr 2017 05:04:29 +0000 (22:04 -0700)]
Merge pull request dotnet/coreclr#11024 from dotnet-bot/master-UpdateDependencies

Update CoreClr, CoreFx to preview1-25221-01, preview1-25221-01, respectively (master)

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

7 years agoUpdate CoreClr, CoreFx to preview1-25221-01, preview1-25221-01, respectively
dotnet-bot [Fri, 21 Apr 2017 02:27:34 +0000 (02:27 +0000)]
Update CoreClr, CoreFx to preview1-25221-01, preview1-25221-01, respectively

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

7 years agoUpdate StringBuilder.AppendJoin to approved API (dotnet/coreclr#11059)
Joseph Musser [Fri, 21 Apr 2017 01:54:30 +0000 (21:54 -0400)]
Update StringBuilder.AppendJoin to approved API  (dotnet/coreclr#11059)

* Updated StringBuilder.AppendJoin to approved API

* Organized StringBuilder.AppendJoin overloads

* Added ThrowHelper, removed Contract.Ensures

* Inline array accesses

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

7 years agoEnable corerun to select Globalization Invariant mode (dotnet/coreclr#11097)
SaeHie Park [Fri, 21 Apr 2017 01:46:30 +0000 (10:46 +0900)]
Enable corerun to select Globalization Invariant mode (dotnet/coreclr#11097)

* Enable corerun to select Globalization Invariant mode

* Support 'true' also

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

7 years agoFix R2R workaround for Diasymreader (dotnet/coreclr#11116)
Gaurav Khanna [Thu, 20 Apr 2017 23:26:17 +0000 (16:26 -0700)]
Fix R2R workaround for Diasymreader (dotnet/coreclr#11116)

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

7 years agoInline List.Clear (dotnet/coreclr#11104)
Ben Adams [Thu, 20 Apr 2017 22:58:31 +0000 (23:58 +0100)]
Inline List.Clear (dotnet/coreclr#11104)

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

7 years agoWhen we have profile data we can have cross module references in our ZapSig's when...
Brian Sullivan [Thu, 20 Apr 2017 22:53:19 +0000 (15:53 -0700)]
When we have profile data we can have cross module references in our ZapSig's when building ReadyToRun images.
We should return a null TypeHandle to indicate failure so that we don't attempt to add generic types/methods
that have cross module references.  (i.e. MyList<System.Guid> )

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

7 years agoFixing Delegate's hash code's distribution (dotnet/coreclr#11019)
Peter Smulovics [Thu, 20 Apr 2017 22:46:39 +0000 (18:46 -0400)]
Fixing Delegate's hash code's distribution (dotnet/coreclr#11019)

Delegate's GetHashCode just returns the hash code of the delegate type. For a scenario where delegates are used as keys in a dictionary, this leads to obvious performance problems. We should look at coming up with a better GetHashCode that properly factors in the target object and method, in all of the various forms a delegate can take.

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

7 years agoMerge pull request dotnet/coreclr#11115 from wtgodbe/readytoruntests
William Godbe [Thu, 20 Apr 2017 22:35:26 +0000 (15:35 -0700)]
Merge pull request dotnet/coreclr#11115 from wtgodbe/readytoruntests

Move readytorun tests into directory one level deeper

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

7 years agoMerge pull request dotnet/coreclr#11033 from adityamandaleeka/handle_table_local_gc_store
Aditya Mandaleeka [Thu, 20 Apr 2017 21:20:22 +0000 (14:20 -0700)]
Merge pull request dotnet/coreclr#11033 from adityamandaleeka/handle_table_local_gc_store

Move handle object manipulation functions to interface

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

7 years agoMove readytorun tests into directory one level deeper
wtgodbe [Thu, 20 Apr 2017 20:49:57 +0000 (13:49 -0700)]
Move readytorun tests into directory one level deeper

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

7 years agoMerge pull request dotnet/coreclr#11020 from adiaaida/hardenPerf
Michelle McDaniel [Thu, 20 Apr 2017 20:14:54 +0000 (13:14 -0700)]
Merge pull request dotnet/coreclr#11020 from adiaaida/hardenPerf

Strip quotes out of BenchviewCommitName

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

7 years agoRename CompareAndSwap to InterlockedCompareExchange.
Aditya Mandaleeka [Thu, 20 Apr 2017 19:42:30 +0000 (12:42 -0700)]
Rename CompareAndSwap to InterlockedCompareExchange.

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

7 years agoMerge pull request dotnet/coreclr#11086 from wtgodbe/SecurityPermissions
William Godbe [Thu, 20 Apr 2017 18:44:13 +0000 (11:44 -0700)]
Merge pull request dotnet/coreclr#11086 from wtgodbe/SecurityPermissions

Add dependency on System.Security.Permissions

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

7 years agoAdd dependency on System.Security.Permissions
wtgodbe [Wed, 19 Apr 2017 23:01:03 +0000 (16:01 -0700)]
Add dependency on System.Security.Permissions

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

7 years agoAdd the Linux minidump support documentation (dotnet/coreclr#11087)
Mike McLaughlin [Thu, 20 Apr 2017 17:13:45 +0000 (10:13 -0700)]
Add the Linux minidump support documentation (dotnet/coreclr#11087)

Add the Linux minidump support documentation

One minor fix to createdump.

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

7 years agoUse C++ ranged 'for' for AllSuccessorIter use
Bruce Forstall [Tue, 18 Apr 2017 00:13:25 +0000 (17:13 -0700)]
Use C++ ranged 'for' for AllSuccessorIter use

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

7 years ago[x86/Linux] Use CDECL as STDAPICALLTYPE (dotnet/coreclr#10969)
Jonghyun Park [Thu, 20 Apr 2017 16:05:51 +0000 (01:05 +0900)]
[x86/Linux] Use CDECL as STDAPICALLTYPE (dotnet/coreclr#10969)

* [x86/Linux] Use CDECL as STDAPICALLTYPE

* Use system default calling convention for internal functions

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

7 years agoStrip quotes out of BenchviewCommitName
Michelle McDaniel [Mon, 17 Apr 2017 16:39:00 +0000 (09:39 -0700)]
Strip quotes out of BenchviewCommitName

When we pass the name of the pr to submission-metadata.py, we need the
name of the pr to not include quotes, or submission-metadata.py will fail
because it has the "wrong" parameters (because parts of the name are no
longer quoted). This change strips quotation marks out of the benchview
commit name to harden against this kind of failure.

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

7 years ago[x86/Linux] fix a problem that stack was broken by changing stdcall to cdecl in case...
ragmani [Thu, 20 Apr 2017 14:39:54 +0000 (23:39 +0900)]
[x86/Linux] fix a problem that stack was broken by changing stdcall to cdecl in case of readytorun. (dotnet/coreclr#11063)

* [x86/Linux] fix a problem that stack was broken by changing stdcall to cdecl in case of readytorun.

add DynamicHelperArgsStub and change jmp to call.

* [x86/Linux] set cfi_def_cfa_offset of DynamicHelperArgsStub to 16.

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

7 years agoMerge pull request dotnet/coreclr#11083 from AndyAyersMS/FixNonDevUseOfCheckProjects
Andy Ayers [Thu, 20 Apr 2017 00:21:23 +0000 (17:21 -0700)]
Merge pull request dotnet/coreclr#11083 from AndyAyersMS/FixNonDevUseOfCheckProjects

Update CheckProjects to not fail for non-dev CORE_ROOT

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

7 years agoRefactoring: move some BasicBlock functions to block.cpp
Bruce Forstall [Wed, 19 Apr 2017 23:49:07 +0000 (16:49 -0700)]
Refactoring: move some BasicBlock functions to block.cpp

(where they belong)

Delete unused containsStatement().

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

7 years agoMerge pull request dotnet/coreclr#11081 from mikedn/static-noway
Bruce Forstall [Wed, 19 Apr 2017 23:19:08 +0000 (16:19 -0700)]
Merge pull request dotnet/coreclr#11081 from mikedn/static-noway

Convert some noway_assert to static_assert

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

7 years agoAllow to run all benchmarks and even upload, but fail the job.
José Rivero [Wed, 19 Apr 2017 23:17:35 +0000 (16:17 -0700)]
Allow to run all benchmarks and even upload, but fail the job.

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

7 years agoAdd LinkBench to CoreCLR BenchView
Swaroop Sridhar [Fri, 14 Apr 2017 03:12:00 +0000 (20:12 -0700)]
Add LinkBench to CoreCLR BenchView

This change adds Linker tests as scenario tests tracked in
BenchView for CoreCLR benchmarks.

The Benchmarks added are:
HelloWorld, WebAPI, CoreFx, MusicStore (MSIL and ReadyToRun), Roslyn.

The metrics are:
MSIL size before and after ILLINK
Total publish-dir size before and after ILLINK
% Reduction in MSIL and Total dir-size after linking.

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

7 years agoMove ResetOBJECTHANDLE and the associated holder to the VM side.
Aditya Mandaleeka [Wed, 19 Apr 2017 22:18:57 +0000 (15:18 -0700)]
Move ResetOBJECTHANDLE and the associated holder to the VM side.

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

7 years agoMerge pull request dotnet/coreclr#11077 from pgavlin/gh10940
Pat Gavlin [Wed, 19 Apr 2017 22:16:26 +0000 (15:16 -0700)]
Merge pull request dotnet/coreclr#11077 from pgavlin/gh10940

Spill side-effects in impAssignMultiRegTypeToVar.

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

7 years agoAdd NUMA and thread affinity support for Unix (dotnet/coreclr#10938)
Jan Vorlicek [Wed, 19 Apr 2017 22:13:30 +0000 (15:13 -0700)]
Add NUMA and thread affinity support for Unix (dotnet/coreclr#10938)

* Add NUMA and thread affinity support for Unix

This change adds new PAL functions for NUMA and thread affinity support
for Unix and also enables related code in GC and VM for FEATURE_PAL.

It doesn't reflect the limits imposed by CGROUPS on systems with
CGROUPS enables yet.

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

7 years agoMerge pull request dotnet/coreclr#10257 from jashook/reflection_invoke_arm64
Jarret Shook [Wed, 19 Apr 2017 22:07:28 +0000 (15:07 -0700)]
Merge pull request dotnet/coreclr#10257 from jashook/reflection_invoke_arm64

[Arm64] For reflection invoke, use ArgLocDesc

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

7 years agoMerge pull request dotnet/coreclr#11085 from wtgodbe/SkipTests
William Godbe [Wed, 19 Apr 2017 22:05:26 +0000 (15:05 -0700)]
Merge pull request dotnet/coreclr#11085 from wtgodbe/SkipTests

Skip failing tests in Helix

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

7 years agoSkip failing tests in Helix
wtgodbe [Wed, 19 Apr 2017 22:04:46 +0000 (15:04 -0700)]
Skip failing tests in Helix

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

7 years agoUpdate CheckProjects to not fail for non-dev CORE_ROOT
Andy Ayers [Wed, 19 Apr 2017 21:07:24 +0000 (14:07 -0700)]
Update CheckProjects to not fail for non-dev CORE_ROOT

CheckProjects expects to be able to find the jit test project files
relative to the value of the `CORE_ROOT` environment variable. This
fails when we have test setups like cross-tests or helix where the
test binary tree has been copied away from the repo after building.

Tolerate these cases by returning a success code if the `CORE_ROOT`
path is not pointing at the expected place.

Fixes dotnet/coreclr#11079.
Fixes dotnet/coreclr#10635.

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

7 years agoConvert some noway_assert to static_assert
Mike Danes [Wed, 19 Apr 2017 21:06:40 +0000 (00:06 +0300)]
Convert some noway_assert to static_assert

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

7 years ago[x86/Linux] Corretly pop args after unmanaged function call (dotnet/coreclr#11007)
Jonghyun Park [Wed, 19 Apr 2017 20:50:56 +0000 (05:50 +0900)]
[x86/Linux] Corretly pop args after unmanaged function call (dotnet/coreclr#11007)

* [x86/Linux] Corretly pop args after unmanaged function call

* Fix x86/Windows build error

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

7 years agoAdd a regression test.
Pat Gavlin [Wed, 19 Apr 2017 20:38:05 +0000 (13:38 -0700)]
Add a regression test.

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

7 years agoMerge pull request dotnet/coreclr#11049 from briansull/fixMaxOffset
Brian Sullivan [Wed, 19 Apr 2017 19:33:20 +0000 (12:33 -0700)]
Merge pull request dotnet/coreclr#11049 from briansull/fixMaxOffset

Fix incorrect test of structSize during struct promotion

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

7 years agoAdd test coverage for Rank 1 multidimensional arrays (dotnet/coreclr#11034)
Michal Strehovský [Wed, 19 Apr 2017 19:01:57 +0000 (12:01 -0700)]
Add test coverage for Rank 1 multidimensional arrays (dotnet/coreclr#11034)

These have some weird behaviors worth covering.

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

7 years agoIBC: Disable `-partialNGEN -minify` for SPC.dll (dotnet/coreclr#10950)
Daniel Podder [Wed, 19 Apr 2017 18:59:58 +0000 (13:59 -0500)]
IBC: Disable `-partialNGEN -minify` for SPC.dll (dotnet/coreclr#10950)

Add some fixes around the use of IBCMerge in CoreCLR, along with a BuildTools patch (which the fixes are dependent upon):
* don't restore the default optdata package through BuildTools
* don't use partial ngen by default in CoreCLR for SPC.dll

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

7 years agoSpill side-effects in impAssignMultiRegTypeToVar.
Pat Gavlin [Wed, 19 Apr 2017 18:26:46 +0000 (11:26 -0700)]
Spill side-effects in impAssignMultiRegTypeToVar.

This importer function converts IR from the form

    tree

to
            /- tree
    STMT - =
            \- lclVar

in order to conform to the JIT's representation of multi-register values.
Today, it does not check whether or not the tree being spilled has any
side-effects that may interfere with the side-effects of trees that are
already on the evaluation stack, which can lead to bad codegen. This
change fixes this function to spill any side-effects on the stack
before generating the temp assign.

Fixes dotnet/coreclr#10940.

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

7 years agoMerge pull request dotnet/coreclr#11044 from alpencolt/ryu-arm-localloc-subs-fix
Bruce Forstall [Wed, 19 Apr 2017 18:25:35 +0000 (11:25 -0700)]
Merge pull request dotnet/coreclr#11044 from alpencolt/ryu-arm-localloc-subs-fix

[RyuJIT/ARM32] Use 'subs' instead of 'sub' on localloc

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

7 years agoMerge pull request dotnet/coreclr#11070 from stephentoub/add_stat_fields
Stephen Toub [Wed, 19 Apr 2017 17:44:12 +0000 (13:44 -0400)]
Merge pull request dotnet/coreclr#11070 from stephentoub/add_stat_fields

Add Dev/Ino fields to Interop.Sys.FileStatus

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

7 years agoFor Reflection invoke, use ArgLocDesc
jashook [Wed, 19 Apr 2017 17:03:13 +0000 (10:03 -0700)]
For Reflection invoke, use ArgLocDesc

For arm64 if the struct needs to be passed in registers, then pass
that information along when we do the reflection invoke.

Note this adds more test cases for passing different struct types via reflection.
I am guessing similar work would need to be done for Arm32.

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

7 years agoChange ICLRRuntimeHost2 to ICLRRuntimeHost4 for Windows corerun. (dotnet/coreclr...
Jim Ma [Wed, 19 Apr 2017 16:39:23 +0000 (16:39 +0000)]
Change ICLRRuntimeHost2 to ICLRRuntimeHost4 for Windows corerun. (dotnet/coreclr#10967)

* Change ICLRRuntimeHost2 to ICLRRuntimeHost4 for Windows corerun.

Since we've introduced ICLRRuntimeHost4 in PR dotnet/coreclr#10842 for Unix, we apply it for Windows corerun as well.

Fix dotnet/coreclr#10960

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

7 years agoStop running all tests on first failure, if the run is private or rolling.
José Rivero [Wed, 19 Apr 2017 15:49:19 +0000 (08:49 -0700)]
Stop running all tests on first failure, if the run is private or rolling.

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

7 years agoStop treating test files as executable and fix encoding (dotnet/coreclr#11065)
Yi Zhang (CLR) [Wed, 19 Apr 2017 15:37:44 +0000 (08:37 -0700)]
Stop treating test files as executable and fix encoding (dotnet/coreclr#11065)

* change encoding to UTF-8

* change line ending to UNIX

* remove executable attribute

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

7 years agoAdd Dev/Ino fields to Interop.Sys.FileStatus
Stephen Toub [Wed, 19 Apr 2017 15:20:42 +0000 (11:20 -0400)]
Add Dev/Ino fields to Interop.Sys.FileStatus

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