Jan Vorlicek [Wed, 9 Mar 2016 10:20:37 +0000 (11:20 +0100)]
Merge pull request #3595 from janvorli/fix-stack-walk-with-finally
Fix stack walking on Unix in case of finally
Sejong Oh [Wed, 9 Mar 2016 07:16:03 +0000 (23:16 -0800)]
Merge pull request #3558 from sejongoh/fix_gc_stress_setup_fail
Fix GC stress setup failure on Unix-like OSes
Andy Ayers [Wed, 9 Mar 2016 02:02:56 +0000 (18:02 -0800)]
Merge pull request #3574 from AndyAyersMS/InlineRefactorMoveStateMachineMerge
Inline refactoring: move state machine into LegacyPolicy
Jan Vorlicek [Wed, 9 Mar 2016 01:49:14 +0000 (02:49 +0100)]
Merge pull request #3588 from janvorli/fix-exception-in-finalizer
Fix Unix exception handling in finalizers
Kyungwoo Lee [Wed, 9 Mar 2016 01:20:58 +0000 (17:20 -0800)]
Merge pull request #3478 from kyulee1/var
Fix for asserting var addr on stack
Stephen Toub [Wed, 9 Mar 2016 00:03:14 +0000 (19:03 -0500)]
Merge pull request #3575 from stephentoub/argexception_names
Add missing parameter name to GetEra ArgumentOutOfRangeException
Pat Gavlin [Tue, 8 Mar 2016 23:37:06 +0000 (15:37 -0800)]
Merge pull request #3594 from pgavlin/GcInfoEncoderCleanup
Move 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.
Pat Gavlin [Tue, 8 Mar 2016 21:42:13 +0000 (13:42 -0800)]
Merge pull request #3587 from pgavlin/UseListInLSRA
Use jitstd::list in the LSRA.
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.
Andy Ayers [Tue, 8 Mar 2016 21:00:23 +0000 (13:00 -0800)]
Merge pull request #3592 from AndyAyersMS/FixAssert
Inliner: fix assert about repeated failing observations
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.
William Godbe [Tue, 8 Mar 2016 19:46:36 +0000 (11:46 -0800)]
Merge pull request #3469 from wtgodbe/raceCond
Fix race condition in Pri 2 tests, and revert those tests to Pri 1
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 #3586.
Lubomir Litchev [Tue, 8 Mar 2016 18:47:52 +0000 (10:47 -0800)]
Merge pull request #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.
Sejong Oh [Mon, 7 Mar 2016 22:28:07 +0000 (14:28 -0800)]
Fix GC stress setup failure on Unix-like OSes
Jan Kotas [Tue, 8 Mar 2016 18:13:11 +0000 (10:13 -0800)]
Merge pull request #3573 from vcsjones/fix-3566
Fix failing test in IntPtrGetHashCode.
Gaurav Khanna [Tue, 8 Mar 2016 17:19:49 +0000 (09:19 -0800)]
Merge pull request #3577 from gkhanna79/FixUbuntu15
Fix Ubuntu 15.10 Build break
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.
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.
Kyungwoo Lee [Tue, 8 Mar 2016 14:14:53 +0000 (06:14 -0800)]
Merge pull request #3548 from kyulee1/fixgc
ARM64: Fix for handling GC register for call site
Jan Kotas [Tue, 8 Mar 2016 09:59:40 +0000 (01:59 -0800)]
Merge pull request #3568 from dotnet-bot/from-tfs
Merge changes from TFS
Jan Kotas [Tue, 8 Mar 2016 09:58:05 +0000 (01:58 -0800)]
Merge pull request #3576 from leemgs/upstream-crossbuild
ARM: skip generating native image for mscorlib in case of cross build
Gaurav Khanna [Tue, 8 Mar 2016 05:22:03 +0000 (21:22 -0800)]
Fix Ubuntu 15.10 Build break
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
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.").
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.
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 #3540.
Jarret Shook [Tue, 8 Mar 2016 02:14:00 +0000 (18:14 -0800)]
Merge pull request #3564 from jashook/x86_lb_excludes
x86 lb excludes
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 #3566
Andy Ayers [Tue, 8 Mar 2016 01:09:59 +0000 (17:09 -0800)]
Merge pull request #3556 from AndyAyersMS/InlineRefactorEarlyForce
Inline refactoring: revise candidacy determination
Rama krishnan Raghupathy [Tue, 8 Mar 2016 00:58:24 +0000 (16:58 -0800)]
Merge pull request #3441 from ramarag/pal_longfile
Enabling LongFile Support in PAL
Pat Gavlin [Tue, 8 Mar 2016 00:57:36 +0000 (16:57 -0800)]
Merge pull request #3553 from dotnet-bot/from-tfs
Merge changes from TFS
Matt Ellis [Tue, 8 Mar 2016 00:49:05 +0000 (16:49 -0800)]
Merge pull request #3477 from DrewScoggins/master
Update Linux build instructions
Jarret Shook [Tue, 8 Mar 2016 00:10:38 +0000 (16:10 -0800)]
x86 lb excludes
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]
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.
DDCloud [Tue, 1 Mar 2016 04:24:42 +0000 (20:24 -0800)]
Enabling LongFile Support in PAL
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.
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]
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
Jarret Shook [Mon, 7 Mar 2016 18:59:55 +0000 (10:59 -0800)]
Merge pull request #2878 from jashook/x86_exclude_update
Update x86 lb excludes and turn on ci testing for x86 lb.
Lubomir Litchev [Mon, 7 Mar 2016 18:26:03 +0000 (10:26 -0800)]
Merge pull request #3521 from LLITCHEV/Issue3225
Remove a duplicate address tree consumption.
jashook [Wed, 27 Jan 2016 05:46:48 +0000 (21:46 -0800)]
New x86 excludes and turn on ci testing for x86.
Jan Kotas [Mon, 7 Mar 2016 04:00:52 +0000 (20:00 -0800)]
Merge pull request #3543 from leemgs/upstream-cross-arch2
ARM: 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>
Jan Kotas [Sun, 6 Mar 2016 03:15:10 +0000 (19:15 -0800)]
Merge pull request #3470 from erozenfeld/ValueNumbersForR2RHelpers
Improvements for ReadyToRun helpers in JIT value numbering.
Jan Kotas [Sun, 6 Mar 2016 03:11:10 +0000 (19:11 -0800)]
Merge pull request #3508 from hughbe/patch-1
Fix incorrect exception parameter name in GC
Jan Kotas [Sun, 6 Mar 2016 03:00:27 +0000 (19:00 -0800)]
Merge pull request #3538 from vcsjones/fix-3531
Fix compilation errors on tests.
Kevin Jones [Sat, 5 Mar 2016 23:07:11 +0000 (18:07 -0500)]
Fix compilation errors on tests.
Fix #3531
Jan Kotas [Sat, 5 Mar 2016 19:31:50 +0000 (11:31 -0800)]
Merge pull request #3536 from JohnChen0/master
Modify 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 #3527.
Kyungwoo Lee [Sat, 5 Mar 2016 16:22:12 +0000 (08:22 -0800)]
Merge pull request #3446 from kyulee1/FixIlasmTool
Fix for not using ilasm from the build binary
Jan Kotas [Sat, 5 Mar 2016 14:16:21 +0000 (06:16 -0800)]
Merge pull request #3528 from leemgs/upstream-pal-linux-macro
Replace all uses of __LINUX__ with the lower case
Jan Kotas [Sat, 5 Mar 2016 14:11:44 +0000 (06:11 -0800)]
Merge pull request #3525 from leemgs/upstream-cross-arch
Add arm[64] to isMSBuildOnNETCoreSupported()
Rama krishnan Raghupathy [Sat, 5 Mar 2016 09:31:03 +0000 (01:31 -0800)]
Merge pull request #3530 from ramarag/fixtest
Fix 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
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>
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. #3281 is an issue for CORINFO_HELP_READYTORUN_STATIC_BASE.
Compiler::fgValueNumberHelperCallFunc is refactored to reduce code
duplication.
Closes #3281.
Lubomir Litchev [Sat, 5 Mar 2016 01:26:49 +0000 (17:26 -0800)]
Merge pull request #3505 from LLITCHEV/Issue3360
Reenable an assert.
Brian Sullivan [Sat, 5 Mar 2016 01:10:32 +0000 (17:10 -0800)]
Merge pull request #3523 from briansull/struct16-fix
Fixes 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
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>
Mike McLaughlin [Sat, 5 Mar 2016 00:24:42 +0000 (16:24 -0800)]
Merge pull request #3513 from mikem8361/soschanges
Fix two sos issues.
Gaurav Khanna [Sat, 5 Mar 2016 00:16:17 +0000 (16:16 -0800)]
Merge pull request #3518 from gkhanna79/OSXRepro
Define Platform and OutputPaths
John Chen [Sat, 5 Mar 2016 00:09:22 +0000 (16:09 -0800)]
Merge pull request #3519 from JohnChen0/longpath
Restore linking debug corerun.exe with retail CRT
Jan Kotas [Sat, 5 Mar 2016 00:05:34 +0000 (16:05 -0800)]
Merge pull request #3511 from vcsjones/fix-3506
Improve GetHashCode for IntPtr/UIntPtr on 64-bit.
Gaurav Khanna [Fri, 4 Mar 2016 22:47:50 +0000 (14:47 -0800)]
Merge pull request #3507 from gkhanna79/OneCore2
Fix CRT linkages for uCRT
Aditya Mandaleeka [Fri, 4 Mar 2016 22:33:15 +0000 (14:33 -0800)]
Merge pull request #3452 from fujiy/patch-1
Anchor Tag fix
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.
Gaurav Khanna [Fri, 4 Mar 2016 21:44:36 +0000 (13:44 -0800)]
Define Platform and OutputPaths before Microsoft.Common.CurrentVersion.targets is included.
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.
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 #3506
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.
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.
Pat Gavlin [Fri, 4 Mar 2016 21:25:04 +0000 (13:25 -0800)]
Merge pull request #3495 from pgavlin/HistogramCleanup
Clean up the JIT's histogram type.
Jan Kotas [Fri, 4 Mar 2016 21:10:49 +0000 (13:10 -0800)]
Merge pull request #3512 from benpye/arm-monotonic-coarse-tryrun
Add value to arm/arm64 tryrun files for HAVE_CLOCK_MONOTONIC_COARSE.
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 #3517.
Kyungwoo Lee [Fri, 4 Mar 2016 20:29:11 +0000 (12:29 -0800)]
Merge pull request #3509 from kyulee1/arm64build
Fix for disabling incremental build for ARM64
Aditya Mandaleeka [Fri, 4 Mar 2016 20:27:06 +0000 (12:27 -0800)]
Merge pull request #3497 from adityamandaleeka/threading_test_port
[WIP] Open source some more threading tests
Ben Pye [Fri, 4 Mar 2016 18:24:37 +0000 (18:24 +0000)]
Fix C++11 issue when converting string to char *
Andy Ayers [Fri, 4 Mar 2016 19:27:22 +0000 (11:27 -0800)]
Merge pull request #3500 from AndyAyersMS/InlineRefactorInlineHints
Inline refactoring: convert hints into observations
Pat Gavlin [Thu, 3 Mar 2016 20:54:34 +0000 (12:54 -0800)]
Clean up the JIT's histogram type.
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.
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.
Rahul Kumar [Fri, 4 Mar 2016 17:56:52 +0000 (09:56 -0800)]
Merge pull request #3491 from rahku/Helix
add TargetsWindows property required by cloudtest.targets in buildtools package
Rahul Kumar [Tue, 1 Mar 2016 23:31:11 +0000 (15:31 -0800)]
add TargetsWindows property required by cloudtest.targets in buildtools package
Aditya Mandaleeka [Fri, 4 Mar 2016 17:44:12 +0000 (09:44 -0800)]
Change priority of tests in baseservices/threading to 1.
Jan Kotas [Fri, 4 Mar 2016 17:36:05 +0000 (09:36 -0800)]
Merge pull request #3502 from myungjoo/fix/3462_arm_linux_stack
ARM-Linux Fixes (Issue #3462)
Jan Kotas [Fri, 4 Mar 2016 17:33:26 +0000 (09:33 -0800)]
Merge pull request #3503 from dotnet-bot/from-tfs
Merge changes from TFS
Mike McLaughlin [Fri, 4 Mar 2016 17:31:15 +0000 (09:31 -0800)]
Merge pull request #3404 from gregg-miskelly/DbgShimFix
DbgShim!RegisterForRuntimeStartup: Avoid extra call to callback
Gaurav Khanna [Fri, 4 Mar 2016 02:10:26 +0000 (18:10 -0800)]
Fixup CRT linkages for uCRT
Sejong Oh [Fri, 4 Mar 2016 17:08:22 +0000 (09:08 -0800)]
Merge pull request #3156 from sejongoh/add_gc_stress_modes
Add GC stress modes
Sejong Oh [Fri, 4 Mar 2016 17:06:27 +0000 (09:06 -0800)]
Merge pull request #3337 from sejongoh/reuse_existing_function_to_set_stress_modes
reuse getStressModeScriptStep
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 #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 #3371.
Hugh Bellamy [Fri, 4 Mar 2016 16:42:30 +0000 (16:42 +0000)]
Fix incorrect exception parameter name in GC
Kyungwoo Lee [Fri, 4 Mar 2016 16:38:05 +0000 (08:38 -0800)]
Fix for disabling incremental build for ARM64
The fix (
d58885c9a37d857f10d90f6db7246630d4ce8980) broke ARM64 debug
build.
The right fix is to disable such flag for all archs.
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]
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 #3462
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
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 #3462.
(this does not fix assembly stacks)
Fix #3462
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>