platform/upstream/coreclr.git
8 years agoUpgrade dotnet cli to 1.0.0-beta-002173.
Davis Goodin [Thu, 31 Mar 2016 19:55:46 +0000 (14:55 -0500)]
Upgrade dotnet cli to 1.0.0-beta-002173.

8 years agoMerge pull request #3953 from LLITCHEV/Issue3604
Lubomir Litchev [Thu, 31 Mar 2016 18:52:33 +0000 (11:52 -0700)]
Merge pull request #3953 from LLITCHEV/Issue3604

Make sure 4 outgoing arg slots are generated for methods that call

8 years agoMerge pull request #4029 from pgavlin/Host64Bit
Pat Gavlin [Thu, 31 Mar 2016 18:26:16 +0000 (11:26 -0700)]
Merge pull request #4029 from pgavlin/Host64Bit

Replace uses of _WIN64 with _HOST_64BIT_.

8 years agoReplace uses of _WIN64 with _HOST_64BIT_.
Pat Gavlin [Thu, 31 Mar 2016 17:02:12 +0000 (10:02 -0700)]
Replace uses of _WIN64 with _HOST_64BIT_.

This terminology is more accurate. This change also corrects
a few bits of code that were making target-related decisions
based on the host's bitness.

8 years agoMerge pull request #3914 from cmckinsey/GitHub_3600
Chris McKinsey [Thu, 31 Mar 2016 17:57:03 +0000 (10:57 -0700)]
Merge pull request #3914 from cmckinsey/GitHub_3600

Fix for stack overflow in CFG/DOM analysis GH#3600

8 years agoMerge pull request #4030 from kyulee1/updateryujit
Kyungwoo Lee [Thu, 31 Mar 2016 17:52:16 +0000 (10:52 -0700)]
Merge pull request #4030 from kyulee1/updateryujit

Update RyuJit version

8 years agoUpdate RyuJit version
Kyungwoo Lee [Thu, 31 Mar 2016 17:51:04 +0000 (10:51 -0700)]
Update RyuJit version

8 years agoMerge pull request #4018 from mikem8361/sosplugfix
Mike McLaughlin [Thu, 31 Mar 2016 16:56:46 +0000 (09:56 -0700)]
Merge pull request #4018 from mikem8361/sosplugfix

sos fails to load if binaries are copied to different location than built

8 years agoMerge pull request #4009 from pgavlin/EmitXarchClarify
Pat Gavlin [Thu, 31 Mar 2016 15:53:12 +0000 (08:53 -0700)]
Merge pull request #4009 from pgavlin/EmitXarchClarify

Clarify register aliasing in the X86 encoder.

8 years agoMerge pull request #4014 from dagood/upgrade-cli
Stephen Toub [Thu, 31 Mar 2016 13:26:08 +0000 (09:26 -0400)]
Merge pull request #4014 from dagood/upgrade-cli

Upgrade dotnet cli to take win7 fix

8 years agoMerge pull request #3967 from stephentoub/empty_memorystream
Stephen Toub [Thu, 31 Mar 2016 13:25:23 +0000 (09:25 -0400)]
Merge pull request #3967 from stephentoub/empty_memorystream

Avoid array allocation in "new MemoryStream()"

8 years agoMerge pull request #4021 from dotnet-bot/from-tfs
Jan Kotas [Thu, 31 Mar 2016 07:44:55 +0000 (00:44 -0700)]
Merge pull request #4021 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoMerge pull request #4008 from leemgs/upstream-typo-build-mode
Jan Kotas [Thu, 31 Mar 2016 06:29:23 +0000 (23:29 -0700)]
Merge pull request #4008 from leemgs/upstream-typo-build-mode

Improve description of build type spelling for consistency

8 years agoMerge pull request #4020 from JohnChen0/master
Jan Kotas [Thu, 31 Mar 2016 06:28:38 +0000 (23:28 -0700)]
Merge pull request #4020 from JohnChen0/master

Fix CrossGen documentation error

8 years agoMerge pull request #3944 from leemgs/upstream-cross-arm-stripping-symbols
Jan Kotas [Thu, 31 Mar 2016 06:25:21 +0000 (23:25 -0700)]
Merge pull request #3944 from leemgs/upstream-cross-arm-stripping-symbols

[Linux/ARM32] objcopy: Support cross-build  for stripping symbols.

8 years agoMerge pull request #3989 from bbowyersmyth/StringEquals
Jan Kotas [Thu, 31 Mar 2016 06:24:29 +0000 (23:24 -0700)]
Merge pull request #3989 from bbowyersmyth/StringEquals

Port String.Equals from CoreRT

8 years agoMerge pull request #3981 from manu-silicon/context
Jan Kotas [Thu, 31 Mar 2016 06:22:44 +0000 (23:22 -0700)]
Merge pull request #3981 from manu-silicon/context

Fix RtlRestoreContext

8 years agoFix CrossGen documentation error
John Chen [Thu, 31 Mar 2016 05:35:03 +0000 (22:35 -0700)]
Fix CrossGen documentation error

8 years agoFix RtlRestoreContext
Manu [Wed, 30 Mar 2016 01:56:40 +0000 (10:56 +0900)]
Fix RtlRestoreContext

Due to macro expansion, the previous computed offsets to restore Lr and Pc
were incorrect, causing a memory corruption (see Issue #3856 for C# code
reproducing that problem).
Made assembly more obvious when just restoring Sp, Lr and Pc.

8 years agoMerge pull request #4016 from dotnet/revert-3960-check_runtime_to_pull_coredistools
Jan Kotas [Thu, 31 Mar 2016 04:31:02 +0000 (21:31 -0700)]
Merge pull request #4016 from dotnet/revert-3960-check_runtime_to_pull_coredistools

Revert "Add architeture information to a script downloading coredistools"

8 years agoFix R2R fixups for delegate ctors
Jan Kotas [Thu, 31 Mar 2016 03:49:26 +0000 (20:49 -0700)]
Fix R2R fixups for delegate ctors

- Add getReadyToRunDelegateHelper to JIT-EE interface. This method has an extra argument describing the type of the delegate. This argument is required to emit correct fixups.
- Call the new method in both JIT and JIT32
- Add the new method to superpmi
- Bump minor version of R2R file format
- Add regression test for #3975 to R2R unit test

Fixes https://github.com/dotnet/coreclr/issues/3975

[tfs-changeset: 1591698]

8 years agoMerge pull request #4017 from mikem8361/issue3987
Mike McLaughlin [Thu, 31 Mar 2016 03:34:15 +0000 (20:34 -0700)]
Merge pull request #4017 from mikem8361/issue3987

Fixed issue #3987 "Debugger fails to stop on entry due to stack walk failure"

8 years agoFixed issue #3987 "Debugger fails to stop on entry due to stack walk failure"
Mike McLaughlin [Thu, 31 Mar 2016 03:30:13 +0000 (20:30 -0700)]
Fixed issue #3987 "Debugger fails to stop on entry due to stack walk failure"

By initializing m_rgHijackFunction to NULL.

8 years agoAdd back explicitly loading mscordaccore so libsos will properly load when installed...
Mike McLaughlin [Wed, 30 Mar 2016 01:03:01 +0000 (18:03 -0700)]
Add back explicitly loading mscordaccore so libsos will properly load when installed at a different location than it was built.

8 years agoMerge pull request #3982 from mikem8361/readmemoryav2
Mike McLaughlin [Thu, 31 Mar 2016 03:24:31 +0000 (20:24 -0700)]
Merge pull request #3982 from mikem8361/readmemoryav2

Fix ReadMemory AV.

8 years agoRevert "Add architeture information to a script downloading coredistools"
Jan Kotas [Thu, 31 Mar 2016 03:20:42 +0000 (20:20 -0700)]
Revert "Add architeture information to a script downloading coredistools"

8 years agoMerge pull request #4002 from kyulee1/fixcmd
Kyungwoo Lee [Thu, 31 Mar 2016 03:06:01 +0000 (20:06 -0700)]
Merge pull request #4002 from kyulee1/fixcmd

ARM64: Running cmd instead of exe

8 years agoGetting SOS to work on ARm64:
Rama Krishnan Raghupathy [Thu, 31 Mar 2016 03:00:57 +0000 (20:00 -0700)]
Getting SOS to work on ARm64:

     This mainly involved DACizing the VM code.
      A bulk edit for changing RUNTIME_FUNCTION to T_RUNTIME_FUNCTION

[tfs-changeset: 1591667]

8 years agoARM64: Running cmd instead of exe
Kyungwoo Lee [Wed, 30 Mar 2016 22:02:21 +0000 (15:02 -0700)]
ARM64: Running cmd instead of exe

Our test framework (smarty) directly runs test executable on corerun.exe.
But some of tests expect arguments via environment variable specified in .cmd.
The fix is to change the test list file to run .cmd. So the expected pass
value is also updated to 0 instead of 100. Now we don't need to pass /host
that specifies corerun.exe.
3 additional tests are now passed:
 InterlockedAddLongWithSubtract/CompareExchangeTString/Polyrec

8 years agoUpgrade dotnet cli to take win7 fix.
Davis Goodin [Wed, 30 Mar 2016 22:23:43 +0000 (17:23 -0500)]
Upgrade dotnet cli to take win7 fix.

8 years agoChange spelling of build type for consistenty
Geunsik Lim [Wed, 30 Mar 2016 22:47:42 +0000 (07:47 +0900)]
Change spelling of build type for consistenty

This is trivial patch.
Let's display a help manual with lower case for better consistency
when the developers run "./build.sh --help".

Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
8 years agoClarify register aliasing in the X86 encoder.
Pat Gavlin [Wed, 30 Mar 2016 22:34:51 +0000 (15:34 -0700)]
Clarify register aliasing in the X86 encoder.

Certain registers are aliased with control bits in the ModRM byte
of an X86 instruction. Encapsulate the checks that accommodate this
aliasing into a pair of functions.

8 years agoMerge pull request #4003 from briansull/update-tests-lst
Brian Sullivan [Wed, 30 Mar 2016 21:54:40 +0000 (14:54 -0700)]
Merge pull request #4003 from briansull/update-tests-lst

Update with 10 additional passing tests, and two moved to unstable

8 years agoMerge pull request #4005 from dotnet/revert-3943-upstream-gawk-char-class
Jan Kotas [Wed, 30 Mar 2016 21:34:59 +0000 (14:34 -0700)]
Merge pull request #4005 from dotnet/revert-3943-upstream-gawk-char-class

Revert "Fix bracket expression matches a character at gawk"

8 years agoRevert "Fix bracket expression matches a character at gawk"
Jan Kotas [Wed, 30 Mar 2016 21:32:52 +0000 (14:32 -0700)]
Revert "Fix bracket expression matches a character at gawk"

8 years agoUpdate with 10 additional pasing tests, and two moved to unstable
Brian Sullivan [Wed, 30 Mar 2016 18:31:00 +0000 (11:31 -0700)]
Update with 10 additional pasing tests, and two moved to unstable

8 years agoMerge pull request #3955 from davmason/master
David Mason [Wed, 30 Mar 2016 20:15:29 +0000 (13:15 -0700)]
Merge pull request #3955 from davmason/master

Fixing tracelogging on linux

8 years agoMake sure 4 outgoing arg slots are generated for methods that call
Lubomir Litchev [Sun, 27 Mar 2016 21:31:09 +0000 (14:31 -0700)]
Make sure 4 outgoing arg slots are generated for methods that call
THROW_HELPERS for Windows x64.

This is a long standing bug in RyuJit.
When compiling a method for debug mode if there is a call to THROW_HELPER
(and it is the only call) the frame for the method that calls the
THROW_HELPER is not properly set - it is missing the 4 ougoing arg slots.

This was discovered by R2R codegen. In normal jitting of such method in
debug mode the jit always adds a call to CORINFO_HELP_DBG_IS_JUST_MY_CODE
early enough, so the frame size will be properly calculated. This call is
not generated for R2R.

If the method generated for R2R has only a call to a throw helper
and it is compiled for debug mode, the call is not generated in the IR.
The CodeGen generates the call directly instead. The call is generated
after the stack frame is calculated. This leads to improperly generated
stack frame that doen't have the 4 outgoing arg slots that the Windows x64
ABI requires.

Compiling such method for release mode is never a problem since in
FlowGraph we always generate IR for a block that contains the
THROW_HELPER. This happens before the stack frame is calculated, so the 4
outgoing stack slots are always calculated.

8 years agoMerge pull request #3996 from kyulee1/fixconv
Kyungwoo Lee [Wed, 30 Mar 2016 18:01:52 +0000 (11:01 -0700)]
Merge pull request #3996 from kyulee1/fixconv

ARM64: Fix conversion double to unsigned int

8 years agoARM64: Fix conversion double to unsigned int
Kyungwoo Lee [Wed, 30 Mar 2016 16:16:26 +0000 (09:16 -0700)]
ARM64: Fix conversion double to unsigned int

For ARM/ARM64, converting negative double to unsigned int is 0, which aligns with all native compilers.
I also removed the part of tests that depends on architecture specific values.
Since ARM64 tests were prepopulated, I just updated the tag so that we can update the tests later.

8 years agoMerge pull request #3960 from sejongoh/check_runtime_to_pull_coredistools
Sejong Oh [Wed, 30 Mar 2016 17:33:31 +0000 (10:33 -0700)]
Merge pull request #3960 from sejongoh/check_runtime_to_pull_coredistools

Add architeture information to a script downloading coredistools

8 years agoMerge pull request #3983 from svick/getresourcestring-culture
Jan Kotas [Wed, 30 Mar 2016 17:26:28 +0000 (10:26 -0700)]
Merge pull request #3983 from svick/getresourcestring-culture

Remove unused CultureInfo from GetResourceString

8 years agoFixing contracts violations, and adding missing contracts to some APIs.
Fadi Hanna [Wed, 30 Mar 2016 16:27:04 +0000 (09:27 -0700)]
Fixing contracts violations, and adding missing contracts to some APIs.
Changing native format reader failure mode to fail fast instead of throwing and exception.

[tfs-changeset: 1591477]

8 years agoMerge pull request #3994 from dagood/upgrade-cli
Davis Goodin [Wed, 30 Mar 2016 16:10:54 +0000 (11:10 -0500)]
Merge pull request #3994 from dagood/upgrade-cli

Apply dotnet cli upgrade also to tests\dir.props

8 years agoApply dotnet cli upgrade also to tests\dir.props.
Davis Goodin [Wed, 30 Mar 2016 16:07:30 +0000 (11:07 -0500)]
Apply dotnet cli upgrade also to tests\dir.props.

8 years agoMerge pull request #3993 from dagood/upgrade-cli
Stephen Toub [Wed, 30 Mar 2016 16:02:24 +0000 (12:02 -0400)]
Merge pull request #3993 from dagood/upgrade-cli

Upgrade dotnet cli version

8 years agoUpgrade dotnet cli version.
Davis Goodin [Wed, 30 Mar 2016 15:03:53 +0000 (10:03 -0500)]
Upgrade dotnet cli version.

8 years agoMerge pull request #3943 from leemgs/upstream-gawk-char-class
Jan Kotas [Wed, 30 Mar 2016 07:10:26 +0000 (00:10 -0700)]
Merge pull request #3943 from leemgs/upstream-gawk-char-class

Fix bracket expression matches a character at gawk

8 years agoMerge pull request #3984 from svick/patch-1
Jan Kotas [Wed, 30 Mar 2016 07:08:35 +0000 (00:08 -0700)]
Merge pull request #3984 from svick/patch-1

Removed obsolete comment from Environment.GetResourceString

8 years agoPort String.Equals from CoreRT
Bruce Bowyer-Smyth [Wed, 30 Mar 2016 06:58:51 +0000 (16:58 +1000)]
Port String.Equals from CoreRT

8 years agoMerge pull request #3985 from myungjoo/trivialfix/macro1
Jan Kotas [Wed, 30 Mar 2016 03:27:37 +0000 (20:27 -0700)]
Merge pull request #3985 from myungjoo/trivialfix/macro1

Trivial fix: dangerous macro usage

8 years agoTrivial fix: dangerous macro usage
MyungJoo Ham [Wed, 30 Mar 2016 02:43:48 +0000 (11:43 +0900)]
Trivial fix: dangerous macro usage

Add parenthesis to make the macro safe.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
8 years agoRemoved obsolete comment from Environment.GetResourceString
Petr Onderka [Wed, 30 Mar 2016 02:24:23 +0000 (04:24 +0200)]
Removed obsolete comment from Environment.GetResourceString

Fixes #3979

8 years agoremove unused CultureInfo from GetResourceString
Petr Onderka [Wed, 30 Mar 2016 02:08:50 +0000 (04:08 +0200)]
remove unused CultureInfo from GetResourceString

8 years agoFix ReadMemory AV.
Mike McLaughlin [Wed, 30 Mar 2016 01:06:25 +0000 (18:06 -0700)]
Fix ReadMemory AV.

Use simple probing to validate read/write memory with a try/catch and explicit h/w exception holder.

Put probing in separate noinline and optnone function for optimized builds.

Fix assert in exception code mapping in context.cpp by handling SIGSEGV subcode SI_KERNEL.

8 years agoMerge pull request #3974 from briansull/update-tests-lst
Brian Sullivan [Wed, 30 Mar 2016 00:31:30 +0000 (17:31 -0700)]
Merge pull request #3974 from briansull/update-tests-lst

Disabled 8 failing tests

8 years agoDisabled 8 failing tests
Brian Sullivan [Tue, 29 Mar 2016 21:50:53 +0000 (14:50 -0700)]
Disabled 8 failing tests

Issues filed: 3968, 3969, 3970, 3971 and 3973

8 years agoMerge pull request #3966 from kyulee1/fixframe2
Kyungwoo Lee [Tue, 29 Mar 2016 21:14:42 +0000 (14:14 -0700)]
Merge pull request #3966 from kyulee1/fixframe2

ARM64: Fix Frame with compLocallocUsed

8 years agoARM64: Fix Frame with compLocallocUsed
Kyungwoo Lee [Fri, 25 Mar 2016 18:19:25 +0000 (11:19 -0700)]
ARM64: Fix Frame with compLocallocUsed

When compLocallocUsed is true, stack pointer is changed during the run.
So, JIT should restore stack pointer from frame pointer in the epilog.
Previously, we simpliy copied fp to sp, which is only valid for frameType
= 1.
This implements a right restoring process for other frameTypes (2 and 3).
For frameType = 3, I also simplified creating prolog sequence to support
this feature consistently.

8 years agoMerge pull request #3963 from adityamandaleeka/statFileParse
Aditya Mandaleeka [Tue, 29 Mar 2016 18:59:33 +0000 (11:59 -0700)]
Merge pull request #3963 from adityamandaleeka/statFileParse

Fix stat file parsing to handle executable names with spaces

8 years agoMerge pull request #3959 from briansull/safe-refactor
Brian Sullivan [Tue, 29 Mar 2016 18:07:42 +0000 (11:07 -0700)]
Merge pull request #3959 from briansull/safe-refactor

Safe Refactor - Remove conditional definition and references to lvIsMultiRegArgOrRet

8 years agoAvoid array allocation in "new MemoryStream()"
stephentoub [Tue, 29 Mar 2016 17:46:32 +0000 (13:46 -0400)]
Avoid array allocation in "new MemoryStream()"

The default MemoryStream ctor is unnecessarily allocating a 0-length array.

8 years agoMerge pull request #2182 from justinvp/keyedcollection_enumallocs
Stephen Toub [Tue, 29 Mar 2016 16:38:00 +0000 (12:38 -0400)]
Merge pull request #2182 from justinvp/keyedcollection_enumallocs

Avoid enumerator allocations inside KeyedCollection<TKey, TItem>

8 years agoMerge pull request #2178 from justinvp/keyedcollection_nullchecks
Stephen Toub [Tue, 29 Mar 2016 14:25:56 +0000 (10:25 -0400)]
Merge pull request #2178 from justinvp/keyedcollection_nullchecks

Remove unnecessary null checks from KeyedCollection<TKey,TItem>

8 years agoFix stat file parsing to handle executable names with spaces.
Aditya Mandaleeka [Tue, 29 Mar 2016 03:22:04 +0000 (20:22 -0700)]
Fix stat file parsing to handle executable names with spaces.

8 years agoAdd architeture information to a script downloading coredistools
Sejong Oh [Mon, 28 Mar 2016 20:41:42 +0000 (13:41 -0700)]
Add architeture information to a script downloading coredistools

8 years agoSafe Refactor - Remove conditional definition and references to lvIsMultiRegArgOrRet
Brian Sullivan [Fri, 25 Mar 2016 22:39:37 +0000 (15:39 -0700)]
Safe Refactor - Remove conditional definition and references to lvIsMultiRegArgOrRet

8 years agoMerge pull request #3954 from leemgs/toolchain-name-unifyin-arm64
Jan Kotas [Mon, 28 Mar 2016 14:36:16 +0000 (07:36 -0700)]
Merge pull request #3954 from leemgs/toolchain-name-unifyin-arm64

[Linux/ARM32/64] Unifying the redundant usages of cross-toolchain

8 years agoobjcopy: Support cross-build for stripping symbols
Geunsik Lim [Sat, 26 Mar 2016 12:39:14 +0000 (21:39 +0900)]
objcopy: Support cross-build for stripping symbols

Currently, the 'objcopy' does only support native-build since
the commit number 4efef62f0ead16b4f8ca2c6ccf0a77ce112f73b9
Let's add cross-build as well as native-build to strip symbols.

v3:
- support if statement for arm64

v2:
- Replace 'EQUAL' with 'DEFINED' for handling Other Linux distributions
  as well as Ubuntu 14.04 and for handling in case of native-build.

v2:
- support cross-build to strip debug symbols of native arm binaries

Signed-off-by: Geunsik Lim geunsik.lim@samsung.com
Signed-off-by: MyungJoo Ham myungjoo.ham@samsung.com
Signed-off-by: Prajwal A N an.prajwal@samsung.com
8 years ago[Linux/ARM32/64] Unifying the redundant usages of cross-toolchain
Geunsik Lim [Mon, 28 Mar 2016 03:08:09 +0000 (12:08 +0900)]
[Linux/ARM32/64] Unifying the redundant usages of cross-toolchain

The name of toolchain name has been increasing gradually.
Let's unify the toolchain name of Linux/ARM{32|64} to prevent the
increase of the fragmentation, and to the manatainability.

Signed-off-by: Geunsik Lim geunsik.lim@samsung.com
Signed-off-by: MyungJoo Ham myungjoo.ham@samsung.com
Signed-off-by: Prajwal A N an.prajwal@samsung.com
8 years agoMerge pull request #3946 from leemgs/toolchain-name-unifying
Jan Kotas [Sat, 26 Mar 2016 17:40:04 +0000 (10:40 -0700)]
Merge pull request #3946 from leemgs/toolchain-name-unifying

[Linux/ARM32] Unifying the redundant usages of cross-toolchain

8 years agoMerge pull request #3902 from JosephTremoulet/ZeroExtend
Joseph Tremoulet [Sat, 26 Mar 2016 16:24:14 +0000 (12:24 -0400)]
Merge pull request #3902 from JosephTremoulet/ZeroExtend

Unsuppress same-reg zero-extending mov (x64)

8 years ago[Linux/ARM32] Unifying the redundant usages of cross-toolchain
Geunsik Lim [Sat, 26 Mar 2016 12:53:08 +0000 (21:53 +0900)]
[Linux/ARM32] Unifying the redundant usages of cross-toolchain

The name of toolchain name has been increasing gradually.
Let's unify the toolchain name of Linux/ARM32 to prevent the
increase of the fragmentation, and to the manatainability.

Signed-off-by: Geunsik Lim geunsik.lim@samsung.com
Signed-off-by: MyungJoo Ham myungjoo.ham@samsung.com
Signed-off-by: Prajwal A N an.prajwal@samsung.com
8 years agoFix: bracket expression matches a character at gawk
Geunsik Lim [Sat, 26 Mar 2016 10:04:31 +0000 (19:04 +0900)]
Fix: bracket expression matches a character at gawk

This is a trivial patch. However, It's must be modified by gawk.
Check it exactly as a plain character (e.g., space, alnum)
within the bracket expression at ./coreclr/generateversionscript.awk

Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
8 years agoMerge pull request #3896 from adityamandaleeka/configvalues4
Aditya Mandaleeka [Sat, 26 Mar 2016 07:00:55 +0000 (00:00 -0700)]
Merge pull request #3896 from adityamandaleeka/configvalues4

Add new configuration mechanism for CoreCLR.

8 years agoMerge pull request #3931 from Godin/fix-typos
Jan Kotas [Sat, 26 Mar 2016 04:06:26 +0000 (21:06 -0700)]
Merge pull request #3931 from Godin/fix-typos

Fix copy-paste typos

8 years agoFix for stack overflow in CFG/DOM analysis GH#3600
Chris McKinsey [Sat, 19 Mar 2016 04:19:56 +0000 (21:19 -0700)]
Fix for stack overflow in CFG/DOM analysis GH#3600

Rewrite the DFS numbering of flow-graph and dominator tree
traversals to use a non-recursive formulation. hugeexpr1 now passes
(previously stack overflow) and the dominator tree traversal is now
around 10 seconds faster than before for this input set of 24,000 basic
blocks.

I have verified there are no asm diffs with this change.

8 years agoMerge pull request #3920 from CarolEidt/ChangeLdObjToObj
Carol Eidt [Sat, 26 Mar 2016 01:22:46 +0000 (18:22 -0700)]
Merge pull request #3920 from CarolEidt/ChangeLdObjToObj

1stClassStructs: Replace GT_LDOBJ with GT_OBJ

8 years agoMerge pull request #3928 from manu-silicon/patch-3
Jan Kotas [Sat, 26 Mar 2016 01:11:44 +0000 (18:11 -0700)]
Merge pull request #3928 from manu-silicon/patch-3

Fix invalid path to genXplatLttng.py

8 years agoAdd new configuration mechanism for CoreCLR.
Aditya Mandaleeka [Sat, 12 Mar 2016 02:39:27 +0000 (18:39 -0800)]
Add new configuration mechanism for CoreCLR.

8 years agoMerge pull request #3934 from briansull/remove-lvaAdjustRefCnts
Brian Sullivan [Sat, 26 Mar 2016 00:34:50 +0000 (17:34 -0700)]
Merge pull request #3934 from briansull/remove-lvaAdjustRefCnts

Remove empty phase lvaAdjustRefCnts

8 years ago1stClassStructs: Replace GT_LDOBJ with GT_OBJ
Carol Eidt [Thu, 24 Mar 2016 20:29:39 +0000 (13:29 -0700)]
1stClassStructs: Replace GT_LDOBJ with GT_OBJ

In preparation for using block nodes in assignments, change GT_LDOBJ to GT_OBJ.
Also, eliminate gtFldTreeList, which was only
being used in a transitory fashion for x87
codegen - instead create the nodes on the fly as needed for stack fp codegen.
Additional minor cleanup.

8 years agoMerge pull request #3933 from AndyAyersMS/RefactorPolicy
Andy Ayers [Fri, 25 Mar 2016 22:51:33 +0000 (15:51 -0700)]
Merge pull request #3933 from AndyAyersMS/RefactorPolicy

Inliner: refactor policies to extract common legality portion

8 years agoMerge pull request #3924 from AndyAyersMS/Fix-VSO-205323
Andy Ayers [Fri, 25 Mar 2016 22:49:54 +0000 (15:49 -0700)]
Merge pull request #3924 from AndyAyersMS/Fix-VSO-205323

Inliner: fix issue introduced by refactoring

8 years agoRemove empty phase lvaAdjustRefCnts
Brian Sullivan [Fri, 25 Mar 2016 22:22:46 +0000 (15:22 -0700)]
Remove empty phase lvaAdjustRefCnts

8 years agoMerge pull request #3932 from kyulee1/arm64tool
Kyungwoo Lee [Fri, 25 Mar 2016 21:56:59 +0000 (14:56 -0700)]
Merge pull request #3932 from kyulee1/arm64tool

Fix ARM64 lib toolchain

8 years agoUnsuppress same-reg zero-extending mov (x64)
Joseph Tremoulet [Thu, 24 Mar 2016 14:56:36 +0000 (10:56 -0400)]
Unsuppress same-reg zero-extending mov (x64)

Update CodeGen::genIntToIntCast to stop suppressing 32-bit same-register
`mov`s, and to stop assuming that 32-bit enregistered sources already have
the top half of their register clear.  This latter assumption is usually
true, but is not guaranteed across function boundaries by the ABI.  As it
happens, the runtime code that invokes custom attribute constructors can
pass garbage in the top half of such parameters; this change adds a
testcase that fails on that path without this fix.

8 years agoInliner: refactor policies to extract common legality portion
Andy Ayers [Fri, 25 Mar 2016 18:56:25 +0000 (11:56 -0700)]
Inliner: refactor policies to extract common legality portion

Now that we have multiple policies, refactor their implementation
to extract common elements. In particular all the existing
policies have the same legality and ability constraints, so this
logic is extracted to a partial `LegalPolicy` superclass.

Adresses relevant feedback on #3697, where the number of policies
increased from one to two.

No changes in behavior.

8 years agoFixing tracelogging on linux
David Mason [Fri, 25 Mar 2016 18:26:33 +0000 (11:26 -0700)]
Fixing tracelogging on linux

8 years agoFix ARM64 lib toolchain
Kyungwoo Lee [Fri, 25 Mar 2016 18:19:25 +0000 (11:19 -0700)]
Fix ARM64 lib toolchain

This fixes path for the right libs that are consistent with tools.
With this, crossgen.exe can run natively on arm64.

fix

8 years agoFix copy-paste typos
Evgeny Mandrikov [Fri, 25 Mar 2016 17:17:49 +0000 (18:17 +0100)]
Fix copy-paste typos

8 years agoMerge pull request #3907 from davmason/master
David Mason [Fri, 25 Mar 2016 17:14:26 +0000 (10:14 -0700)]
Merge pull request #3907 from davmason/master

Fix spurious warning about parameter counts

8 years agoMerge pull request #3930 from dotnet-bot/from-tfs
Jan Kotas [Fri, 25 Mar 2016 16:55:49 +0000 (09:55 -0700)]
Merge pull request #3930 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoMerge pull request #3908 from AndyAyersMS/JitTimeData
Andy Ayers [Fri, 25 Mar 2016 15:28:13 +0000 (08:28 -0700)]
Merge pull request #3908 from AndyAyersMS/JitTimeData

Inliner: collect jit time data

8 years agoFix build break on full framework
Jan Kotas [Fri, 25 Mar 2016 14:28:56 +0000 (07:28 -0700)]
Fix build break on full framework

[tfs-changeset: 1589984]

8 years agoFix invalid path to genXplatLttng.py
Emmanuel [Fri, 25 Mar 2016 06:29:08 +0000 (15:29 +0900)]
Fix invalid path to genXplatLttng.py

8 years agoMerge pull request #3900 from jkotas/legacynetcf
Jan Kotas [Fri, 25 Mar 2016 03:21:35 +0000 (20:21 -0700)]
Merge pull request #3900 from jkotas/legacynetcf

Delete legacy netcf compat support (final part)

8 years agoMerge pull request #3921 from myungjoo/fix/3859
Jan Kotas [Fri, 25 Mar 2016 03:21:10 +0000 (20:21 -0700)]
Merge pull request #3921 from myungjoo/fix/3859

Fix #3859 ARM/Unwind: explicitly mark the end of stack

8 years agoMerge pull request #3923 from myungjoo/doc/arm_0001
Jan Kotas [Fri, 25 Mar 2016 03:20:56 +0000 (20:20 -0700)]
Merge pull request #3923 from myungjoo/doc/arm_0001

Update Linux Build Instruction

8 years agoMerge pull request #3917 from jkotas/structinregs
Jan Kotas [Fri, 25 Mar 2016 03:15:24 +0000 (20:15 -0700)]
Merge pull request #3917 from jkotas/structinregs

Add explicit calling convention modifiers for x86