platform/upstream/dotnet/runtime.git
8 years agoFix Arm64 build breaks
Carol Eidt [Tue, 6 Sep 2016 19:39:29 +0000 (12:39 -0700)]
Fix Arm64 build breaks

The `GT_STORE_OBJ` case in codegen was missing a break.
`getStructHandleIfPresent` wasn't correctly handling `GT_ASG'.
The `srcCount` was not being set correctly for block ops with a constant size.
And I lost some code in `fgMakeTmpArgNode` with a merge.
Also, I had introduced a dumping issue in gentree.cpp when I made `GT_OBJ` a `GTK_UNOP` as a result of some PR comments.

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

8 years agoMove genIncRegBy() to codegenclassic.h (dotnet/coreclr#7063)
Hyung-Kyu Choi [Tue, 6 Sep 2016 17:13:31 +0000 (02:13 +0900)]
Move genIncRegBy() to codegenclassic.h (dotnet/coreclr#7063)

We don't have to keep genIncRegBy() in codegen.h anymore,
since genIncRegBy() is defined in codegenlegacy.cpp and only used in LEGACY_BACKEND code.

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/527edfc09a2bd1060bd66fcce1fc99932a332645

8 years ago[ARM] Remove ARM_HAZARD_AVOIDANCE (dotnet/coreclr#7019)
Hanjoung Lee [Tue, 6 Sep 2016 16:42:03 +0000 (01:42 +0900)]
[ARM] Remove ARM_HAZARD_AVOIDANCE (dotnet/coreclr#7019)

remove `ARM_HAZARD_AVOIDANCE` as it is a rare case.

For dotnet/coreclr#7003

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

8 years agoEnable FEATURE_JIT_METHOD_PERF always (even when FEATURE_CORECLR is on). (dotnet...
Peter Kukol [Tue, 6 Sep 2016 16:21:13 +0000 (10:21 -0600)]
Enable FEATURE_JIT_METHOD_PERF always (even when FEATURE_CORECLR is on). (dotnet/coreclr#7028)

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

8 years agoAdd proper support for custom installed llvm tool chain. (dotnet/coreclr#7050)
Sung-Jae Lee [Tue, 6 Sep 2016 15:45:33 +0000 (00:45 +0900)]
Add proper support for custom installed llvm tool chain. (dotnet/coreclr#7050)

* Add LLVM_HOME enviroment variable support

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

8 years agofix helpers' flag: ULDiv, ULMod can throw Div-by-zero exception (dotnet/coreclr#7052)
Hyeongseok Oh [Tue, 6 Sep 2016 15:43:39 +0000 (00:43 +0900)]
fix helpers' flag: ULDiv, ULMod can throw Div-by-zero exception (dotnet/coreclr#7052)

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

8 years agoArraySegment<T> exceptions to ThrowHelper (dotnet/coreclr#7058)
Ben Adams [Tue, 6 Sep 2016 14:23:37 +0000 (15:23 +0100)]
ArraySegment<T> exceptions to ThrowHelper (dotnet/coreclr#7058)

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

8 years agoExclude two more tests for ARM (dotnet/coreclr#7062)
Hyung-Kyu Choi [Tue, 6 Sep 2016 14:21:11 +0000 (23:21 +0900)]
Exclude two more tests for ARM (dotnet/coreclr#7062)

According to issue dotnet/coreclr#6217, following three tests fails
, because FEATURE_FASTTAILCALL is not supported in ARM.

  JIT/Directed/tailcall/tailcall/tailcall.sh
  JIT/Methodical/tailcall_v4/hijacking/hijacking.sh
  JIT/Regression/JitBlue/devdiv_902271/DevDiv_902271/DevDiv_902271.sh

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/fc4444c02ceb7cceaee4fbbfd580fcc851a147f0

8 years agoAllow mapping LCID and culture names mapping for neutral culture (dotnet/coreclr...
Tarek Mahmoud Sayed [Mon, 5 Sep 2016 19:13:23 +0000 (12:13 -0700)]
Allow mapping LCID and culture names mapping for neutral culture (dotnet/coreclr#7049)

This change is to pass the flag LOCALE_ALLOW_NEUTRAL_NAMES to the OS API to allow mapping
LCID to/from culture names.

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

8 years agoImprove ThrowHelper (dotnet/coreclr#7048)
Ben Adams [Mon, 5 Sep 2016 03:34:28 +0000 (04:34 +0100)]
Improve ThrowHelper (dotnet/coreclr#7048)

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

8 years agoMerge pull request dotnet/coreclr#7027 from CarolEidt/1stClassStructBlkOps
Carol Eidt [Sun, 4 Sep 2016 23:42:04 +0000 (16:42 -0700)]
Merge pull request dotnet/coreclr#7027 from CarolEidt/1stClassStructBlkOps

1st Class Struct Block Assignments

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

8 years agoMerge pull request dotnet/coreclr#7015 from ramarag/fixup_precode
Rama krishnan Raghupathy [Sat, 3 Sep 2016 04:56:43 +0000 (21:56 -0700)]
Merge pull request dotnet/coreclr#7015 from ramarag/fixup_precode

Implement FixupPrecode for Arm64

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

8 years agoImplement FixupPrecode for Arm64
Rama Krishnan Raghupathy [Wed, 31 Aug 2016 23:55:28 +0000 (16:55 -0700)]
Implement FixupPrecode for Arm64

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

8 years agoMore PR comments
Carol Eidt [Fri, 2 Sep 2016 23:28:31 +0000 (16:28 -0700)]
More PR comments

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

8 years agoReduce item format allocations in AppendFormat (dotnet/coreclr#4702)
Bruce Bowyer-Smyth [Fri, 2 Sep 2016 22:48:57 +0000 (08:48 +1000)]
Reduce item format allocations in AppendFormat (dotnet/coreclr#4702)

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

8 years agoMerge pull request dotnet/coreclr#6976 from kvochko/prof_elt_callbacks
Rahul Kumar [Fri, 2 Sep 2016 21:00:58 +0000 (14:00 -0700)]
Merge pull request dotnet/coreclr#6976 from kvochko/prof_elt_callbacks

Enable FunctionEnter/FunctionLeave callbacks on ARM

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

8 years agoMerge pull request dotnet/coreclr#7041 from mmitche/add-help-job
Matt Mitchell [Fri, 2 Sep 2016 18:29:56 +0000 (11:29 -0700)]
Merge pull request dotnet/coreclr#7041 from mmitche/add-help-job

Add help job

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

8 years agoAdd help job
Matt Mitchell [Fri, 2 Sep 2016 18:11:18 +0000 (11:11 -0700)]
Add help job

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

8 years agoRestore the change to gtNewBlkOpNode
Carol Eidt [Fri, 2 Sep 2016 14:53:11 +0000 (07:53 -0700)]
Restore the change to gtNewBlkOpNode

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

8 years agoLTO build: fix perf regression from strict alias violation and incorrect inline assem...
kchoi [Fri, 2 Sep 2016 11:00:41 +0000 (04:00 -0700)]
LTO build: fix perf regression from strict alias violation and incorrect inline assembly (dotnet/coreclr#7018)

Fix inline assembly implementation of getextcpuid() and strict aliasing violations in its callers

The implementation writes to the unsigned char result array, so
the clobber "memory" is needed.

As well its callers have strict aliasing violations from reading the
result array as a DWORD array. The fix is to memcpy the resulting
buffer onto the DWORD array.

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

8 years agoEnabled FunctionEnter/FunctionLeave hooks on ARM (dotnet/coreclr#6939)
Andrey Kvochko [Fri, 26 Aug 2016 16:57:51 +0000 (19:57 +0300)]
Enabled FunctionEnter/FunctionLeave hooks on ARM (dotnet/coreclr#6939)

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

8 years agoMore PR Feedback
Carol Eidt [Fri, 2 Sep 2016 04:27:46 +0000 (21:27 -0700)]
More PR Feedback

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

8 years agoImprove StringBuilder ctor(), ctor(int), and ToString() performance. Consistent chang...
Bruce Bowyer-Smyth [Fri, 2 Sep 2016 01:25:53 +0000 (11:25 +1000)]
Improve StringBuilder ctor(), ctor(int), and ToString() performance. Consistent changes in other functions. (dotnet/coreclr#7029)

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

8 years agoMerge pull request dotnet/coreclr#7032 from mmitche/make-triggers-non-default
Matt Mitchell [Thu, 1 Sep 2016 23:11:09 +0000 (16:11 -0700)]
Merge pull request dotnet/coreclr#7032 from mmitche/make-triggers-non-default

Changing new perf.groovy triggers to be non-default

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

8 years agoChanging new perf.groovy triggers to be non-default
Matt Mitchell [Thu, 1 Sep 2016 23:10:04 +0000 (16:10 -0700)]
Changing new perf.groovy triggers to be non-default

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

8 years agoAddress PR Feedback
Carol Eidt [Thu, 1 Sep 2016 22:48:01 +0000 (15:48 -0700)]
Address PR Feedback

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

8 years agoImprove ToUpper/ToLower perf (dotnet/coreclr#7026)
Jan Kotas [Thu, 1 Sep 2016 21:26:48 +0000 (14:26 -0700)]
Improve ToUpper/ToLower perf (dotnet/coreclr#7026)

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

8 years agoMake Lazy initialization of TextInfo::m_IsAsciiCasingSameAsInvariant thread safe...
Jose Manuel Heredia Hidalgo [Thu, 1 Sep 2016 21:24:22 +0000 (14:24 -0700)]
Make Lazy initialization of TextInfo::m_IsAsciiCasingSameAsInvariant thread safe (dotnet/coreclr#7021)

Replace bool? with Tristate enum to make it thread safe. Also use Tristate instead of TurkishCasing enum

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

8 years agoMerge pull request dotnet/coreclr#6978 from adiaaida/fixFormat
Michelle McDaniel [Thu, 1 Sep 2016 20:20:56 +0000 (13:20 -0700)]
Merge pull request dotnet/coreclr#6978 from adiaaida/fixFormat

Fix format.py

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

8 years agoFix format.py
Michelle McDaniel [Tue, 30 Aug 2016 16:52:13 +0000 (09:52 -0700)]
Fix format.py

In format.py, we were downloading bootstrap.sh/cmd to the current working
directory, but assuming that it was in coreclr/bootstrap, which is
incorrect. This change downloads it directly to coreclr/bootstrap, so that
we download and run to the same location.

This change also modifies where we install the newer version of dotnetcli
needed for jitutils to the coreclr/dotnetcli-jitutils directory. This
change is necessary because build.cmd->run.cmd->init-tools.cmd removes the
Tools directory, including our dotnetcli directory, so we don't want our
version of the cli to be trashed.

We also clean up our work at the end of the script by removing the
created jitutils and dotnetcli directories, and the bootstrap script.

Finally, this change adds some comments to tell the user what it's doing.

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

8 years ago1st Class Struct Block Assignments
Carol Eidt [Thu, 21 Jul 2016 06:07:32 +0000 (23:07 -0700)]
1st Class Struct Block Assignments

Change block ops to assignments, with block nodes (GT_BLK, GT_OBJ and GT_DYN_BLK) as the lhs, and with GT_STORE_* in the backend.
For this initial change, existing behavior is preserved as much as possible, with a few differences in lea generation for SIMD types.
This causes pessimization in some areas; those, as well as the additional opportunities that can be enabled after this change, have all been marked TODO-1stClassStructs.

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

8 years agoGlobalization update from CoreRT - part 2 (dotnet/coreclr#7020)
Jan Kotas [Thu, 1 Sep 2016 17:57:04 +0000 (10:57 -0700)]
Globalization update from CoreRT - part 2 (dotnet/coreclr#7020)

- Persian calendar date formatting
- Fix IsPrefix handling of empty strings
- Formatting changes

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

8 years agoMerge pull request dotnet/coreclr#7025 from dotnet/revert-6994-replace_which_with_hash
Jan Kotas [Thu, 1 Sep 2016 17:56:37 +0000 (10:56 -0700)]
Merge pull request dotnet/coreclr#7025 from dotnet/revert-6994-replace_which_with_hash

Revert "Avoid using 'which' for verifying prereqs"

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

8 years agoRevert "Avoid using 'which' for verifying prereqs"
Jan Kotas [Thu, 1 Sep 2016 16:15:22 +0000 (09:15 -0700)]
Revert "Avoid using 'which' for verifying prereqs"

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

8 years agoMerge pull request dotnet/coreclr#7024 from pgavlin/RunTestFix
Pat Gavlin [Thu, 1 Sep 2016 16:11:26 +0000 (09:11 -0700)]
Merge pull request dotnet/coreclr#7024 from pgavlin/RunTestFix

Pass /p:Platform to msbuild in runtest.cmd.

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

8 years agoMerge pull request dotnet/coreclr#7014 from pgavlin/TestBuildSpeedup
Pat Gavlin [Thu, 1 Sep 2016 14:22:29 +0000 (07:22 -0700)]
Merge pull request dotnet/coreclr#7014 from pgavlin/TestBuildSpeedup

Stop groveling for project.json files when building every test.

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

8 years agoPass /p:Platform to msbuild in runtest.cmd.
Pat Gavlin [Thu, 1 Sep 2016 13:09:54 +0000 (06:09 -0700)]
Pass /p:Platform to msbuild in runtest.cmd.

Otherwise, the tests will use the ambient setting of the Platform
variable, which might not match the architecture specified on the
command line. This results in the wrong build of the tests running
against the correct runtime, which e.g. causes failures in tests
with native components.

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

8 years agoMerge pull request dotnet/coreclr#7013 from swaroop-sridhar/PtrStruct
Swaroop Sridhar [Thu, 1 Sep 2016 04:15:56 +0000 (21:15 -0700)]
Merge pull request dotnet/coreclr#7013 from swaroop-sridhar/PtrStruct

GcInfo: Report Struct containing one GcPointer correctly

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

8 years agoGcInfo: Report Struct containing one GcPointer correctly
Swaroop Sridhar [Wed, 31 Aug 2016 23:04:30 +0000 (16:04 -0700)]
GcInfo: Report Struct containing one GcPointer correctly

This change fixes a bug in the the GcInfo header,
where the ReturnKind is reported incorrectly for certain structs.

Structs that contain only one GCPointer or ByRef, can be returned
in a single register (Windows/Unix/OSX). The ReturnKind for these
struct-returns should be RT_Object/RT_ByRef, but they are currently
incorrectly reported as RT_Scalar. This change fixes the problem.

Fixes: dotnet/corefxdotnet/coreclr#11260

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

8 years agoMerge pull request dotnet/coreclr#6807 from lemmaa/add-options-for-arm-target-test
Aditya Mandaleeka [Thu, 1 Sep 2016 01:24:08 +0000 (18:24 -0700)]
Merge pull request dotnet/coreclr#6807 from lemmaa/add-options-for-arm-target-test

[Linux/ARM/Script] Add some features help for arm target test

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

8 years agoUpdate Unix System.Globalization implementation from CoreRT (dotnet/coreclr#7004)
Jan Kotas [Thu, 1 Sep 2016 00:21:40 +0000 (17:21 -0700)]
Update Unix System.Globalization implementation from CoreRT (dotnet/coreclr#7004)

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

8 years agoStop groveling for project.json files when building every test.
Pat Gavlin [Wed, 31 Aug 2016 23:51:58 +0000 (16:51 -0700)]
Stop groveling for project.json files when building every test.

This information is only needed by build.proj. Do not compute it in dir.props,
which is included by every test project.

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

8 years agoMerge pull request dotnet/coreclr#7010 from dotnet-bot/from-tfs
Jan Kotas [Wed, 31 Aug 2016 22:24:46 +0000 (15:24 -0700)]
Merge pull request dotnet/coreclr#7010 from dotnet-bot/from-tfs

Merge changes from TFS

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

8 years agoMerge pull request dotnet/coreclr#6772 from mellinoe/fix-build-packages
Eric Mellino [Wed, 31 Aug 2016 21:47:07 +0000 (14:47 -0700)]
Merge pull request dotnet/coreclr#6772 from mellinoe/fix-build-packages

Specify packages.builds by default in build-packages command

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

8 years agoMerge pull request dotnet/coreclr#6552 from pgavlin/RemovePreRationalizeLiveness
Pat Gavlin [Wed, 31 Aug 2016 21:23:32 +0000 (14:23 -0700)]
Merge pull request dotnet/coreclr#6552 from pgavlin/RemovePreRationalizeLiveness

Do not run local var liveness before rationalize.

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

8 years agoMerge pull request dotnet/coreclr#5884 from mikedn/x86-addsub-long
Pat Gavlin [Wed, 31 Aug 2016 21:04:15 +0000 (14:04 -0700)]
Merge pull request dotnet/coreclr#5884 from mikedn/x86-addsub-long

Fix add/sub decomposition

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

8 years agoMerge pull request dotnet/coreclr#7009 from BruceForstall/PrintErrorForFuncInfoFailure
Bruce Forstall [Wed, 31 Aug 2016 19:59:14 +0000 (12:59 -0700)]
Merge pull request dotnet/coreclr#7009 from BruceForstall/PrintErrorForFuncInfoFailure

Print an error, in DEBUG, if we fail to open the JitFuncInfoLogFile

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

8 years agoMerge pull request dotnet/coreclr#6943 from mellinoe/fedora-24
Eric Mellino [Wed, 31 Aug 2016 19:36:37 +0000 (12:36 -0700)]
Merge pull request dotnet/coreclr#6943 from mellinoe/fedora-24

Add fedora24 native packages

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

8 years agoFix funceval of a function returning 16 byte value type. (dotnet/coreclr#6997)
Mike McLaughlin [Wed, 31 Aug 2016 19:27:12 +0000 (12:27 -0700)]
Fix funceval of a function returning 16 byte value type. (dotnet/coreclr#6997)

On Linux and OS X, structs less or equal to 16 bytes (instead of 8 bytes
on Windows) are enregistered. Only 8 bytes is being passed back to
debugger during a funceval of a property or method that returns a 16
byte value type.

To fix this, the 16 byte return value (which is only used for enregistered
structures of that size on xplat) needed to be plumbed from CallTargetWorker
through the MethodDescCallSite macros to the func eval code.

The func eval code needed to also deal with 16 byte results.

NUMBER_RETURNVALUE_SLOTS is the number of ARG_SLOTs that will contain the
maximum enregistered return value.

CordbEval:m_result is now ARG_SLOT[NUMBER_RETURNVALUE_SLOTS].

CallTargetWorker is now passed a pointer and the count of bytes to/of the
return value buffer.

Minor fix to SOS SymbolReader function.

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

8 years agoAvoid using 'which' for verifying prereqs (dotnet/coreclr#6994)
Aditya Mandaleeka [Wed, 31 Aug 2016 19:01:28 +0000 (12:01 -0700)]
Avoid using 'which' for verifying prereqs (dotnet/coreclr#6994)

* Use hash instead of which in build.sh

* Use hash instead of which in init-tools.sh.

* Use hash instead of which in gen-buildsys-clang.sh.

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

8 years agoFix dotnet/coreclr#6893. (dotnet/coreclr#6932)
Pat Gavlin [Wed, 31 Aug 2016 17:56:11 +0000 (10:56 -0700)]
Fix dotnet/coreclr#6893. (dotnet/coreclr#6932)

Aggregate arguments to calls (i.e. arguments that are made up
of multiple, independent values such as those to be passed in
multiple registers) are represented by GT_LIST nodes that are
not distiguishable from normal GT_LIST nodes without the extra
context of the call. GT_LIST nodes, however, are disallowed in
LIR ranges. The intersection of these two design choices causes
problems for code that operates on LIR but wants to observe
aggregate arguments as a whole (rather than piecewise). In the
case of dotnet/coreclr#6893, this caused lowering to attempt to insert a
PUTARG_STK node after the GT_LIST node that represented the
aggregate argument that was being forced to the stack, which
caused an assertion in the LIR utilities to fail (the GT_LIST
node was passed as the insertion point to `LIR::Range::InsertAfter`,
which requires that the insertion point be a part of the given
range).

Conceptually, the fix is simple: the nodes that represent
aggregate arguments must be allowed to be part of LIR ranges.
The implementation, however, is complicated somewhat by the
need to distinguish the nodes used for aggregate arguments from
normal GT_LIST nodes. These changes implement a short-term
fix that distiguished these nodes by adding a node-specific flag,
`GTF_LIST_AGGREGATE`, to indicate that a GT_LIST node is in fact
an aggregate argument. In the long term, a more palatable
implementation would be the introduction of a new node and operator
type to represent aggregate arguments, but this is likely to
require broader changes to the compiler.

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

8 years agoMerge pull request dotnet/coreclr#6989 from adiaaida/updateCodingConventions
Michelle McDaniel [Wed, 31 Aug 2016 17:45:08 +0000 (10:45 -0700)]
Merge pull request dotnet/coreclr#6989 from adiaaida/updateCodingConventions

Update coding conventions

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

8 years agoFix the build break
Tarek Mahmoud Sayed [Wed, 31 Aug 2016 17:21:08 +0000 (10:21 -0700)]
Fix the build break

[tfs-changeset: 1625162]

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

8 years agoDo not run local var liveness before rationalize.
Pat Gavlin [Sun, 31 Jul 2016 17:02:51 +0000 (10:02 -0700)]
Do not run local var liveness before rationalize.

Neither rationalize nor lowering depend on liveness being run. The assertion mentioned
in the comment was caused by `fgExtendDbgLifetimes` inserting HIR nodes (GT_ASG nodes,
specifically) into LIR blocks.

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

8 years agoPrint an error, in DEBUG, if we fail to open the JitFuncInfoLogFile
Bruce Forstall [Wed, 31 Aug 2016 16:38:54 +0000 (09:38 -0700)]
Print an error, in DEBUG, if we fail to open the JitFuncInfoLogFile

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

8 years agoMerge pull request dotnet/coreclr#7001 from BruceForstall/CleanUpX86LegacyIssuesFile
Bruce Forstall [Wed, 31 Aug 2016 16:50:00 +0000 (09:50 -0700)]
Merge pull request dotnet/coreclr#7001 from BruceForstall/CleanUpX86LegacyIssuesFile

Clean up test issues files

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

8 years agoClean up test issues files
Bruce Forstall [Wed, 31 Aug 2016 05:18:14 +0000 (22:18 -0700)]
Clean up test issues files

Re-enable some tests that pass. Rearrange x86_legacy_backend_issues.targets
to more closely resemble issues.targets so it is easier to see the
difference.

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

8 years agoUpdate coding conventions
Michelle McDaniel [Tue, 30 Aug 2016 20:41:27 +0000 (13:41 -0700)]
Update coding conventions

Add a note to the jit coding conventions that jit-format changes supersede
the conventions in the doc. Add a link to jit-format's documentation.

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

8 years agoMerge pull request dotnet/coreclr#6988 from adiaaida/shiftLong
Michelle McDaniel [Wed, 31 Aug 2016 13:38:54 +0000 (06:38 -0700)]
Merge pull request dotnet/coreclr#6988 from adiaaida/shiftLong

Implement DecomposeShift

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

8 years agoMerge pull request dotnet/coreclr#6917 from svick/fixing-alltestprojects
Rama krishnan Raghupathy [Wed, 31 Aug 2016 05:18:57 +0000 (22:18 -0700)]
Merge pull request dotnet/coreclr#6917 from svick/fixing-alltestprojects

Fixed AllTestProjects.sln

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

8 years agoAdd some features help for arm target test
Sung-Jae Lee [Fri, 19 Aug 2016 08:05:07 +0000 (17:05 +0900)]
Add some features help for arm target test

* Add `--build-overlay-only` option to help building test package for arm target.
  You can use this option on host after cross building, to make a
  test package that will run on target device.
* Make `setup-runtime-dependencies.sh` called on `x64` architecture only.
  Because dependent packages are not supported on other architectures now.
* Add `testsUnsupportedOnARM32.txt` file for list up test exclusions.
* minor style fix.

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

8 years agoUpdate CoreClr, CoreFx, External to beta-24431-01, beta-24431-01, beta-24430-00,...
Jan Kotas [Wed, 31 Aug 2016 04:54:44 +0000 (21:54 -0700)]
Update CoreClr, CoreFx, External to beta-24431-01, beta-24431-01, beta-24430-00, respectively (dotnet/coreclr#6879)

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

8 years agoRemove obsolete add/sub NYI
Mike Danes [Wed, 13 Jul 2016 19:05:22 +0000 (22:05 +0300)]
Remove obsolete add/sub NYI

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

8 years agoFix the srcCount for an unused GT_LONG. (dotnet/coreclr#6996)
Pat Gavlin [Wed, 31 Aug 2016 03:51:33 +0000 (20:51 -0700)]
Fix the srcCount for an unused GT_LONG. (dotnet/coreclr#6996)

GT_LONG nodes that do not have a corresponding use need to
consume their operands. There was already code in lowerxarch
that attempted to do so, but this code was no longer valid in
LIR.

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

8 years agoRemove System.Reflection.AssemblyNameProxy and fix System.Reflection.Pointer construc...
Wes Haggard [Wed, 31 Aug 2016 03:15:23 +0000 (20:15 -0700)]
Remove System.Reflection.AssemblyNameProxy and fix System.Reflection.Pointer constructor (dotnet/coreclr#6987)

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

8 years agoUpdate CoreClr, CoreFx, External to beta-24431-01, beta-24431-01, beta-24430-00,...
dotnet-bot [Wed, 31 Aug 2016 02:30:14 +0000 (02:30 +0000)]
Update CoreClr, CoreFx, External to beta-24431-01, beta-24431-01, beta-24430-00, respectively

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

8 years agoImplement DecomposeShift
Michelle McDaniel [Tue, 30 Aug 2016 16:38:20 +0000 (09:38 -0700)]
Implement DecomposeShift

This change adds support for GT_LSH, GT_RSH, and GT_RSZ for x86 longs.
These nodes are implemented via helpers, so in decompose, we must remove
the shift node from the tree and replace it with a call to the helper.
Additionally, these helpers require that the long operand is in EAX:EDX,
so rather than adding a GT_LONG to the call arg list like we would
normally, we split the high and low parts of the arg and mark them as
non-standard args in gtMorphArgs to force the low part to be in EAX and
the high part to be in EDX. The shift amount is already defaulted to ECX,
which is where the helper expects it to be.

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

8 years agoRemove System.Reflection.AssemblyNameProxy and fix System.Reflection.Pointer constructor
sepidehMS [Wed, 31 Aug 2016 01:28:19 +0000 (18:28 -0700)]
Remove System.Reflection.AssemblyNameProxy and fix System.Reflection.Pointer constructor

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

8 years agoMerge pull request dotnet/coreclr#6993 from tarekgh/AddMissingSystemTextAPIs
Tarek Mahmoud Sayed [Wed, 31 Aug 2016 01:17:09 +0000 (18:17 -0700)]
Merge pull request dotnet/coreclr#6993 from tarekgh/AddMissingSystemTextAPIs

Expose missing Global/Encoding APIs in coreclr and remove empty stubs

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

8 years agoMerge pull request dotnet/coreclr#6983 from BruceForstall/ReformatIssuesFiles
Bruce Forstall [Wed, 31 Aug 2016 00:28:50 +0000 (17:28 -0700)]
Merge pull request dotnet/coreclr#6983 from BruceForstall/ReformatIssuesFiles

Reformat test issues files so they are more easily comparable

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

8 years agoFix the srcCount for an unused GT_LONG.
Pat Gavlin [Tue, 30 Aug 2016 23:53:40 +0000 (16:53 -0700)]
Fix the srcCount for an unused GT_LONG.

GT_LONG nodes that do not have a corresponding use need to
consume their operands. There was already code in lowerxarch
that attempted to do so, but this code was no longer valid in
LIR.

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

8 years agoPort String reorganization from CoreRT (dotnet/coreclr#6985)
James Ko [Tue, 30 Aug 2016 22:53:10 +0000 (18:53 -0400)]
Port String reorganization from CoreRT (dotnet/coreclr#6985)

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

8 years agoGC update from CoreRT (dotnet/coreclr#6984)
Jan Kotas [Tue, 30 Aug 2016 22:47:34 +0000 (15:47 -0700)]
GC update from CoreRT (dotnet/coreclr#6984)

https://github.com/dotnet/corert/tree/master/src/Native/gc dotnet/coreclr@97dd6d2cbb50901cc3651f41a53a4ff9a1052391

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

8 years agoSkipped letter in a word (dotnet/coreclr#6991)
Evgeniy Devyatkin [Tue, 30 Aug 2016 22:47:21 +0000 (02:47 +0400)]
Skipped letter in a word (dotnet/coreclr#6991)

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

8 years agoExpose missing Global/Encoding APIs in coreclr and remove empty stubs
Tarek Mahmoud Sayed [Tue, 30 Aug 2016 22:46:50 +0000 (15:46 -0700)]
Expose missing Global/Encoding APIs in coreclr and remove empty stubs

This change is to expose all missing globalization and Encoding APIs in corelib
to have the complete exposed list for such namespaces.
Also we are removing the empty methods stubs for Windows implementation
And have the actual implementation in-place

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

8 years agoMerge pull request dotnet/coreclr#6990 from smile21prc/coreclr-perf
smile21prc [Tue, 30 Aug 2016 21:28:38 +0000 (14:28 -0700)]
Merge pull request dotnet/coreclr#6990 from smile21prc/coreclr-perf

Create coreclr perf jobs for Linux.

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

8 years agoCreate coreclr perf jobs for Linux.
Smile Wei [Tue, 30 Aug 2016 19:31:25 +0000 (12:31 -0700)]
Create coreclr perf jobs for Linux.

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

8 years agoMerge pull request dotnet/coreclr#6986 from dotnet-bot/from-tfs
Jan Kotas [Tue, 30 Aug 2016 21:18:05 +0000 (14:18 -0700)]
Merge pull request dotnet/coreclr#6986 from dotnet-bot/from-tfs

Merge changes from TFS

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

8 years agoReformat test issues files so they are more easily comparable
Bruce Forstall [Tue, 30 Aug 2016 16:16:22 +0000 (09:16 -0700)]
Reformat test issues files so they are more easily comparable

This change reformats the issues files, and sorts the excluded tests
by name, so it is possible to easily compare the baseline issues.targets
file against the x86_jit32_issues.targets and x86_legacy_backend_issues.targets
files.

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

8 years agoDelete non-existing method
Jan Kotas [Tue, 30 Aug 2016 18:21:59 +0000 (11:21 -0700)]
Delete non-existing method

[tfs-changeset: 1624957]

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

8 years agoMerge pull request dotnet/coreclr#6973 from BruceForstall/MoveTailcallTestExclusion
Bruce Forstall [Tue, 30 Aug 2016 18:17:41 +0000 (11:17 -0700)]
Merge pull request dotnet/coreclr#6973 from BruceForstall/MoveTailcallTestExclusion

Move TailcallVerifyWithPrefix test to "baseline x86" exclusion section

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

8 years agoMerge pull request dotnet/coreclr#6867 from rahku/returnHijack
Rahul Kumar [Tue, 30 Aug 2016 18:11:43 +0000 (11:11 -0700)]
Merge pull request dotnet/coreclr#6867 from rahku/returnHijack

Enable return address hijacking for arm64

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

8 years agoMerge pull request dotnet/coreclr#6980 from smile21prc/coreclr-perf
smile21prc [Tue, 30 Aug 2016 17:59:12 +0000 (10:59 -0700)]
Merge pull request dotnet/coreclr#6980 from smile21prc/coreclr-perf

More fixes.

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

8 years agoMore fixes.
Smile Wei [Tue, 30 Aug 2016 17:58:34 +0000 (10:58 -0700)]
More fixes.

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

8 years agoMerge pull request dotnet/coreclr#6979 from smile21prc/coreclr-perf
smile21prc [Tue, 30 Aug 2016 17:58:02 +0000 (10:58 -0700)]
Merge pull request dotnet/coreclr#6979 from smile21prc/coreclr-perf

Fixed wrong env vars.

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

8 years agoFixed wrong env vars.
Smile Wei [Tue, 30 Aug 2016 17:57:13 +0000 (10:57 -0700)]
Fixed wrong env vars.

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

8 years agoMove TailcallVerifyWithPrefix test to "baseline x86" exclusion section
Bruce Forstall [Tue, 30 Aug 2016 00:03:51 +0000 (17:03 -0700)]
Move TailcallVerifyWithPrefix test to "baseline x86" exclusion section

This test fails for both legacy x86 JIT as well as RyuJIT. Make that more
clear by moving the exclusion to the "x86 baseline failures" section.

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

8 years agoMerge pull request dotnet/coreclr#6970 from BruceForstall/EnableStringArrTest
Bruce Forstall [Tue, 30 Aug 2016 15:42:10 +0000 (08:42 -0700)]
Merge pull request dotnet/coreclr#6970 from BruceForstall/EnableStringArrTest

Re-enable stringarr test

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

8 years agoMerge pull request dotnet/coreclr#6953 from Maoni0/alloc_bytes
Maoni Stephens [Tue, 30 Aug 2016 05:17:54 +0000 (22:17 -0700)]
Merge pull request dotnet/coreclr#6953 from Maoni0/alloc_bytes

added GC.GetAllocatedBytesForCurrentThread API

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

8 years agoRevises UMThunkStub unwindable in ARM/Linux (dotnet/coreclr#6788)
Jonghyun Park [Tue, 30 Aug 2016 02:36:51 +0000 (11:36 +0900)]
Revises UMThunkStub unwindable in ARM/Linux (dotnet/coreclr#6788)

In ARM/Linux, UMThunkStub currently pushes r0-r3 and r12 without .pad,
which results in dotnet/coreclr#6787.

This commit revises the prolog and epilog of UMThunkStub to fix 6787.
(In addition, personality routine is addes as ARM64/AMD64 already does.)

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

8 years agoMonitor.TryEnter asm timeout != 0 before spin (dotnet/coreclr#6951)
Ben Adams [Tue, 30 Aug 2016 02:23:53 +0000 (03:23 +0100)]
Monitor.TryEnter asm timeout != 0 before spin (dotnet/coreclr#6951)

* JIT_MonTryEnter_Slow timeout != 0 before spin
* JIT_MonTryEnter_InlineGetThread timeout != 0 before spin

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

8 years agoadded GC.GetAllocatedBytesForCurrentThread API
Maoni Stephens [Tue, 30 Aug 2016 01:19:05 +0000 (18:19 -0700)]
added GC.GetAllocatedBytesForCurrentThread API

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

8 years agoMerge pull request dotnet/coreclr#6972 from smile21prc/coreclr-perf
smile21prc [Mon, 29 Aug 2016 23:50:36 +0000 (16:50 -0700)]
Merge pull request dotnet/coreclr#6972 from smile21prc/coreclr-perf

Change dir to make sure the right project.json is used.

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

8 years agoChange dir to make sure the right project.json is used.
Smile Wei [Mon, 29 Aug 2016 23:50:05 +0000 (16:50 -0700)]
Change dir to make sure the right project.json is used.

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

8 years agoMerge pull request dotnet/coreclr#6971 from smile21prc/coreclr-perf
smile21prc [Mon, 29 Aug 2016 23:35:39 +0000 (16:35 -0700)]
Merge pull request dotnet/coreclr#6971 from smile21prc/coreclr-perf

Add debugging code to find where Microsoft.DotNet.xunit.performance.r…

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

8 years agoAdd debugging code to find where Microsoft.DotNet.xunit.performance.runner.cli.dll...
Smile Wei [Mon, 29 Aug 2016 23:34:59 +0000 (16:34 -0700)]
Add debugging code to find where Microsoft.DotNet.xunit.performance.runner.cli.dll is deployed.

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

8 years agoRe-enable stringarr test
Bruce Forstall [Mon, 29 Aug 2016 23:22:57 +0000 (16:22 -0700)]
Re-enable stringarr test

I can't get this to fail locally despite thousands of runs.

I fixed the test to detect failure when checking all indices, not
just when checking the last index of the first rank.

Fixes dotnet/coreclr#4844.

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

8 years agoMerge pull request dotnet/coreclr#6969 from smile21prc/coreclr-perf
smile21prc [Mon, 29 Aug 2016 23:05:46 +0000 (16:05 -0700)]
Merge pull request dotnet/coreclr#6969 from smile21prc/coreclr-perf

Add steps to install xunit performance packages

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

8 years agoAdd steps to install xunit performance packages
Smile Wei [Mon, 29 Aug 2016 23:04:58 +0000 (16:04 -0700)]
Add steps to install xunit performance packages

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

8 years agoMerge pull request dotnet/coreclr#6968 from smile21prc/coreclr-perf
smile21prc [Mon, 29 Aug 2016 22:41:29 +0000 (15:41 -0700)]
Merge pull request dotnet/coreclr#6968 from smile21prc/coreclr-perf

Add debugging code.

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