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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Gaurav Khanna [Fri, 4 Mar 2016 21:44:36 +0000 (13:44 -0800)]
Define Platform and OutputPaths before Microsoft.Common.CurrentVersion.targets is included.
Commit migrated from https://github.com/dotnet/coreclr/commit/
4b5dd7f83c62f476e7896ffad3a77ce0776e43ab
Lubomir Litchev [Fri, 4 Mar 2016 21:44:40 +0000 (13:44 -0800)]
Remove a duplicate address tree consumption.
In void CodeGen::genEmitCallvoid CodeGen::genEmitCall override that takes
a GenTreeIndir AST we consume the indir addr node. Same thing is done in
codegenxarch.cpp just before this method is called. This PR removes the
later and thus leaving one consumption of the indirTree->Addr() tree.
Commit migrated from https://github.com/dotnet/coreclr/commit/
5c6cbc1a3991979d1ace7647f91ddc13c0fede7e
Kevin Jones [Fri, 4 Mar 2016 17:22:36 +0000 (12:22 -0500)]
Improve GetHashCode for IntPtr/UIntPtr on 64-bit.
The GetHashCode behavior on IntPtr and UIntPtr truncated the upper 32 bits.
This change uses the behavior of long and ulong, respectively, to generate
the hash code.
UIntPtr no longer strips off the top-most bit for GetHashCode purposes.
Fix dotnet/coreclr#3506
Commit migrated from https://github.com/dotnet/coreclr/commit/
7688c54a9a9938e45625937270e9d29deab62824
John Chen (CLR) [Fri, 4 Mar 2016 21:39:47 +0000 (13:39 -0800)]
Restore linking debug corerun.exe with retail CRT
The long path support feature modified debug corerun.exe with debug
CRT (msvcrtd.dll). This made it more difficult to use corerun.exe,
since the debug CRT is not always available. It turns out this change
is no longer necessary, so reverting part of the change to link debug
corerun.exe with retail CRT (msvcrt.dll) again.
Commit migrated from https://github.com/dotnet/coreclr/commit/
9c044e74c13c26229c0c001f810798bc7c7cf1bb
Drew Scoggins [Fri, 4 Mar 2016 21:29:48 +0000 (13:29 -0800)]
Update Linux install instructions
Removed all of the instructions that related to running the hello world
sample on Linux. Also removed the dependency on mono from the
intsructions as this is no longer needed. Finally, I removed the steps
that related to using Windows as that is no longer needed for the Linux
build.
Commit migrated from https://github.com/dotnet/coreclr/commit/
bacf6b705f6a157baa407fa39cf4ad938c785cb4
Pat Gavlin [Fri, 4 Mar 2016 21:25:04 +0000 (13:25 -0800)]
Merge pull request dotnet/coreclr#3495 from pgavlin/HistogramCleanup
Clean up the JIT's histogram type.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a43659055974983c910d421144f749498f9f66a4
Jan Kotas [Fri, 4 Mar 2016 21:10:49 +0000 (13:10 -0800)]
Merge pull request dotnet/coreclr#3512 from benpye/arm-monotonic-coarse-tryrun
Add value to arm/arm64 tryrun files for HAVE_CLOCK_MONOTONIC_COARSE.
Commit migrated from https://github.com/dotnet/coreclr/commit/
d3131ac9b36a6004bd042703e17cec4941d3f5aa
Kyungwoo Lee [Fri, 4 Mar 2016 20:35:13 +0000 (12:35 -0800)]
Fix for not using ilasm from the build binary
Using ilasm from the build is a desire to test ilasm tool -- in fact we've now had ildasm-ilasm round-trip tests,
so this is not critical either.
But when building cross-target like ARM64, running such native ilasm in the different host (x64) is not an option.
Given the current test architect where tests are all populated in Windows,
I just fall back to use one from VS tool same as other tools like CSC.
Ideally, we should download such host tools based on host target especially
when we start populating tests on non-Window platforms.
Currently two of tests are disabled due to the issue dotnet/coreclr#3517.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0495211bd4a2e3b766f1d5bd7714ddb0f8534252
Kyungwoo Lee [Fri, 4 Mar 2016 20:29:11 +0000 (12:29 -0800)]
Merge pull request dotnet/coreclr#3509 from kyulee1/arm64build
Fix for disabling incremental build for ARM64
Commit migrated from https://github.com/dotnet/coreclr/commit/
15b1e52e2d61ee7b624e048c2dca39af4195087c
Aditya Mandaleeka [Fri, 4 Mar 2016 20:27:06 +0000 (12:27 -0800)]
Merge pull request dotnet/coreclr#3497 from adityamandaleeka/threading_test_port
[WIP] Open source some more threading tests
Commit migrated from https://github.com/dotnet/coreclr/commit/
f1edbd345b2f76dc9bee2917c08e5992ddf506fd
Ben Pye [Fri, 4 Mar 2016 18:24:37 +0000 (18:24 +0000)]
Fix C++11 issue when converting string to char *
Commit migrated from https://github.com/dotnet/coreclr/commit/
3a6beaaf949f0eac36eabf2a2ea4cff3dccf3561
Andy Ayers [Fri, 4 Mar 2016 19:27:22 +0000 (11:27 -0800)]
Merge pull request dotnet/coreclr#3500 from AndyAyersMS/InlineRefactorInlineHints
Inline refactoring: convert hints into observations
Commit migrated from https://github.com/dotnet/coreclr/commit/
943014f2b621925a3722648f96ec2ee125747e43
Pat Gavlin [Thu, 3 Mar 2016 20:54:34 +0000 (12:54 -0800)]
Clean up the JIT's histogram type.
Commit migrated from https://github.com/dotnet/coreclr/commit/
225a9f0752ae64919b50935953748dbadfb2ffa7
Mike McLaughlin [Fri, 4 Mar 2016 18:05:24 +0000 (10:05 -0800)]
Fix two sos issues.
ARM Disassemble problem and reenterency bug on Windows.
Commit migrated from https://github.com/dotnet/coreclr/commit/
cffbe7fd0ede76a9e0277c525f494e5e96267775
Ben Pye [Fri, 4 Mar 2016 18:01:56 +0000 (18:01 +0000)]
Add value to arm/arm64 tryrun files for HAVE_CLOCK_MONOTONIC_COARSE.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c68625aa7ec91a28ae4e5bc8f3cf534faaacb42e
Rahul Kumar [Fri, 4 Mar 2016 17:56:52 +0000 (09:56 -0800)]
Merge pull request dotnet/coreclr#3491 from rahku/Helix
add TargetsWindows property required by cloudtest.targets in buildtools package
Commit migrated from https://github.com/dotnet/coreclr/commit/
abd29485cbaa727c36e844e7bae6a0f76a6b5747
Rahul Kumar [Tue, 1 Mar 2016 23:31:11 +0000 (15:31 -0800)]
add TargetsWindows property required by cloudtest.targets in buildtools package
Commit migrated from https://github.com/dotnet/coreclr/commit/
a6947022eeab93b83f13fbeb092c664a6ae24f15
Aditya Mandaleeka [Fri, 4 Mar 2016 17:44:12 +0000 (09:44 -0800)]
Change priority of tests in baseservices/threading to 1.
Commit migrated from https://github.com/dotnet/coreclr/commit/
1a733823af3a15b8572511953a5b039148dbc48e
Jan Kotas [Fri, 4 Mar 2016 17:36:05 +0000 (09:36 -0800)]
Merge pull request dotnet/coreclr#3502 from myungjoo/fix/3462_arm_linux_stack
ARM-Linux Fixes (Issue dotnet/coreclr#3462)
Commit migrated from https://github.com/dotnet/coreclr/commit/
41d393fc361359b0143dc5ae62ae3a255e052d78
Jan Kotas [Fri, 4 Mar 2016 17:33:26 +0000 (09:33 -0800)]
Merge pull request dotnet/coreclr#3503 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
f80c2fbb673dce9b049e4d02d0b8eadf998e9ea2
Mike McLaughlin [Fri, 4 Mar 2016 17:31:15 +0000 (09:31 -0800)]
Merge pull request dotnet/coreclr#3404 from gregg-miskelly/DbgShimFix
DbgShim!RegisterForRuntimeStartup: Avoid extra call to callback
Commit migrated from https://github.com/dotnet/coreclr/commit/
e43986007ec23e55c02d50d0aa20ec88eb50af83
Gaurav Khanna [Fri, 4 Mar 2016 02:10:26 +0000 (18:10 -0800)]
Fixup CRT linkages for uCRT
Commit migrated from https://github.com/dotnet/coreclr/commit/
f8dfa40dc21c01e4dc297aeb4a23db22d1830506
Sejong Oh [Fri, 4 Mar 2016 17:08:22 +0000 (09:08 -0800)]
Merge pull request dotnet/coreclr#3156 from sejongoh/add_gc_stress_modes
Add GC stress modes
Commit migrated from https://github.com/dotnet/coreclr/commit/
d31008b8ee2ad0303d90905188e50d3f6cd8e166
Sejong Oh [Fri, 4 Mar 2016 17:06:27 +0000 (09:06 -0800)]
Merge pull request dotnet/coreclr#3337 from sejongoh/reuse_existing_function_to_set_stress_modes
reuse getStressModeScriptStep
Commit migrated from https://github.com/dotnet/coreclr/commit/
31fabd33c981aba3ffbd457553f04ad0da66c3df
Andy Ayers [Wed, 2 Mar 2016 23:21:50 +0000 (15:21 -0800)]
Inline refactoring: convert hints into observations
This change updates the inlining code to use observations in place of
the InlineHints and hint-like things (eg "HasSimd"). A number of new
observations were added in support of this.
The `compInlineeHints` member of the compiler object was removed as
the same information is now tracked by the inline policy. The policy
also now contains most of the weights and combining logic used to
compute the profitabiliy boost for the candidate.
There is one subtle and tricky aspect to the change. For the most part
the hints were ignored during the prejit-root analysis, but the mostly
load-store hint was propagated and influenced the inlines done when
crossgenning mscorlib. See dotnet/coreclr#3482 for more on this particular quirk.
I've preserved this behavior by "passing" the prejit inline result
into `fgFindJumpTargets`. In actuality the result is passed by
temporarily setting the `compInlineResult` compiler member variable.
Then, in `fgFindJumpTargets`, the load-store observation is the only
one not guarded by `compIsForInlining`. In a subsequent change I'll redo
the guards at other observation sites and put the policy aspects of these
observations into the policy object.
This addresses another piece of the work outlined in dotnet/coreclr#3371.
Commit migrated from https://github.com/dotnet/coreclr/commit/
07278237ec9470d8885fca486bed899bb2ce0c81
Hugh Bellamy [Fri, 4 Mar 2016 16:42:30 +0000 (16:42 +0000)]
Fix incorrect exception parameter name in GC
Commit migrated from https://github.com/dotnet/coreclr/commit/
567e3db36bf4385cb2e079507acde1d66de8f1f6
Kyungwoo Lee [Fri, 4 Mar 2016 16:38:05 +0000 (08:38 -0800)]
Fix for disabling incremental build for ARM64
The fix (dotnet/coreclr@
d58885c9a37d857f10d90f6db7246630d4ce8980) broke ARM64 debug
build.
The right fix is to disable such flag for all archs.
Commit migrated from https://github.com/dotnet/coreclr/commit/
b00684d1ee8afabb0a746feb25b70c595f3b7d32
Maoni Stephens [Fri, 4 Mar 2016 07:33:35 +0000 (23:33 -0800)]
197654 [x86] [scanRuntime] Fix contracts in gcenv.os.cpp
[tfs-changeset: 1581565]
Commit migrated from https://github.com/dotnet/coreclr/commit/
b59c6f3017bccac19eededde69e9ad1eff612e2a
MyungJoo Ham [Fri, 4 Mar 2016 04:38:15 +0000 (13:38 +0900)]
Fix Stack Unwind Behavior of Libunwind-ARM
Disable UNW_ARM_METHOD_DWARF, which gets problematic with
assembly-created stacks in ARM systems.
Although previous commits have fixed the compatibility issues
between cpp stacks and libunwind-arm, the assembly part
(asmhelpers.S) had similar problems.
Fix dotnet/coreclr#3462
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
35b5df6888f1574e6ef9313c6bc8522d1817573d
MyungJoo Ham [Wed, 2 Mar 2016 12:27:00 +0000 (21:27 +0900)]
Fix PAL_VirtualUnwind Behavior with Clutters in PC
Libunwind-ARM recommends to read LR to get value of PC
while unwinding stack, which often causes the caller
(PAL_VirtualUnwind) to have LSB of PC set.
Such behavior incurs errornous behavior of PAL_VirtualUnwind
if the output is fed back to PAL_VirtualUnwind as the input,
which is observed with VirtualUnwindToFirstManagedCallFrame().
This commit clears LSB of PC in WinContext to prevent it.
Note that this is a partial fix for the issue dotnet/coreclr#3462.
(this does not fix assembly stacks)
Fix dotnet/coreclr#3462
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
b15c9d4f8a2bdad6dc7ecc03df037783e31d7d0c
Sejong Oh [Fri, 12 Feb 2016 09:23:35 +0000 (01:23 -0800)]
Add GC stress modes
Commit migrated from https://github.com/dotnet/coreclr/commit/
316b3397c30cc63be4feb70b79e1d79fc26cd062
Kyungwoo Lee [Fri, 4 Mar 2016 02:04:56 +0000 (18:04 -0800)]
Merge pull request dotnet/coreclr#3498 from kyulee1/disinc
Fix for disabling incremental link in Windows
Commit migrated from https://github.com/dotnet/coreclr/commit/
4707152ea16ca35af2c87f43db3536001f1d0e6b
Sejong Oh [Wed, 24 Feb 2016 05:44:38 +0000 (21:44 -0800)]
reuse getStressModeScriptStep
Commit migrated from https://github.com/dotnet/coreclr/commit/
3048ee20e3edc7b115b7e1509de7697c81e6610d