platform/upstream/dotnet/runtime.git
8 years agoa This is a combination of 2 commits.
Sejong Oh [Thu, 10 Mar 2016 23:57:09 +0000 (15:57 -0800)]
a This is a combination of 2 commits.

Increase timeout and crond schedule for GC stress testing

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

8 years agoMerge pull request dotnet/coreclr#3629 from leemgs/upstream-crossbuild2
Jan Kotas [Thu, 10 Mar 2016 15:01:30 +0000 (07:01 -0800)]
Merge pull request dotnet/coreclr#3629 from leemgs/upstream-crossbuild2

Add comment about disabling crossgen command for cross build

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

8 years agoMerge pull request dotnet/coreclr#3394 from swgillespie/gctests
Sean Gillespie [Thu, 10 Mar 2016 02:57:22 +0000 (18:57 -0800)]
Merge pull request dotnet/coreclr#3394 from swgillespie/gctests

Initial bringup of new set of ported GC tests.

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

8 years agoMerge pull request dotnet/coreclr#3489 from rahku/EHTestPort
Rahul Kumar [Thu, 10 Mar 2016 01:52:13 +0000 (17:52 -0800)]
Merge pull request dotnet/coreclr#3489 from rahku/EHTestPort

Port EH tests.

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

8 years agoPort EH tests.
Rahul Kumar [Wed, 2 Mar 2016 22:36:15 +0000 (14:36 -0800)]
Port EH tests.

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

8 years agoRemove unnecessary expressions.
Geunsik Lim [Thu, 10 Mar 2016 01:46:23 +0000 (10:46 +0900)]
Remove unnecessary expressions.

Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/39d7c15e7875a025779d545ccd51ad9d12f0495e

8 years agoInitial bringup of new set of ported GC tests.
Sean Gillespie [Fri, 26 Feb 2016 22:56:07 +0000 (14:56 -0800)]
Initial bringup of new set of ported GC tests.

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

8 years agoMerge pull request dotnet/coreclr#3598 from joperezr/DisableOpenSourceSign
Jose Perez Rodriguez [Thu, 10 Mar 2016 01:23:12 +0000 (17:23 -0800)]
Merge pull request dotnet/coreclr#3598 from joperezr/DisableOpenSourceSign

Disable OpenSourceSign and update BuildTools

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

8 years agoDisable OpenSourceSign and update Build Tools
Jose Perez Rodriguez [Wed, 9 Mar 2016 00:51:35 +0000 (16:51 -0800)]
Disable OpenSourceSign and update Build Tools

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

8 years agoAdd comment about disabling crossgen command for cross build
Geunsik Lim [Thu, 10 Mar 2016 00:56:27 +0000 (09:56 +0900)]
Add comment about disabling crossgen command for cross build

As we all know, the current cross build generates exectuable
'crossgen' with arm architecture (without x86 architecture).
So, it can not be run to make mscorlib.ni.dll from mscorlib.dll
on X86-based build machine.
Let's add a comment why we have to skip crossgen command in
build_mscorlib() of build.sh in case of cross build for Linux/ARM.

Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/af1b954466de2b931809434bf8ad4dc355dc3e98

8 years agoMerge pull request dotnet/coreclr#3599 from ramarag/arm64nativetests
Rama krishnan Raghupathy [Thu, 10 Mar 2016 00:38:45 +0000 (16:38 -0800)]
Merge pull request dotnet/coreclr#3599 from ramarag/arm64nativetests

Enable native test binaries to be built for Arm64

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

8 years agoMerge pull request dotnet/coreclr#3626 from AndyAyersMS/InlineRefactorFixNames
Andy Ayers [Wed, 9 Mar 2016 23:57:20 +0000 (15:57 -0800)]
Merge pull request dotnet/coreclr#3626 from AndyAyersMS/InlineRefactorFixNames

Fix various naming convention issues in inliner code

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

8 years agoMerge pull request dotnet/coreclr#3624 from adityamandaleeka/remove_threadstatic_dupl...
Aditya Mandaleeka [Wed, 9 Mar 2016 22:57:00 +0000 (14:57 -0800)]
Merge pull request dotnet/coreclr#3624 from adityamandaleeka/remove_threadstatic_duplicates

Remove duplicate ThreadStatic tests

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

8 years agoMerge pull request dotnet/coreclr#3625 from pgavlin/SupportPackageVersion
Pat Gavlin [Wed, 9 Mar 2016 22:32:39 +0000 (14:32 -0800)]
Merge pull request dotnet/coreclr#3625 from pgavlin/SupportPackageVersion

Accept a build number arg in BuildRyuJitPackage.

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

8 years agoEnable native test binaries to be built for Arm64
Rama Krishnan Raghupathy [Wed, 9 Mar 2016 02:26:13 +0000 (18:26 -0800)]
Enable native test binaries to be built for Arm64

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

8 years agoFix various naming convention issues in inliner code
Andy Ayers [Wed, 9 Mar 2016 19:47:42 +0000 (11:47 -0800)]
Fix various naming convention issues in inliner code

Per the jit coding conventions, rename all class member functions to be
CamelCase. Rename all class data members to begin with `m_`.

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

8 years agoMerge pull request dotnet/coreclr#3562 from tijoytom/master
tijoytom [Wed, 9 Mar 2016 21:45:14 +0000 (13:45 -0800)]
Merge pull request dotnet/coreclr#3562 from tijoytom/master

Improve interop test coverage.

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

8 years agoAccept a build number arg in BuildRyuJitPackage.
Pat Gavlin [Wed, 9 Mar 2016 21:13:02 +0000 (13:13 -0800)]
Accept a build number arg in BuildRyuJitPackage.

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

8 years agoMerge pull request dotnet/coreclr#3602 from AndyAyersMS/InlineRefactorNativeSize
Andy Ayers [Wed, 9 Mar 2016 20:52:52 +0000 (12:52 -0800)]
Merge pull request dotnet/coreclr#3602 from AndyAyersMS/InlineRefactorNativeSize

Inline refactoring: move native callsite estimator

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

8 years agoRemove duplicate ThreadStatic tests.
Aditya Mandaleeka [Wed, 9 Mar 2016 20:17:19 +0000 (12:17 -0800)]
Remove duplicate ThreadStatic tests.

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

8 years agoMerge branch 'master' of https://github.com/dotnet/coreclr
tijoytom [Wed, 9 Mar 2016 19:14:09 +0000 (11:14 -0800)]
Merge branch 'master' of https://github.com/dotnet/coreclr

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

8 years agoInline refactoring: move native callsite estimator
Andy Ayers [Tue, 8 Mar 2016 23:13:56 +0000 (15:13 -0800)]
Inline refactoring: move native callsite estimator

Move the native call site estimation logic into `LegacyPolicy`. Rework
the remaining per-callsite bonus multipliers so that they fit into the
observation framework. Remove `hasNativeSizeEstimate` and instead
check that the inline is a candidate and its observation is a
discretionary inline. Fix header comment in `fgFindJumpTargets`.

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

8 years agoskip ci please
tijoytom [Wed, 9 Mar 2016 18:07:18 +0000 (10:07 -0800)]
skip ci please
Disable test for legacy backend

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

8 years agoMerge pull request dotnet/coreclr#3567 from mikem8361/dbgshimcp
Mike McLaughlin [Wed, 9 Mar 2016 17:48:29 +0000 (09:48 -0800)]
Merge pull request dotnet/coreclr#3567 from mikem8361/dbgshimcp

Add process launch APIs to dbgshim

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

8 years agoMerge pull request dotnet/coreclr#3621 from kyulee1/arm64
Matt Mitchell [Wed, 9 Mar 2016 16:26:38 +0000 (08:26 -0800)]
Merge pull request dotnet/coreclr#3621 from kyulee1/arm64

Add folks to private run

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

8 years agoAdd folks to private run
Kyungwoo Lee [Wed, 9 Mar 2016 15:04:36 +0000 (07:04 -0800)]
Add folks to private run

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

8 years agoMerge pull request dotnet/coreclr#3595 from janvorli/fix-stack-walk-with-finally
Jan Vorlicek [Wed, 9 Mar 2016 10:20:37 +0000 (11:20 +0100)]
Merge pull request dotnet/coreclr#3595 from janvorli/fix-stack-walk-with-finally

Fix stack walking on Unix in case of finally

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

8 years agoMerge pull request dotnet/coreclr#3558 from sejongoh/fix_gc_stress_setup_fail
Sejong Oh [Wed, 9 Mar 2016 07:16:03 +0000 (23:16 -0800)]
Merge pull request dotnet/coreclr#3558 from sejongoh/fix_gc_stress_setup_fail

Fix GC stress setup failure on Unix-like OSes

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

8 years agoAdded CreateProcessForLaunch, ResumeProcess and CloseResumeHandle that can
Mike McLaughlin [Sat, 5 Mar 2016 01:19:20 +0000 (17:19 -0800)]
Added CreateProcessForLaunch, ResumeProcess and CloseResumeHandle that can
be better supported cross-plat.

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

8 years agoMerge pull request dotnet/coreclr#3574 from AndyAyersMS/InlineRefactorMoveStateMachin...
Andy Ayers [Wed, 9 Mar 2016 02:02:56 +0000 (18:02 -0800)]
Merge pull request dotnet/coreclr#3574 from AndyAyersMS/InlineRefactorMoveStateMachineMerge

Inline refactoring: move state machine into LegacyPolicy

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

8 years agoMerge pull request dotnet/coreclr#3588 from janvorli/fix-exception-in-finalizer
Jan Vorlicek [Wed, 9 Mar 2016 01:49:14 +0000 (02:49 +0100)]
Merge pull request dotnet/coreclr#3588 from janvorli/fix-exception-in-finalizer

Fix Unix exception handling in finalizers

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

8 years agoMerge pull request dotnet/coreclr#3478 from kyulee1/var
Kyungwoo Lee [Wed, 9 Mar 2016 01:20:58 +0000 (17:20 -0800)]
Merge pull request dotnet/coreclr#3478 from kyulee1/var

Fix for asserting var addr on stack

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

8 years agoMerge pull request dotnet/coreclr#3575 from stephentoub/argexception_names
Stephen Toub [Wed, 9 Mar 2016 00:03:14 +0000 (19:03 -0500)]
Merge pull request dotnet/coreclr#3575 from stephentoub/argexception_names

Add missing parameter name to GetEra ArgumentOutOfRangeException

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

8 years agoMerge pull request dotnet/coreclr#3594 from pgavlin/GcInfoEncoderCleanup
Pat Gavlin [Tue, 8 Mar 2016 23:37:06 +0000 (15:37 -0800)]
Merge pull request dotnet/coreclr#3594 from pgavlin/GcInfoEncoderCleanup

Move some definitions out of gcinfoencoder.h.

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

8 years agoMove some definitions out of gcinfoencoder.h.
Pat Gavlin [Tue, 8 Mar 2016 21:42:39 +0000 (13:42 -0800)]
Move some definitions out of gcinfoencoder.h.

There are a number of macros, method bodies, and type definitions that
do not need to be in gcinfoencoder.h. Instead, these definitions have
been moved into gcinfoencoder.cpp.

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

8 years agoMerge pull request dotnet/coreclr#3587 from pgavlin/UseListInLSRA
Pat Gavlin [Tue, 8 Mar 2016 21:42:13 +0000 (13:42 -0800)]
Merge pull request dotnet/coreclr#3587 from pgavlin/UseListInLSRA

Use jitstd::list in the LSRA.

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

8 years agoFix stack walking on Unix in case of finally
Jan Vorlicek [Mon, 7 Mar 2016 22:17:10 +0000 (23:17 +0100)]
Fix stack walking on Unix in case of finally

The issue is that the code in the StackFrameIterator::Filter that handles cases
when a funclet frame that was already removed from the stack due to native frames
unwinding works for catch funclets only and not for finally ones.
The ExceptionTracker::GetCallerOfActualHandlingFrame is set for catch funclets
only. To make it work for the finally funclets as well, we need to use information
from the ExceptionTracker::m_EnclosingClauseInfoForGCReporting instead.

There was also another problem in the Filter method that caused the function to
spin in an infinite loop when a parent of a funclet was also a funclet. In
such case, the code in the method rechecks the current frame but the special
functionality to check the exception trackers data needs to be skipped for
the recheck.

And finally, when we find that the current frame was a parent of an unwound
funclet from the evidence in the exception trackers, we also need to set
the fSkippingFunclet.

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

8 years agoMerge pull request dotnet/coreclr#3592 from AndyAyersMS/FixAssert
Andy Ayers [Tue, 8 Mar 2016 21:00:23 +0000 (13:00 -0800)]
Merge pull request dotnet/coreclr#3592 from AndyAyersMS/FixAssert

Inliner: fix assert about repeated failing observations

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

8 years agoDisable tests failing on Linux
tijoytom [Tue, 8 Mar 2016 20:38:42 +0000 (12:38 -0800)]
Disable tests failing on Linux

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

8 years agoUse jitstd::list in the LSRA.
Pat Gavlin [Tue, 8 Mar 2016 16:48:42 +0000 (08:48 -0800)]
Use jitstd::list in the LSRA.

This removes the only usage of ArrayList in the JIT.

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

8 years agoMerge pull request dotnet/coreclr#3469 from wtgodbe/raceCond
William Godbe [Tue, 8 Mar 2016 19:46:36 +0000 (11:46 -0800)]
Merge pull request dotnet/coreclr#3469 from wtgodbe/raceCond

Fix race condition in Pri 2 tests, and revert those tests to Pri 1

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

8 years agoInliner: fix assert about repeated failing observations
Andy Ayers [Tue, 8 Mar 2016 18:35:30 +0000 (10:35 -0800)]
Inliner: fix assert about repeated failing observations

When an inlining attempt is going to fail, the jit aims to bail out of
the attempt as quickly as possible, since any further work on this
inline will just waste time and memory. The jit monitors this in part
by asserting that it only makes one failing observation.

However, there are as few places where failing fast during inlining is
not currently possible, and repeated failing observations may occur.

This change loosens the assertion check to allow repeated
`CALLSITE_TOO_MANY_LOCALS` observations. This observation is made
at a fairly deep stack in `lvaGrabTemp` with no easy route to bail
out in case of imminent failure.

Closes dotnet/coreclr#3586.

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

8 years agoMerge pull request dotnet/coreclr#3555 from LLITCHEV/Issue3540
Lubomir Litchev [Tue, 8 Mar 2016 18:47:52 +0000 (10:47 -0800)]
Merge pull request dotnet/coreclr#3555 from LLITCHEV/Issue3540

Remove the the RBM_LOWINT define. Change the LsraLimitSmallIntSet to have a better representation of callee saved
Unrelated failure in Ubuntu x64 Checked Build and Test.

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

8 years agoFix GC stress setup failure on Unix-like OSes
Sejong Oh [Mon, 7 Mar 2016 22:28:07 +0000 (14:28 -0800)]
Fix GC stress setup failure on Unix-like OSes

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

8 years agoMerge pull request dotnet/coreclr#3573 from vcsjones/fix-3566
Jan Kotas [Tue, 8 Mar 2016 18:13:11 +0000 (10:13 -0800)]
Merge pull request dotnet/coreclr#3573 from vcsjones/fix-3566

Fix failing test in IntPtrGetHashCode.

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

8 years agoMerge pull request dotnet/coreclr#3577 from gkhanna79/FixUbuntu15
Gaurav Khanna [Tue, 8 Mar 2016 17:19:49 +0000 (09:19 -0800)]
Merge pull request dotnet/coreclr#3577 from gkhanna79/FixUbuntu15

Fix Ubuntu 15.10 Build break

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

8 years agoFix Unix exception handling in finalizers
Jan Vorlicek [Mon, 7 Mar 2016 22:09:45 +0000 (23:09 +0100)]
Fix Unix exception handling in finalizers

When unhandled exception happens in a finalizer thread and there are
no managed frames till the bottom of the stack,
the Thread::VirtualUnwindToFirstManagedCallFrame then fails fast.
The fix is to make the Thread::VirtualUnwindToFirstManagedCallFrame to
return even in case no managed frame is called, which is indicated by
its returning 0 as the resulting IP address. The DispatchManagedException
then checks that and rethrows the exception instead of trying to call
UnwindManagedExceptionPass1.
I have also added INSTALL_UNHANDLED_MANAGED_EXCEPTION_TRAP to the
FinalizerThread::FinalizerThreadStart so that the unhandled exception
doesn't escape the stack.
And I also needed to modify the UNINSTALL_UNHANDLED_MANAGED_EXCEPTION_TRAP
to detect case when the unhandled exception filter was already executed so
that it doesn't double-report the unhandled exception.

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

8 years agoFix for casting byref to double in morph
Kyungwoo Lee [Fri, 4 Mar 2016 21:18:08 +0000 (13:18 -0800)]
Fix for casting byref to double in morph

This fixes https://github.com/dotnet/coreclr/issues/3517.
JIT didn't cast byref to double in morph, which caused
this assertion later.
The fix is to handle such case as well.

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

8 years agoMerge pull request dotnet/coreclr#3548 from kyulee1/fixgc
Kyungwoo Lee [Tue, 8 Mar 2016 14:14:53 +0000 (06:14 -0800)]
Merge pull request dotnet/coreclr#3548 from kyulee1/fixgc

ARM64: Fix for handling GC register for call site

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

8 years agoMerge pull request dotnet/coreclr#3568 from dotnet-bot/from-tfs
Jan Kotas [Tue, 8 Mar 2016 09:59:40 +0000 (01:59 -0800)]
Merge pull request dotnet/coreclr#3568 from dotnet-bot/from-tfs

Merge changes from TFS

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

8 years agoMerge pull request dotnet/coreclr#3576 from leemgs/upstream-crossbuild
Jan Kotas [Tue, 8 Mar 2016 09:58:05 +0000 (01:58 -0800)]
Merge pull request dotnet/coreclr#3576 from leemgs/upstream-crossbuild

ARM: skip generating native image for mscorlib in case of cross build

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

8 years agoFix Ubuntu 15.10 Build break
Gaurav Khanna [Tue, 8 Mar 2016 05:22:03 +0000 (21:22 -0800)]
Fix Ubuntu 15.10 Build break

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

8 years agoARM: skip generating native image for mscorlib in case of cross build
Geunsik Lim [Tue, 8 Mar 2016 04:30:21 +0000 (13:30 +0900)]
ARM: skip generating native image for mscorlib in case of cross build

We need to skip generating native image for mscorlib in build_mscorlib()
of ./coreclr/build.sh when we do cross build for Linux/ARM on Ubuntu
14.04 x86 64bit PC.

Signed-off-by: Geunsik Lim geunsik.lim@samsung.com
Signed-off-by: Prajwal A N an.prajwal@samsung.com
Signed-off-by: MyungJoo Ham myungjoo.ham@samsung.com
Commit migrated from https://github.com/dotnet/coreclr/commit/fb3448819c2905605c223a6edbd57990f4eb248c

8 years agoAdd missing parameter name to GetEra ArgumentOutOFRangeException
stephentoub [Tue, 8 Mar 2016 04:03:54 +0000 (23:03 -0500)]
Add missing parameter name to GetEra ArgumentOutOFRangeException

The exception's parameter name is incorrectly getting set to the intended message ("Time value was out of era range.").

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

8 years agoInline refactoring: move state machine into LegacyPolicy
Andy Ayers [Fri, 4 Mar 2016 22:16:58 +0000 (14:16 -0800)]
Inline refactoring: move state machine into LegacyPolicy

The state machine used to estimate callee native code size is now an
internal part of the LegacyPolicy.

During `fgFindJumpTargets` the policy determines if the state machine
is need, and if so, sets one up. `fgFindJumpTargets` then notifies the
policy of the various opcodes in the method, and the policy uses this
to drive the state machine forward.

When the IL scan is completed, the `fgFindJumpTargets` notifies the
policy, then, for the discretionary inline case, grabs the native size
estimate, and uses that to evaluate inlinability.

The knowledge of when inlines are "always", "forced", or
"discretionary" is now encapsulated by the policy instead of being
distributed in various places in the code.

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

8 years agoRemove the RBM_LOWINT define. Change LsraLimitSmallIntSet to have a better representa...
Lubomir Litchev [Mon, 7 Mar 2016 21:13:38 +0000 (13:13 -0800)]
Remove the RBM_LOWINT define. Change LsraLimitSmallIntSet to have a better representation of callee saved
register for stress mode testing on System V OSs.

Remove the RBM_LOWINT define and change the LsraLimitSmallIntSet register
mask for System V OSs to provide a good
ratio between caller and calles saved register for the purposes of stress
testing.

Fixes issue dotnet/coreclr#3540.

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

8 years agoMerge pull request dotnet/coreclr#3564 from jashook/x86_lb_excludes
Jarret Shook [Tue, 8 Mar 2016 02:14:00 +0000 (18:14 -0800)]
Merge pull request dotnet/coreclr#3564 from jashook/x86_lb_excludes

x86 lb excludes

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

8 years agoDisabling failing tests.
tijoytom [Tue, 8 Mar 2016 01:39:40 +0000 (17:39 -0800)]
Disabling failing tests.

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

8 years agoFix failing test in IntPtrGetHashCode.
Kevin Jones [Mon, 7 Mar 2016 23:16:03 +0000 (18:16 -0500)]
Fix failing test in IntPtrGetHashCode.

Test was not updated to reflect changes in GetHashCode.

Fix dotnet/coreclr#3566

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

8 years agoMerge pull request dotnet/coreclr#3556 from AndyAyersMS/InlineRefactorEarlyForce
Andy Ayers [Tue, 8 Mar 2016 01:09:59 +0000 (17:09 -0800)]
Merge pull request dotnet/coreclr#3556 from AndyAyersMS/InlineRefactorEarlyForce

Inline refactoring: revise candidacy determination

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

8 years agoMerge pull request dotnet/coreclr#3441 from ramarag/pal_longfile
Rama krishnan Raghupathy [Tue, 8 Mar 2016 00:58:24 +0000 (16:58 -0800)]
Merge pull request dotnet/coreclr#3441 from ramarag/pal_longfile

Enabling LongFile Support in PAL

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

8 years agoMerge pull request dotnet/coreclr#3553 from dotnet-bot/from-tfs
Pat Gavlin [Tue, 8 Mar 2016 00:57:36 +0000 (16:57 -0800)]
Merge pull request dotnet/coreclr#3553 from dotnet-bot/from-tfs

Merge changes from TFS

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

8 years agoMerge pull request dotnet/coreclr#3477 from DrewScoggins/master
Matt Ellis [Tue, 8 Mar 2016 00:49:05 +0000 (16:49 -0800)]
Merge pull request dotnet/coreclr#3477 from DrewScoggins/master

Update Linux build instructions

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

8 years agox86 lb excludes
Jarret Shook [Tue, 8 Mar 2016 00:10:38 +0000 (16:10 -0800)]
x86 lb excludes

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

8 years agoImprove interop test coverage
tijoytom [Mon, 7 Mar 2016 23:34:38 +0000 (15:34 -0800)]
Improve interop test coverage
Updating license headers
Delete duplicate test

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

8 years agoFix build break on Desktop arising out of MoveFileWrapper cleanup.
Gaurav Khanna [Mon, 7 Mar 2016 22:08:44 +0000 (14:08 -0800)]
Fix build break on Desktop arising out of MoveFileWrapper cleanup.

[tfs-changeset: 1582170]

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

8 years agoInline refactoring: revise candidacy determination
Andy Ayers [Mon, 7 Mar 2016 20:23:09 +0000 (12:23 -0800)]
Inline refactoring: revise candidacy determination

Rework the code to determine the key aspects of candidacy up front
rather than figuring it out eventually. In particular this ensures
that the two stages of evaulation for inlines both start at the same
point for candidates.

This will help streamline subsequent work to move the state machine
into the policy, since the state machine is only needed for the
case where the candidate is a discretionary inline, and the policy
now tracks this directly.

For the `LegacyPolicy`, if an inline is both smaller than the always
inline size and marked force inline, attribute its inlining to its
small size.

Remove bulk of the of the "evaluation in progress" candidate
observations since they don't add much value. As a result `noteCandidate`
is not needed as an external API, and can be repurposed internally as
`setCandidate`.

Change how the prejit root case is tracked to make it explicit
from the context rather than a callback to the compiler.

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

8 years agoEnabling LongFile Support in PAL
DDCloud [Tue, 1 Mar 2016 04:24:42 +0000 (20:24 -0800)]
Enabling LongFile Support in PAL

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

8 years agoARM64: Fix for handling GC register for call site
Kyungwoo Lee [Mon, 7 Mar 2016 16:49:10 +0000 (08:49 -0800)]
ARM64: Fix for handling GC register for call site

This fixes https://github.com/dotnet/coreclr/issues/2731.
Looking at GC heap corruption, JIT incorrectly reports the live range of
GC references so GC swept the live objects.
The issue was when JIT emits call instruction, GC live register is not
processed at all, which JIT treated them as dead.
The fix is to implement this missing part for ARM64.

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

8 years agoReapply change 1578859: Add a new set of APIs for JIT configuration.
Pat Gavlin [Mon, 7 Mar 2016 19:41:19 +0000 (11:41 -0800)]
Reapply change 1578859: Add a new set of APIs for JIT configuration.

SuperPMI has been udpated to accommodate this change, and should no
longer crash when run using a JIT built with these changes.

[tfs-changeset: 1582144]

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

8 years agoFix race condition in Pri 2 tests, and revert those tests to Pri 1
William Godbe [Wed, 2 Mar 2016 20:04:46 +0000 (12:04 -0800)]
Fix race condition in Pri 2 tests, and revert those tests to Pri 1

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

8 years agoMerge pull request dotnet/coreclr#2878 from jashook/x86_exclude_update
Jarret Shook [Mon, 7 Mar 2016 18:59:55 +0000 (10:59 -0800)]
Merge pull request dotnet/coreclr#2878 from jashook/x86_exclude_update

Update x86 lb excludes and turn on ci testing for x86 lb.

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

8 years agoMerge pull request dotnet/coreclr#3521 from LLITCHEV/Issue3225
Lubomir Litchev [Mon, 7 Mar 2016 18:26:03 +0000 (10:26 -0800)]
Merge pull request dotnet/coreclr#3521 from LLITCHEV/Issue3225

Remove a duplicate address tree consumption.

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

8 years agoNew x86 excludes and turn on ci testing for x86.
jashook [Wed, 27 Jan 2016 05:46:48 +0000 (21:46 -0800)]
New x86 excludes and turn on ci testing for x86.

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

8 years agoMerge pull request dotnet/coreclr#3543 from leemgs/upstream-cross-arch2
Jan Kotas [Mon, 7 Mar 2016 04:00:52 +0000 (20:00 -0800)]
Merge pull request dotnet/coreclr#3543 from leemgs/upstream-cross-arch2

ARM: Remove Distro/OS that have not been tested

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

8 years agoARM: Remove Distro/OS that have not been tested
Geunsik Lim [Mon, 7 Mar 2016 02:12:36 +0000 (11:12 +0900)]
ARM: Remove Distro/OS that have not been tested

Let's remove rest Distro/OSes to keep only the Distro/OS that have been tested
until someone actually start using/testing CoreCLR on RHEL, Debian, OSX, and so on.

Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/d1dfd9f1adfd2c76253003adc20dae282b04e674

8 years agoMerge pull request dotnet/coreclr#3470 from erozenfeld/ValueNumbersForR2RHelpers
Jan Kotas [Sun, 6 Mar 2016 03:15:10 +0000 (19:15 -0800)]
Merge pull request dotnet/coreclr#3470 from erozenfeld/ValueNumbersForR2RHelpers

Improvements for ReadyToRun helpers in JIT value numbering.

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

8 years agoMerge pull request dotnet/coreclr#3508 from hughbe/patch-1
Jan Kotas [Sun, 6 Mar 2016 03:11:10 +0000 (19:11 -0800)]
Merge pull request dotnet/coreclr#3508 from hughbe/patch-1

Fix incorrect exception parameter name in GC

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

8 years agoMerge pull request dotnet/coreclr#3538 from vcsjones/fix-3531
Jan Kotas [Sun, 6 Mar 2016 03:00:27 +0000 (19:00 -0800)]
Merge pull request dotnet/coreclr#3538 from vcsjones/fix-3531

Fix compilation errors on tests.

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

8 years agoFix compilation errors on tests.
Kevin Jones [Sat, 5 Mar 2016 23:07:11 +0000 (18:07 -0500)]
Fix compilation errors on tests.

Fix dotnet/coreclr#3531

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

8 years agoMerge pull request dotnet/coreclr#3536 from JohnChen0/master
Jan Kotas [Sat, 5 Mar 2016 19:31:50 +0000 (11:31 -0800)]
Merge pull request dotnet/coreclr#3536 from JohnChen0/master

Modify zaprequire switch to allow Ready-to-Run images

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

8 years agoModify zaprequire switch to allow Ready-to-Run images
John Chen (CLR) [Sat, 5 Mar 2016 03:38:55 +0000 (19:38 -0800)]
Modify zaprequire switch to allow Ready-to-Run images

Address issue dotnet/coreclr#3527.

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

8 years agoMerge pull request dotnet/coreclr#3446 from kyulee1/FixIlasmTool
Kyungwoo Lee [Sat, 5 Mar 2016 16:22:12 +0000 (08:22 -0800)]
Merge pull request dotnet/coreclr#3446 from kyulee1/FixIlasmTool

Fix for not using ilasm from the build binary

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

8 years agoMerge pull request dotnet/coreclr#3528 from leemgs/upstream-pal-linux-macro
Jan Kotas [Sat, 5 Mar 2016 14:16:21 +0000 (06:16 -0800)]
Merge pull request dotnet/coreclr#3528 from leemgs/upstream-pal-linux-macro

Replace all uses of __LINUX__ with the lower case

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

8 years agoMerge pull request dotnet/coreclr#3525 from leemgs/upstream-cross-arch
Jan Kotas [Sat, 5 Mar 2016 14:11:44 +0000 (06:11 -0800)]
Merge pull request dotnet/coreclr#3525 from leemgs/upstream-cross-arch

Add arm[64] to isMSBuildOnNETCoreSupported()

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

8 years agoMerge pull request dotnet/coreclr#3530 from ramarag/fixtest
Rama krishnan Raghupathy [Sat, 5 Mar 2016 09:31:03 +0000 (01:31 -0800)]
Merge pull request dotnet/coreclr#3530 from ramarag/fixtest

Fix syntax error in test code

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

8 years agoFix syntax error in test code
Rama Krishnan Raghupathy [Sat, 5 Mar 2016 09:22:29 +0000 (01:22 -0800)]
Fix syntax error in test code

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

8 years agoReplace all uses of __LINUX__ with the lower case
Geunsik Lim [Sat, 5 Mar 2016 03:05:12 +0000 (12:05 +0900)]
Replace all uses of __LINUX__ with the lower case

According to https://sourceforge.net/p/predef/wiki/OperatingSystems/
(Pre-defined Compiler Macros) and http://www.faqs.org/docs/Linux-HOWTO/GCC-HOWTO.html
(Porting and compiling:Automatically defined symbols), the __linux__ marcro is the
right way to detect systems based on the Linux kernel and is the POSIX compliant.

Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/6f7aa7967c607b8c667518314ab937c0d7547025

8 years agoImprovements for ReadyToRun helpers in JIT value numbering.
Eugene Rozenfeld [Wed, 2 Mar 2016 06:17:00 +0000 (22:17 -0800)]
Improvements for ReadyToRun helpers in JIT value numbering.

The following ReadyToRun helpers are now treated similarly to their normal
counterparts in value numbering:
CORINFO_HELP_READYTORUN_NEW
CORINFO_HELP_READYTORUN_NEWARR_1
CORINFO_HELP_READYTORUN_ISINSTANCEOF
CORINFO_HELP_READYTORUN_CHKCAST
CORINFO_HELP_READYTORUN_STATIC_BASE

In particular, this allows CSE-ing calls to the last 3 of the above helpers when
possible. dotnet/coreclr#3281 is an issue for CORINFO_HELP_READYTORUN_STATIC_BASE.

Compiler::fgValueNumberHelperCallFunc is refactored to reduce code
duplication.

Closes dotnet/coreclr#3281.

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

8 years agoMerge pull request dotnet/coreclr#3505 from LLITCHEV/Issue3360
Lubomir Litchev [Sat, 5 Mar 2016 01:26:49 +0000 (17:26 -0800)]
Merge pull request dotnet/coreclr#3505 from LLITCHEV/Issue3360

Reenable an assert.

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

8 years agoMerge pull request dotnet/coreclr#3523 from briansull/struct16-fix
Brian Sullivan [Sat, 5 Mar 2016 01:10:32 +0000 (17:10 -0800)]
Merge pull request dotnet/coreclr#3523 from briansull/struct16-fix

Fixes for 16-byte struct argument passing for ARM64

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

8 years agoFixes for 16-byte struct argument passing for ARM64
Brian Sullivan [Fri, 4 Mar 2016 22:39:36 +0000 (14:39 -0800)]
Fixes for 16-byte struct argument passing for ARM64

Workarounds to fix Issue 3151 and Issue 2987
14 additional tests are now passing
When passing two register TYP_STRUCT type suisng PUTARG_REG we add a physical register kill for the second register
When generating code for a 16-byte GT_LDOJ that conbatisn GC references we reverse the instructions when necessary
Added new utility method lvIsMultiregStruct() that returns true for the ARM64 16-byte struct type
Updated Tests.lst file

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

8 years agoAdd arm[64] to isMSBuildOnNETCoreSupported()
Geunsik Lim [Sat, 5 Mar 2016 00:26:17 +0000 (09:26 +0900)]
Add arm[64] to isMSBuildOnNETCoreSupported()

Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/be506eb3fadff99ae651fa1565eb59245486dcb1

8 years agoMerge pull request dotnet/coreclr#3513 from mikem8361/soschanges
Mike McLaughlin [Sat, 5 Mar 2016 00:24:42 +0000 (16:24 -0800)]
Merge pull request dotnet/coreclr#3513 from mikem8361/soschanges

Fix two sos issues.

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

8 years agoMerge pull request dotnet/coreclr#3518 from gkhanna79/OSXRepro
Gaurav Khanna [Sat, 5 Mar 2016 00:16:17 +0000 (16:16 -0800)]
Merge pull request dotnet/coreclr#3518 from gkhanna79/OSXRepro

Define Platform and OutputPaths

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

8 years agoMerge pull request dotnet/coreclr#3519 from JohnChen0/longpath
John Chen [Sat, 5 Mar 2016 00:09:22 +0000 (16:09 -0800)]
Merge pull request dotnet/coreclr#3519 from JohnChen0/longpath

Restore linking debug corerun.exe with retail CRT

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

8 years agoMerge pull request dotnet/coreclr#3511 from vcsjones/fix-3506
Jan Kotas [Sat, 5 Mar 2016 00:05:34 +0000 (16:05 -0800)]
Merge pull request dotnet/coreclr#3511 from vcsjones/fix-3506

Improve GetHashCode for IntPtr/UIntPtr on 64-bit.

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

8 years agoMerge pull request dotnet/coreclr#3507 from gkhanna79/OneCore2
Gaurav Khanna [Fri, 4 Mar 2016 22:47:50 +0000 (14:47 -0800)]
Merge pull request dotnet/coreclr#3507 from gkhanna79/OneCore2

Fix CRT linkages for uCRT

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

8 years agoMerge pull request dotnet/coreclr#3452 from fujiy/patch-1
Aditya Mandaleeka [Fri, 4 Mar 2016 22:33:15 +0000 (14:33 -0800)]
Merge pull request dotnet/coreclr#3452 from fujiy/patch-1

Anchor Tag fix

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

8 years agoReenable an assert.
Lubomir Litchev [Fri, 4 Mar 2016 15:34:07 +0000 (07:34 -0800)]
Reenable an assert.

Back in December an assert was commented out in the code (when a big PR
was done).
The issue was that in one case of a tail call test there was a LcLVar with
type of TYP_STRUCT with a single eightbyte.
This should not have happened since in such cses the type of the LclVar is
normalized to the type of the first structs' eightbyte.
Enabling the assert has no effect on the test in question - it passes.
I suspect the issue was resolved sometime back (in January) when we
discovered there were some bad merges in the big PR wiping . As I recall, at least
one was related to a taken out tail call fix.

Fixes issue 3360.

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