platform/upstream/coreclr.git
8 years agoRecognize Vector<T> constructors for small ints
Carol Eidt [Thu, 26 May 2016 22:53:14 +0000 (15:53 -0700)]
Recognize Vector<T> constructors for small ints

Fix #5116

8 years agoMerge pull request #5203 from jhendrixMSFT/master
Joel Hendrix [Thu, 26 May 2016 19:26:19 +0000 (12:26 -0700)]
Merge pull request #5203 from jhendrixMSFT/master

Add retry logic when downloading the CLI from Azure blob storage.

8 years agoMerge pull request #5235 from LLITCHEV/r2r-jitstress-only-checked
Lubomir Litchev [Thu, 26 May 2016 18:14:52 +0000 (11:14 -0700)]
Merge pull request #5235 from LLITCHEV/r2r-jitstress-only-checked

Don't do r2r-jitstress jobs for non Checked configurations.

8 years agoMerge pull request #5196 from briansull/arm64-hfa-args
Brian Sullivan [Thu, 26 May 2016 17:33:59 +0000 (10:33 -0700)]
Merge pull request #5196 from briansull/arm64-hfa-args

ARM64: ABI - Passing HFA struct arguments in floating point registers

8 years agoMerge pull request #5206 from kouvel/ShmCreateDirectoryFix
Koundinya Veluri [Thu, 26 May 2016 17:11:49 +0000 (10:11 -0700)]
Merge pull request #5206 from kouvel/ShmCreateDirectoryFix

Fix shm directory creation for named mutexes

8 years agoAdd retry logic when downloading the CLI from Azure blob storage.
Joel Hendrix [Thu, 26 May 2016 17:01:38 +0000 (10:01 -0700)]
Add retry logic when downloading the CLI from Azure blob storage.

Downloading from Azure can transiently fail for a number of reasons. Add
some retry logic when downloading to avoid transient failures. For *nix
variants add a retry value when using curl (wget retries by default).

8 years agoDon't do r2r-jitstress jobs for non Checked configurations.
Lubomir Litchev [Thu, 26 May 2016 03:27:50 +0000 (20:27 -0700)]
Don't do r2r-jitstress jobs for non Checked configurations.

8 years agoMerge pull request #5231 from jashook/build_fix
Jarret Shook [Thu, 26 May 2016 15:24:41 +0000 (08:24 -0700)]
Merge pull request #5231 from jashook/build_fix

arm32 build fix.

8 years agoTypo Fix: from preemtive GC to preemptive GC (#5237)
Geunsik Lim [Thu, 26 May 2016 08:22:19 +0000 (17:22 +0900)]
Typo Fix: from preemtive GC to preemptive GC (#5237)

This is just to fix typo.

Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
8 years agoLinux/ARM: Regression fix in release build since "UNW_ARM_UNWIND_METHOD=6" (#5126)
Geunsik Lim [Thu, 26 May 2016 08:21:39 +0000 (17:21 +0900)]
Linux/ARM: Regression fix in release build since "UNW_ARM_UNWIND_METHOD=6" (#5126)

> https://github.com/dotnet/coreclr/pull/3502/
>   Fix Stack Unwind Behavior of Libunwind-ARM

We have been getting the 300+ failures(in ./JIT/ directory) in release-build
mode whenever we have always run CoreCLR unit-test since
https://github.com/myungjoo/coreclr/commit/35b5df6888f1574e6ef9313c6bc8522d1817573d.
(Reference - https://wiki.linaro.org/KenWerner/Sandbox/libunwind#overhead_of_the_ARM_specific_unwind-tables)

With recent fixes on stack unwindings, it appears that we no more send ambiguous
requests to libunwind-arm.(Checked by @myungjoo, with cases of #3462)

From now on, let's remove the unwind environment variable (e.g., UNW_ARM_UNWIND_METHOD=6)

Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
Acked-by: MyungJoo Ham <myungjoo.ham@samsung.com>
CC: Ben Pye <@benpye>
CC: Jan Kotas <@jkotas>
CC: Matt Mitchell <@mmitche>
8 years agoMerge pull request #5227 from swgillespie/timeout-increase
Sean Gillespie [Thu, 26 May 2016 05:29:42 +0000 (22:29 -0700)]
Merge pull request #5227 from swgillespie/timeout-increase

Increase the timeout of long GC tests

8 years agoEnable HFA support for passing arguments on ARM64
Brian Sullivan [Tue, 24 May 2016 21:03:49 +0000 (14:03 -0700)]
Enable HFA support for passing arguments on ARM64
   Fixes #4946 ARM64: ABI - Passing HFA struct arguments in floating point registers
   We are now passing 24 additional HFA tests and have one test regression

   Previously HFA support was enabled on ARM32 using #ifdef _TARGET_ARM_
   Now HFA support is enabled for both platform using #ifdef FEATURE_HFA
   Note that FEATURE_HFA is a VM defined and enable only for platforms that have HFA support
   The VM is responsible for determining if a stuct is a HFA or not
   The JIT Calls this method CorInfoType CEEInfo::getHFAType(CORINFO_CLASS_HANDLE hClass) to identify HFA types
   Note that when using an AltJit targeting Arm32 or Arm64 we will never see an HFA type

In CodegenArm64.cpp
Method genPutArgStk
   Implement passing of HFA structs on the stack
   Refactored to handle both 16-byte structs and HFA struct
   Track GC types for the 16-byte structs or he floating point types for HFA's
   Use ldp when we have a 16-byte struct with no GC pointers
   Added asserts to check that we never write past the end of the outgoing arg area

In CodegenCommon.cpp
Method genFnPrologCalleRegArgs
   Implement the homing of incoming HDF variables
   These are currently homed into a stack based struct as we did for ARM32
   Use floating point types and registers when handling HFAs
   Added asserts to check that we never write past the end of the stack based struct

Added Dump method for fgArgTabEntry to display how arguments will be passed
Added GetNextSlotNum for fgArgInfo which returns what stack offset we would use for the next stack base argument
Fixed tree dump so that it can print multireg struct arguments

In Morph.cpp
Method ArgsComplete
   We currently chose to spill odd sized structs (11,13,14,15 bytes in size) into a GT_LCL_VAR temp so that we don't
   need to use more than two instructions to pass a GT_OBJ struct.  (Since we cannot read beyond the end of a GT_OBJ struct)
Method fgMorpgArgs
   Handle HFAs for multireg and stack arguments
   In this method 'size' is the number of registers used when passing an argument in registers
   or the number of TARGET_POINTER_SIZE stack slots when passing them on the stack
   For HFA this means that 'size' can change if we can't pass them using registers.
   Use new Dump method to print out how each argument is passed (what register or what stack slot)
Method fgMorphMultiregStuctArg
   Implement the expansion of multireg HFA arguments into GT_LISTs
   Refactored to handle both 16-byte structs and HFA struct
   Track GC types for the 16-byte structs or he floating point types for HFA's

Changes from code review feedback

8 years agoMerge pull request #5207 from pgavlin/gh5202
Pat Gavlin [Thu, 26 May 2016 03:17:38 +0000 (20:17 -0700)]
Merge pull request #5207 from pgavlin/gh5202

Limit the exports of libclrjit.{so,dylib}.

8 years agoMerge pull request #5220 from adityamandaleeka/force_gc_concurrent
Aditya Mandaleeka [Thu, 26 May 2016 01:34:51 +0000 (18:34 -0700)]
Merge pull request #5220 from adityamandaleeka/force_gc_concurrent

Check CLRConfig value explicitly to determine whether concurrent GC was forced

8 years agoMerge pull request #5187 from AndyAyersMS/InlineXmlData
Andy Ayers [Thu, 26 May 2016 01:15:14 +0000 (18:15 -0700)]
Merge pull request #5187 from AndyAyersMS/InlineXmlData

Inliner: integrate data into inline Xml

8 years agoMerge pull request #5216 from AlexGhiondea/restorePackageVersion
AlexGhiondea [Wed, 25 May 2016 23:07:26 +0000 (16:07 -0700)]
Merge pull request #5216 from AlexGhiondea/restorePackageVersion

Restore the package version to 1.0.2 for the CoreCLR package

8 years agoMerge pull request #5209 from prajwal-aithal/devel/arm-ci-fix
Matt Mitchell [Wed, 25 May 2016 22:55:28 +0000 (15:55 -0700)]
Merge pull request #5209 from prajwal-aithal/devel/arm-ci-fix

ARM-CI: Mount Linux ARM emulator rootfs during each build

8 years agoarm32 build fix.
Jarret Shook [Wed, 25 May 2016 22:46:46 +0000 (15:46 -0700)]
arm32 build fix.

Add an #else statement so that an unreachable return statement is not inserted.

8 years agoMerge pull request #5219 from ellismg/improve-corefx-copy-logic
Russ Keldorph [Wed, 25 May 2016 22:32:17 +0000 (15:32 -0700)]
Merge pull request #5219 from ellismg/improve-corefx-copy-logic

Fix runtest.sh issues

8 years agoIncrease the timeout of long GC tests
Sean Gillespie [Wed, 25 May 2016 22:20:45 +0000 (15:20 -0700)]
Increase the timeout of long GC tests

8 years agoMerge pull request #5221 from tarekgh/UpgradeUnixBuildToUnicode8
Tarek Mahmoud Sayed [Wed, 25 May 2016 22:09:12 +0000 (15:09 -0700)]
Merge pull request #5221 from tarekgh/UpgradeUnixBuildToUnicode8

Upgrade Linux build to use Unicode 8.0

8 years agoRemove CORECLR_CONCURRENT_GC from Unix coreruncommon.
Aditya Mandaleeka [Wed, 25 May 2016 21:45:38 +0000 (14:45 -0700)]
Remove CORECLR_CONCURRENT_GC from Unix coreruncommon.

8 years agoBe more explict when picking up libs from CoreFx
Matt Ellis [Wed, 25 May 2016 17:25:49 +0000 (10:25 -0700)]
Be more explict when picking up libs from CoreFx

There's no contract in the CoreFx build layout that enforces an assembly
is only in one location in the resulting binaries folder. Different
projects may have different versions of dependent assemblies SxS with them
in their output folder.

To work around this, update the copy logic to use the folder name to
determine what assembly to copy from it.

8 years agoMerge pull request #5224 from wtgodbe/runtestFix
William Godbe [Wed, 25 May 2016 20:25:05 +0000 (13:25 -0700)]
Merge pull request #5224 from wtgodbe/runtestFix

Add missing quote in new runtest.cmd arg

8 years agoAdd missing quote in new runtest.cmd arg
wtgodbe [Wed, 25 May 2016 20:14:50 +0000 (13:14 -0700)]
Add missing quote in new runtest.cmd arg

8 years agoLimit the exports of libclrjit.{so,dylib}.
Pat Gavlin [Tue, 24 May 2016 23:00:37 +0000 (16:00 -0700)]
Limit the exports of libclrjit.{so,dylib}.

Properly set the necessary linker options to limit libclrjit's exports
on *nix platforms. This change also includes some minor cleanup to the
JIT's various CMake list files.

8 years agoUpgrade Linux build to use Unicode 8.0
Tarekm Mahmoud Sayed [Wed, 25 May 2016 17:57:21 +0000 (10:57 -0700)]
Upgrade Linux build to use Unicode 8.0

We have done this upgrade for Windows awhile ago. the change here is to do the same for Linux
The fix should take care with the issue https://github.com/dotnet/corefx/issues/7351

8 years agoExplicitly check CLRConfig value to determine whether concurrent GC was forced.
Aditya Mandaleeka [Wed, 25 May 2016 17:32:18 +0000 (10:32 -0700)]
Explicitly check CLRConfig value to determine whether concurrent GC was forced.

8 years agoRestore the package version to 1.0.2 for the ILAsm/ILDAsm packages.
Alex Ghiondea [Wed, 25 May 2016 17:14:00 +0000 (10:14 -0700)]
Restore the package version to 1.0.2 for the ILAsm/ILDAsm packages.

This change also updates the reference to the CoreCLR package to 1.0.2. (the updated version).

8 years agoMerge pull request #5184 from adiaaida/x86LongCallImp
Michelle McDaniel [Wed, 25 May 2016 16:29:26 +0000 (09:29 -0700)]
Merge pull request #5184 from adiaaida/x86LongCallImp

Enable FEATURE_MULTIREG_RET for x86 RyuJIT

8 years agoRestore the package version to 1.0.2 for the CoreCLR package
Alex Ghiondea [Wed, 25 May 2016 16:26:06 +0000 (09:26 -0700)]
Restore the package version to 1.0.2 for the CoreCLR package

This will ensure the package version is consistent with our other packages.

8 years agoEnable FEATURE_MULTIREG_RET for x86 RyuJIT
Michelle McDaniel [Thu, 19 May 2016 16:55:09 +0000 (09:55 -0700)]
Enable FEATURE_MULTIREG_RET for x86 RyuJIT

This change enables the following:

1) Enable FEATURE_MULTIREG_RET for x86 RyuJIT, which is used for calls
with long return types.

2) Enable ReturnTypeDesc for x86 RyuJIT to describe the return types for
longs. Included in this is setting up the correct number of return
registers for longs on x86, and setting up the correct registers for long
returns. This is required for enabling impFixupCallLongReturn. Add Reset
function for ReturnTypeDesc for future work to reset ReturnTypeDesc to the
defaults.

3) Enabling HasMultiRegRetVal for longs on x86.

4) Enabling impFixupCallLongReturn and impAssignStructClassToVar for x86
longs. Sets up the call's ReturnTypeDesc and sets lvIsMultiRegArgOrRet for
long's tmp. Rename impAssignStructClassToVar to
impAssignMultiRegTypeToVar.

8 years agoFix shm directory creation for named mutexes
Koundinya Veluri [Tue, 24 May 2016 21:16:57 +0000 (14:16 -0700)]
Fix shm directory creation for named mutexes

- Creating a directory involves mkdir and chmod. Due to this, there could be a race where one process running as one user creates the directory but does not update permissions for all uses to have access, and at that point another process tries to use the directory.
- Fixed by creating a temp directory using mkdtemp(), chmod to set appropriate permissions for all users, and rename the directory. This is only done when a global lock is not held during the directory creation operation (applies only to /tmp/.dotnet and /tmp/.dotnet/shm).
- Tested manually by adding sleeps at the race points with a second process running as a different user, to make sure it works in any order.

8 years agoarm-softfp: make toolchain.cmake consistent among different arm archs (#5210)
Prajwal A N [Wed, 25 May 2016 14:22:57 +0000 (23:22 +0900)]
arm-softfp: make toolchain.cmake consistent among different arm archs (#5210)

Fixes #5177

Signed-off-by: Prajwal A N <an.prajwal@samsung.com>
8 years agoMerge pull request #5208 from sergiy-k/runtestoverlay
Sergiy Kuryata [Wed, 25 May 2016 05:20:33 +0000 (22:20 -0700)]
Merge pull request #5208 from sergiy-k/runtestoverlay

Update runtest.sh to accommodate a change in CoreFX

8 years agoARM-CI: added a fix to mount Linux ARM emulator rootfs during each build
Prajwal A N [Wed, 25 May 2016 03:25:55 +0000 (12:25 +0900)]
ARM-CI: added a fix to mount Linux ARM emulator rootfs during each build

* Previous PR #4141 assumed that the rootfs is mounted
  throughout the lifespan of the CI machine
* Changing this to mount and unmount everytime a build is triggered

Signed-off-by: Prajwal A N <an.prajwal@samsung.com>
8 years agoUpdate runtests.sh to accommodate a change in CoreFX that broke creation of CoreOverl...
Sergiy Kuryata [Wed, 25 May 2016 02:41:58 +0000 (19:41 -0700)]
Update runtests.sh to accommodate a change in CoreFX that broke creation of CoreOverlay on Unix platforms

8 years ago[ARM/Linux] Fix incorrect return marshaling in PInvoke stub (#5010)
Jonghyun Park [Wed, 25 May 2016 02:23:51 +0000 (11:23 +0900)]
[ARM/Linux] Fix incorrect return marshaling in PInvoke stub (#5010)

* Revises compMethodReturnsMultiRegRetType for ARM

For ARM, the current implementation of 'compMethodReturnsMultiRegRetType'
always returns false.

Unfortunately, this behavior is inconsistent with JIT importer. JIT impoter
attempts to merge various return statements as one statement via inserting
an assignment statement just before each return statement if there are more
than 4 returns.

If the method of interest has a return value, then JIT importer
introduces a local temporary variable, and use it to return value.

Due to the above implementation, JIT importer never generates a return
variable, which results in assertion violation insider JIT morph, which
is discussed in #5009.

This commit attempts to fix #5009 via implementing 'compMethodReturnsMultiRegRetType'
for ARM.

* Uses compRetNativeType instead of compRetType

* Fix typo '_TARGET_ARM' as '_TARGET_ARM_'

8 years agoSupport the CORE_LIBRARIES environment variable on Unix (#5112)
Manu [Wed, 25 May 2016 02:21:23 +0000 (11:21 +0900)]
Support the CORE_LIBRARIES environment variable on Unix (#5112)

Mimic the Windows behavior by adding to the search path of native dlls
the content of the CORE_LIBRARIES environment variable.

8 years agoFix Guid's GetHashCode to work better (not ignore parts of it) (#5191)
Vance Morrison [Wed, 25 May 2016 01:45:10 +0000 (18:45 -0700)]
Fix Guid's GetHashCode to work better (not ignore parts of it) (#5191)

A common pattern is that the last bits of the GUID are the most unique, however our current hash code ignores most of them.
Fix this to simply XOR all bits in the GUID 32 bits at a time.   This is more efficient and a better hash than what we have currently.

8 years agoImprove vtbl matching loop in DacGetVtNameW. (#5179)
Dmitri-Botcharnikov [Tue, 24 May 2016 21:59:24 +0000 (01:59 +0400)]
Improve vtbl matching loop in DacGetVtNameW. (#5179)

8 years agoFix filter funclet handling during stack walk on Unix (#5183)
Jan Vorlicek [Tue, 24 May 2016 21:43:49 +0000 (23:43 +0200)]
Fix filter funclet handling during stack walk on Unix (#5183)

The filter funclets are not handled correctly during stack walk on Unix. When
the funclet's parent frame is reached, the filter funclet was mistakenly handled
as a non-filter funclet by the Unix specific code that is used to figure out
parent frames of funclets from exception trackers.
The fix is to skip this Unix specific code when we are looking for a parent of
a filter funclet. Filter funclet frame is always on the stack when the stack
walk reaches its parent frame.

8 years agoMerge pull request #5153 from LLITCHEV/r2r_jitstress_jobs
Lubomir Litchev [Tue, 24 May 2016 21:26:27 +0000 (14:26 -0700)]
Merge pull request #5153 from LLITCHEV/r2r_jitstress_jobs

Add R2R JitStress, JitStressRegs, JITMinOpts and ForceRelocs jobs to CI.

8 years agoAdded jit related R2R jobs.
Lubomir Litchev [Tue, 24 May 2016 21:25:37 +0000 (14:25 -0700)]
Added jit related R2R jobs.

Added jobs for R2R jitstress, jitstressregs, JITMinOpts and ForceRelocs testing.

8 years agoMerge pull request #5192 from wtgodbe/updatePublishedVersions
William Godbe [Tue, 24 May 2016 19:42:30 +0000 (12:42 -0700)]
Merge pull request #5192 from wtgodbe/updatePublishedVersions

Add PowerShell script to update latest package version info in Versions repo

8 years agoAdd PowerShell script to update latest package version info in Versions repo
wtgodbe [Tue, 24 May 2016 19:13:18 +0000 (12:13 -0700)]
Add PowerShell script to update latest package version info in Versions repo

8 years agoMerge pull request #5129 from leemgs/upstream-diff-time-of-unittest
Aditya Mandaleeka [Tue, 24 May 2016 17:21:45 +0000 (10:21 -0700)]
Merge pull request #5129 from leemgs/upstream-diff-time-of-unittest

Linux/ARM: Display execution time of ./tests/runtest.sh

8 years agoInliner: integrate data into inline Xml
Andy Ayers [Sun, 22 May 2016 22:48:06 +0000 (15:48 -0700)]
Inliner: integrate data into inline Xml

Refactor the inline data dumps (the dumps that capture the observations
made by the inliner when evaluating an inline) so that the data can be
added to the inline Xml or dumped as standalone data.

I haven't tried to Xml-ify the actual data. Just dumping it as a large
comma delimited string is ok for now.

8 years agoMerge pull request #5171 from wtgodbe/syncFix
William Godbe [Tue, 24 May 2016 17:07:33 +0000 (10:07 -0700)]
Merge pull request #5171 from wtgodbe/syncFix

Update sync.cmd to download Azure Blobs. Also change publish.proj to ā€¦

8 years agoMerge pull request #5180 from RussKeldorph/jit32va
Russ Keldorph [Tue, 24 May 2016 15:09:22 +0000 (08:09 -0700)]
Merge pull request #5180 from RussKeldorph/jit32va

Exclude varags tests for JIT32

8 years agoExclude varags tests for JIT32
Russ Keldorph [Tue, 24 May 2016 14:00:02 +0000 (07:00 -0700)]
Exclude varags tests for JIT32

Add same exclusions as added for other platforms in #5124.  These were
missed because we don't have JIT32 testing on dotnet-ci.

8 years agoMerge pull request #5170 from kouvel/NamedMutexPalTestFix
Koundinya Veluri [Tue, 24 May 2016 07:41:22 +0000 (00:41 -0700)]
Merge pull request #5170 from kouvel/NamedMutexPalTestFix

Fix intermittent test failure in paltest_namedmutex_test1

8 years agoMerge pull request #5173 from kyulee1/ilasmpack
Kyungwoo Lee [Tue, 24 May 2016 05:02:34 +0000 (22:02 -0700)]
Merge pull request #5173 from kyulee1/ilasmpack

ILAsm/ILDAsm Package

8 years agoILAsm/ILDAsm Package
Kyungwoo Lee [Mon, 23 May 2016 22:33:23 +0000 (15:33 -0700)]
ILAsm/ILDAsm Package

Fixes #5172
This has dependency on CoreCLR.
Use the same version 1.0.3 as CoreCLR.

Tested both packages are produced in Windows/Linux locally.

8 years agoAdd R2R JitStress, JitStressRegs, JITMinOpts and ForceRelocs jobs to CI.
Lubomir Litchev [Sat, 21 May 2016 21:23:11 +0000 (14:23 -0700)]
Add R2R JitStress, JitStressRegs, JITMinOpts and ForceRelocs jobs to CI.

8 years agoMerge pull request #4884 from JeremyKuhne/JeremyKuhne-linuxhandles
Jeremy Kuhne [Mon, 23 May 2016 23:48:28 +0000 (16:48 -0700)]
Merge pull request #4884 from JeremyKuhne/JeremyKuhne-linuxhandles

Update file handle steps

8 years agoLinux/ARM: Add execution time of ./tests/runtest.sh
Geunsik Lim [Fri, 20 May 2016 13:31:32 +0000 (22:31 +0900)]
Linux/ARM: Add execution time of ./tests/runtest.sh

We have to wait for a long time to complete all unit tests on the ARM-based
embedded boards (e.g, Raspberry Pi, Odroid, Chromebook) compared to the
X86-based server environment. So, let's display execution time after finishing
the unit test.

* After PR:
128 minutes and 36 seconds taken to run CoreCLR tests.

ver1:
The existing measured time still includes overlay creation and some
package restoration. So, let's put time_start in front of
if($testDirectories).

Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
Reviewed-by: Aditya Mandaleeka <adityamandaleeka@microsoft.com>
Reviewed-by: Sergiy Kuryata <sergiy-k@microsoft.com>
8 years agoUpdate sync.cmd to download Azure Blobs. Also change publish.proj to publish packages...
wtgodbe [Mon, 23 May 2016 21:31:19 +0000 (14:31 -0700)]
Update sync.cmd to download Azure Blobs. Also change publish.proj to publish packages into symbol/pkg directories

8 years agoMerge pull request #5167 from dotnet-bot/from-tfs
Jan Kotas [Mon, 23 May 2016 21:20:22 +0000 (14:20 -0700)]
Merge pull request #5167 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoMerge pull request #5042 from leemgs/upstream-display-clang-ver
Aditya Mandaleeka [Mon, 23 May 2016 20:49:35 +0000 (13:49 -0700)]
Merge pull request #5042 from leemgs/upstream-display-clang-ver

Linux/ARM: display default clang version info at build-time

8 years agoFix intermittent test failure in paltest_namedmutex_test1
Koundinya Veluri [Mon, 23 May 2016 20:34:27 +0000 (13:34 -0700)]
Fix intermittent test failure in paltest_namedmutex_test1

Fixes #5169:
- Child thread/process was not closing their test mutex before indicating completion to the parent thread/process
- Fixed by enclosing the actual child test code in braces to force closing before the cleanup code runs. This is a minimal fix for the issue, I have a separate change that generally improves and refactors the tests further.

8 years agoChange Unix HW exception unwinding to not to go through signal trampoline (#5140)
Jan Vorlicek [Mon, 23 May 2016 18:22:35 +0000 (20:22 +0200)]
Change Unix HW exception unwinding to not to go through signal trampoline (#5140)

This change modifies the HW exception handling on Unix so that it doesn't unwind
from the context of the DispatchManagedException through the signal trampoline
to the actual location of the exception and uses the exception's context instead.
This fixes problem that some target systems like ARM Linux have with unwinding
through that trampoline.

8 years agoAdd missing #ifdef FEATURE_ICASTABLE
Jan Kotas [Mon, 23 May 2016 16:37:25 +0000 (09:37 -0700)]
Add missing #ifdef FEATURE_ICASTABLE

[tfs-changeset: 1607333]

8 years agoMerge pull request #5145 from kyulee1/newtest2
Kyungwoo Lee [Mon, 23 May 2016 14:29:58 +0000 (07:29 -0700)]
Merge pull request #5145 from kyulee1/newtest2

ARM64: Test Binary Update (afa7fe5486fc90fec7df52bd134b789c568c8b45)

8 years agoMerge pull request #5159 from dotnet-bot/from-tfs
Jan Kotas [Mon, 23 May 2016 02:05:27 +0000 (19:05 -0700)]
Merge pull request #5159 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoMerge pull request #5146 from dotnet-bot/from-tfs
Jan Kotas [Sun, 22 May 2016 23:49:18 +0000 (16:49 -0700)]
Merge pull request #5146 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoUpdate tests to build against rc3-24117-00 (#5154)
Jan Kotas [Sun, 22 May 2016 17:07:15 +0000 (10:07 -0700)]
Update tests to build against rc3-24117-00 (#5154)

8 years agoMerge pull request #5143 from AndyAyersMS/InlineXmlLock
Andy Ayers [Sun, 22 May 2016 16:45:06 +0000 (09:45 -0700)]
Merge pull request #5143 from AndyAyersMS/InlineXmlLock

Inliner: locks for xml read/write access

8 years agoExpose ResolveEventHandler and ResolveEventArgs in the mscorlib facade so that our...
Wes Haggard [Sun, 22 May 2016 05:25:52 +0000 (22:25 -0700)]
Expose ResolveEventHandler and ResolveEventArgs in the mscorlib facade so that our test host still function.

[tfs-changeset: 1607062]

8 years agoARM64: Test Binary Update (afa7fe5486fc90fec7df52bd134b789c568c8b45)
Kyungwoo Lee [Sat, 21 May 2016 00:11:28 +0000 (17:11 -0700)]
ARM64: Test Binary Update (afa7fe5486fc90fec7df52bd134b789c568c8b45)

- vararg tests are deleted.
- dll not found issues are addressed.

Total: 9740
EXPECTED_PASS: 9658(99.2%)
EXPECTED_FAIL: 82(0.8%)

8 years agoUpdate pre-release tags to RC4
Matt Ellis [Sat, 21 May 2016 01:19:30 +0000 (18:19 -0700)]
Update pre-release tags to RC4

The long term plan is to move our packages versions up and the
prerelease tag back down to something like -beta, but for now we just
need to pick something that isn't RC3 as that's what
the release/1.0.0 branches are using.

Doing this gives us time to do the right thing without having version
clashes on myget.

[tfs-changeset: 1606983]

8 years agoMerge pull request #5136 from adityamandaleeka/xrtinit_fix
Aditya Mandaleeka [Sat, 21 May 2016 00:04:33 +0000 (17:04 -0700)]
Merge pull request #5136 from adityamandaleeka/xrtinit_fix

Change how InitAppXRT loads the XRT DLL

8 years agoMerge pull request #4990 from pgavlin/gh4912
Pat Gavlin [Sat, 21 May 2016 00:03:14 +0000 (17:03 -0700)]
Merge pull request #4990 from pgavlin/gh4912

Remove some preprocessor usage from the JIT interface.

8 years agoMerge pull request #5122 from JohnChen0/timeout
John Chen [Fri, 20 May 2016 23:33:45 +0000 (16:33 -0700)]
Merge pull request #5122 from JohnChen0/timeout

Resolve two issues that cause pri1r2r test timeout on Ubuntu

8 years agoInliner: locks for xml read/write access
Andy Ayers [Thu, 19 May 2016 17:39:25 +0000 (10:39 -0700)]
Inliner: locks for xml read/write access

Move CritSecObject into util.h, and use it to lock around reading
and writing inline Xml. Introduce CritSecHolder for RAII management
of the locks.

Add a simple file position cache for methods to speed up replay
when the inline xml file is large.

8 years agoFix broken RHEL debug build link
Aditya Mandaleeka [Fri, 20 May 2016 23:07:48 +0000 (16:07 -0700)]
Fix broken RHEL debug build link

8 years agoMerge pull request #5142 from RussKeldorph/delexcl
Russ Keldorph [Fri, 20 May 2016 22:51:18 +0000 (15:51 -0700)]
Merge pull request #5142 from RussKeldorph/delexcl

Remove ryujit_x86_no_fallback_issues.targets

8 years agoRemove ryujit_x86_no_fallback_issues.targets
Russ Keldorph [Fri, 20 May 2016 22:34:53 +0000 (15:34 -0700)]
Remove ryujit_x86_no_fallback_issues.targets

We have decided this file isn't useful, so its continued presence
is just confusing.

8 years agoMerge pull request #5114 from sejongoh/mark_jit_opt_sensitive
Sejong Oh [Fri, 20 May 2016 22:24:26 +0000 (15:24 -0700)]
Merge pull request #5114 from sejongoh/mark_jit_opt_sensitive

Add JitOptimizationSensitive property to GC/API/WeakReference/IsAliveā€¦

8 years agoMerge pull request #5133 from adiaaida/disableStringarr_cs_ro
Michelle McDaniel [Fri, 20 May 2016 21:54:24 +0000 (14:54 -0700)]
Merge pull request #5133 from adiaaida/disableStringarr_cs_ro

Disable stringarr_cs_ro for x86 RyuJIT

8 years agoMerge pull request #5139 from leculver/shutdown
Lee Culver [Fri, 20 May 2016 21:45:28 +0000 (14:45 -0700)]
Merge pull request #5139 from leculver/shutdown

Prevent core dumps at shutdown due to ETW subsystem

8 years agoDisable debugger termination to prevent shutdown race
Lee Culver [Fri, 20 May 2016 20:57:11 +0000 (13:57 -0700)]
Disable debugger termination to prevent shutdown race

Fixed another instance where debugger shutdown would race with ETW subsystem, causing segfaults.

8 years agoShrink AsyncMethodBuilder.MoveNextRunner by a field in common case (#5131)
Stephen Toub [Fri, 20 May 2016 20:50:38 +0000 (14:50 -0600)]
Shrink AsyncMethodBuilder.MoveNextRunner by a field in common case (#5131)

When an async method yields for the first time, there are several allocations, including a "MoveNextRunner" object that used to store the state machine and an ExecutionContext.  However, for the common case where a default ExecutionContext is being used, we can avoid needing that field.  For the simplest async method, this can reduce the total size of the allocations by ~4%.

(It would be nice in this case to be able to get rid of the MoveNextRunner entirely.  However, the Action delegate that gets created needs to be stored into the builder before the builder is boxed to the heap, so that the cached delegate gets boxed with it; otherwise, the second yield in the async method will end up needing to reallocate the delegate.  Since delegates are immutable, if the delegate was to point directly to a method on the boxed object, we would need to first have the object, a catch-22.  So the MoveNextRunner serves as an intermediary that lets us create the delegate, store it into the struct builder, then box the builder, and then store the boxed object into the runner.)

8 years agoMerge pull request #5124 from gkhanna79/Fix4940
Gaurav Khanna [Fri, 20 May 2016 20:50:11 +0000 (13:50 -0700)]
Merge pull request #5124 from gkhanna79/Fix4940

Throw InvalidProgramException when VarArgs are encountered

8 years agoFix multiple LTTng issues (#5068)
Lee Culver [Fri, 20 May 2016 20:26:19 +0000 (13:26 -0700)]
Fix multiple LTTng issues (#5068)

- Only emit LTTng events when LTTng is enabled.  We now use the tracepoint_enabled macro to check if an event is enabled...when the version of lttng is installed that supports it.
- Unsplit LTTng events.  Previously we split LTTng events when they exceeded the field limit of LTTng.  Now we emit those events as a raw byte array so that it matches their windows ETW counterparts byte-for-byte.
- Emit any event with a struct or embedded array as a raw byte array too.  The structure of memory that LTTng emits is incompatible with our ETW parsing.  Changing events with struct/array fields greatly simplifies the parsing of events.

8 years agoExpose GetUninitializedObject on RuntimeHelpers (#5104)
Jan Kotas [Fri, 20 May 2016 20:18:49 +0000 (13:18 -0700)]
Expose GetUninitializedObject on RuntimeHelpers  (#5104)

* In coreclr, expose GetUninitializedObject on RuntimeHelpers

* Include RuntimeHelpers.GetUninitializedObject in model.xml

8 years agoRemove some preprocessor usage from the JIT interface.
Pat Gavlin [Mon, 16 May 2016 18:16:07 +0000 (11:16 -0700)]
Remove some preprocessor usage from the JIT interface.

This fixes most of #4912.

- The usage of `USE_ASM_GC_WRITE_BARRIERS` has been removed. The type it guarded is
  now always defined.
- The JIT helpers that were guarded by `_TARGET_X86_` are now always defined.
- The intrinsic that was guarded by `_WIN64` is now always defined.

8 years agoMerge pull request #5123 from dotnet-bot/from-tfs
Pat Gavlin [Fri, 20 May 2016 19:57:58 +0000 (12:57 -0700)]
Merge pull request #5123 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoMerge pull request #5132 from kouvel/NamedMutexFix
Koundinya Veluri [Fri, 20 May 2016 19:39:21 +0000 (12:39 -0700)]
Merge pull request #5132 from kouvel/NamedMutexFix

Fix a few bugs in named mutexes

8 years agoResolve two issues that cause pri1r2r test timeout on Ubuntu
John Chen [Fri, 20 May 2016 18:12:38 +0000 (11:12 -0700)]
Resolve two issues that cause pri1r2r test timeout on Ubuntu

* Fix Ready-to-Run image for System.Numerics.Vectors.dll.
* Disable tests\src\Loader\classloader\generics\regressions\DD117522\Test.cs,
  which contains an infinite generic type recursion. It causes CrossGen to
  crash with stack overflow on Windows, and timeout on Ubuntu. Temporarily
  disabling this test until we can properly fix it.

8 years agoLoad XRT DLL from System32, and only on Win8+.
Aditya Mandaleeka [Fri, 20 May 2016 18:24:17 +0000 (11:24 -0700)]
Load XRT DLL from System32, and only on Win8+.

8 years agoMerge pull request #5105 from ellismg/fix-corefx-3467
Matt Ellis [Fri, 20 May 2016 17:57:26 +0000 (10:57 -0700)]
Merge pull request #5105 from ellismg/fix-corefx-3467

Ignore empty collation elements in EndsWith

8 years agoMerge remote-tracking branch 'upstream/master' into from-tfs
dotnet-bot [Fri, 20 May 2016 17:53:17 +0000 (10:53 -0700)]
Merge remote-tracking branch 'upstream/master' into from-tfs

8 years agoFix line endings in src/vm/jitinterface.h
dotnet-bot [Fri, 20 May 2016 17:50:20 +0000 (10:50 -0700)]
Fix line endings in src/vm/jitinterface.h

8 years agoDisable stringarr_cs_ro for x86 RyuJIT
Michelle McDaniel [Fri, 20 May 2016 17:33:45 +0000 (10:33 -0700)]
Disable stringarr_cs_ro for x86 RyuJIT

This tests fails intermittently in the CI.

8 years agoFix a few bugs in named mutexes
Koundinya Veluri [Fri, 20 May 2016 06:03:06 +0000 (23:03 -0700)]
Fix a few bugs in named mutexes

- When using pthread mutexes, if the mutex tells us that it was abandoned (due to owning process abruptly shutting down), it was calling ReleaseMutex (which takes a handle) on the pthread mutex object. It shouldn't be releasing the lock anyway.
- When a locked mutex is closed, it wasn't being removed from the owner thread's list of owned named mutexes. This case should be treated as abandoned.
  - Since this could potentially happen from a different thread too, added the lock owner thread to the process data, added a critical section around list operations, and I now remove the process data from the owner thread's list on Close.
- Parent/child named mutex pal tests:
  - Cleaned up tests by refactoring the setup/cleanup code
  - Fixed a race where the parent may start a new child test before the previous child test closes its events
  - Added new tests for verifying that a mutex is locked after it reports that it was abandoned, and abandoning by closing a locked mutex

8 years agoAdd gchist SOS commands for Unix (#5127)
Jan Vorlicek [Fri, 20 May 2016 16:49:48 +0000 (18:49 +0200)]
Add gchist SOS commands for Unix (#5127)

This change adds HistClear, HistInit, HistObj, HistObjFind and HistRoot
commands to SOS on Unix

8 years agoUpdating the version of buildtools we use to add commit hashes to native binaries...
Jose Perez Rodriguez [Fri, 20 May 2016 16:04:50 +0000 (09:04 -0700)]
Updating the version of buildtools we use to add commit hashes to native binaries (#5103)

8 years agoMerge pull request #5052 from JohnChen0/r2r
John Chen [Fri, 20 May 2016 15:01:41 +0000 (08:01 -0700)]
Merge pull request #5052 from JohnChen0/r2r

Initial Ready-to-Run tests for generics

8 years agoMerge pull request #5109 from jashook/b103058_exclude
Jarret Shook [Fri, 20 May 2016 14:39:47 +0000 (07:39 -0700)]
Merge pull request #5109 from jashook/b103058_exclude

Mark b103058 as stress sensitive