summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-03-09Port EH tests.Rahul Kumar154-91/+11817
2016-03-09Merge pull request #3567 from mikem8361/dbgshimcpMike McLaughlin3-1/+118
Add process launch APIs to dbgshim
2016-03-09Merge pull request #3621 from kyulee1/arm64Matt Mitchell1-1/+1
Add folks to private run
2016-03-09Add folks to private runKyungwoo Lee1-1/+1
2016-03-09Merge pull request #3595 from janvorli/fix-stack-walk-with-finallyJan Vorlicek2-6/+16
Fix stack walking on Unix in case of finally
2016-03-08Merge pull request #3558 from sejongoh/fix_gc_stress_setup_failSejong Oh1-6/+38
Fix GC stress setup failure on Unix-like OSes
2016-03-08Added CreateProcessForLaunch, ResumeProcess and CloseResumeHandle that canMike McLaughlin3-1/+118
be better supported cross-plat.
2016-03-08Merge pull request #3574 from AndyAyersMS/InlineRefactorMoveStateMachineMergeAndy Ayers8-156/+213
Inline refactoring: move state machine into LegacyPolicy
2016-03-09Merge pull request #3588 from janvorli/fix-exception-in-finalizerJan Vorlicek4-19/+23
Fix Unix exception handling in finalizers
2016-03-08Merge pull request #3478 from kyulee1/varKyungwoo Lee2-30/+12
Fix for asserting var addr on stack
2016-03-08Merge pull request #3575 from stephentoub/argexception_namesStephen Toub2-2/+2
Add missing parameter name to GetEra ArgumentOutOfRangeException
2016-03-08Merge pull request #3594 from pgavlin/GcInfoEncoderCleanupPat Gavlin2-423/+424
Move some definitions out of gcinfoencoder.h.
2016-03-08Move some definitions out of gcinfoencoder.h.Pat Gavlin2-423/+424
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.
2016-03-08Merge pull request #3587 from pgavlin/UseListInLSRAPat Gavlin3-121/+113
Use jitstd::list in the LSRA.
2016-03-08Fix stack walking on Unix in case of finallyJan Vorlicek2-6/+16
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.
2016-03-08Merge pull request #3592 from AndyAyersMS/FixAssertAndy Ayers1-1/+5
Inliner: fix assert about repeated failing observations
2016-03-08Use jitstd::list in the LSRA.Pat Gavlin3-121/+113
This removes the only usage of ArrayList in the JIT.
2016-03-08Merge pull request #3469 from wtgodbe/raceCondWilliam Godbe109-193/+112
Fix race condition in Pri 2 tests, and revert those tests to Pri 1
2016-03-08Inliner: fix assert about repeated failing observationsAndy Ayers1-1/+5
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.
2016-03-08Merge pull request #3555 from LLITCHEV/Issue3540Lubomir Litchev2-6/+7
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.
2016-03-08Fix GC stress setup failure on Unix-like OSesSejong Oh1-6/+38
2016-03-08Merge pull request #3573 from vcsjones/fix-3566Jan Kotas1-2/+18
Fix failing test in IntPtrGetHashCode.
2016-03-08Merge pull request #3577 from gkhanna79/FixUbuntu15Gaurav Khanna1-1/+4
Fix Ubuntu 15.10 Build break
2016-03-08Fix Unix exception handling in finalizersJan Vorlicek4-19/+23
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.
2016-03-08Fix for casting byref to double in morphKyungwoo Lee2-30/+12
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.
2016-03-08Merge pull request #3548 from kyulee1/fixgcKyungwoo Lee3-97/+157
ARM64: Fix for handling GC register for call site
2016-03-08Merge pull request #3568 from dotnet-bot/from-tfsJan Kotas1-1/+1
Merge changes from TFS
2016-03-08Merge pull request #3576 from leemgs/upstream-crossbuildJan Kotas1-8/+10
ARM: skip generating native image for mscorlib in case of cross build
2016-03-07Fix Ubuntu 15.10 Build breakGaurav Khanna1-1/+4
2016-03-08ARM: skip generating native image for mscorlib in case of cross buildGeunsik Lim1-8/+10
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
2016-03-07Add missing parameter name to GetEra ArgumentOutOFRangeExceptionstephentoub2-2/+2
The exception's parameter name is incorrectly getting set to the intended message ("Time value was out of era range.").
2016-03-07Inline refactoring: move state machine into LegacyPolicyAndy Ayers8-156/+213
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.
2016-03-07Remove the RBM_LOWINT define. Change LsraLimitSmallIntSet to have a better ↵Lubomir Litchev2-6/+7
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.
2016-03-07Merge pull request #3564 from jashook/x86_lb_excludesJarret Shook1-3/+33
x86 lb excludes
2016-03-07Fix failing test in IntPtrGetHashCode.Kevin Jones1-2/+18
Test was not updated to reflect changes in GetHashCode. Fix #3566
2016-03-07Merge pull request #3556 from AndyAyersMS/InlineRefactorEarlyForceAndy Ayers8-139/+131
Inline refactoring: revise candidacy determination
2016-03-07Merge pull request #3441 from ramarag/pal_longfileRama krishnan Raghupathy27-1049/+1001
Enabling LongFile Support in PAL
2016-03-07Merge pull request #3553 from dotnet-bot/from-tfsPat Gavlin41-396/+818
Merge changes from TFS
2016-03-07Merge pull request #3477 from DrewScoggins/masterMatt Ellis1-145/+4
Update Linux build instructions
2016-03-07x86 lb excludesJarret Shook1-3/+33
2016-03-07Fix build break on Desktop arising out of MoveFileWrapper cleanup.Gaurav Khanna1-1/+1
[tfs-changeset: 1582170]
2016-03-07Inline refactoring: revise candidacy determinationAndy Ayers8-139/+131
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.
2016-03-07Enabling LongFile Support in PALDDCloud27-1049/+1001
2016-03-07ARM64: Fix for handling GC register for call siteKyungwoo Lee3-97/+157
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.
2016-03-07Reapply change 1578859: Add a new set of APIs for JIT configuration.Pat Gavlin41-396/+818
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]
2016-03-07Fix race condition in Pri 2 tests, and revert those tests to Pri 1William Godbe109-193/+112
2016-03-07Merge pull request #2878 from jashook/x86_exclude_updateJarret Shook2-106/+414
Update x86 lb excludes and turn on ci testing for x86 lb.
2016-03-07Merge pull request #3521 from LLITCHEV/Issue3225Lubomir Litchev1-2/+0
Remove a duplicate address tree consumption.
2016-03-07New x86 excludes and turn on ci testing for x86.jashook2-107/+415
2016-03-06Merge pull request #3543 from leemgs/upstream-cross-arch2Jan Kotas1-6/+0
ARM: Remove Distro/OS that have not been tested