platform/upstream/coreclr.git
8 years agoFix Details for ILAsm/ILDasm/ClrJit Binaries
Kyungwoo Lee [Thu, 2 Jun 2016 17:02:58 +0000 (10:02 -0700)]
Fix Details for ILAsm/ILDasm/ClrJit Binaries

Fixes https://github.com/dotnet/coreclr/issues/5408

8 years agoSpeed up CreateComparer in Comparer/EqualityComparer (#5315)
James Ko [Wed, 1 Jun 2016 20:19:47 +0000 (16:19 -0400)]
Speed up CreateComparer in Comparer/EqualityComparer (#5315)

8 years agoFix for issue 5343: Assert Failure: !"Cannot take the address of an uninstantiated...
Fadi Hanna [Wed, 1 Jun 2016 20:05:45 +0000 (13:05 -0700)]
Fix for issue 5343: Assert Failure: !"Cannot take the address of an uninstantiated generic method." (#5347)

The problem was that the delegates code base was not correctly instantiating interface GVMs on target types
(after finding the target method on the target type using slot numbers), and ended up calling uninstantiated
generic method definitions on delegate invokes.

8 years agoMerge pull request #5372 from kyulee1/eh11
Kyungwoo Lee [Wed, 1 Jun 2016 19:37:34 +0000 (12:37 -0700)]
Merge pull request #5372 from kyulee1/eh11

ARM64: eh11_large exclusion

8 years agoMerge pull request #5376 from wtgodbe/publishFix
William Godbe [Wed, 1 Jun 2016 19:19:32 +0000 (12:19 -0700)]
Merge pull request #5376 from wtgodbe/publishFix

Publish packages into folders named for their configuration

8 years agoPublish packages into folders named for their configuration
wtgodbe [Wed, 1 Jun 2016 19:18:33 +0000 (12:18 -0700)]
Publish packages into folders named for their configuration

8 years agoMerge pull request #5306 from jamesqo/jitdump-docs
Andy Ayers [Wed, 1 Jun 2016 19:02:21 +0000 (12:02 -0700)]
Merge pull request #5306 from jamesqo/jitdump-docs

Add new document on how to setup/view JIT dumps

8 years agoARM64: eh11_large exclusion
Kyungwoo Lee [Wed, 1 Jun 2016 17:24:39 +0000 (10:24 -0700)]
ARM64: eh11_large exclusion

This test often fails in release run.

8 years agoMerge pull request #4918 from stephentoub/task_parent_size
Stephen Toub [Wed, 1 Jun 2016 17:24:34 +0000 (13:24 -0400)]
Merge pull request #4918 from stephentoub/task_parent_size

Shrink Task size by 10%

8 years agoAdd new document on how to setup/view JIT dumps
James Ko [Wed, 1 Jun 2016 17:19:22 +0000 (17:19 +0000)]
Add new document on how to setup/view JIT dumps

8 years agoRemove duplicate avoid in comments from a few files (#5363)
James Singleton [Wed, 1 Jun 2016 16:27:43 +0000 (17:27 +0100)]
Remove duplicate avoid in comments from a few files (#5363)

Remove double avoid in comments

8 years agoMerge pull request #4909 from lemmaa/unit-test-enhancement
Aditya Mandaleeka [Wed, 1 Jun 2016 16:15:10 +0000 (09:15 -0700)]
Merge pull request #4909 from lemmaa/unit-test-enhancement

Add extra options to 'runtest.sh' for effective test monitoring.

8 years agoAdd more Ready-to-Run generics tests (#5190)
John Chen [Wed, 1 Jun 2016 14:59:52 +0000 (07:59 -0700)]
Add more Ready-to-Run generics tests (#5190)

8 years agoARM/Linux: Fix Exception Handler PAL Test Fail (#5360)
MyungJoo Ham [Wed, 1 Jun 2016 10:22:10 +0000 (19:22 +0900)]
ARM/Linux: Fix Exception Handler PAL Test Fail (#5360)

The return address should be kept intact, not recovered
just yet. It is going to be recovered by libgcc's
rescore_core_regs much later, few instructions before
heading back to "catch".

Fixes #5358

8 years agoComment typo fix: removed double word (#5359)
Kurt Aadnoy [Wed, 1 Jun 2016 10:20:54 +0000 (12:20 +0200)]
Comment typo fix: removed double word (#5359)

The overflow check comment for AllocateStringFastMP_InlineGetThread contained an extra "avoid".

8 years agoFix JIT PInvoke Check Failure on Linux/ARM (#5322)
Jonghyun Park [Wed, 1 Jun 2016 10:19:55 +0000 (19:19 +0900)]
Fix JIT PInvoke Check Failure on Linux/ARM (#5322)

Disable SP check on ARM

8 years agoMerge pull request #5350 from pgavlin/gh5292and5286
Pat Gavlin [Wed, 1 Jun 2016 03:50:35 +0000 (03:50 +0000)]
Merge pull request #5350 from pgavlin/gh5292and5286

Mark two tests as always optimized and exclude two others from x86/JI…

8 years agoAdd options to 'runtest.sh'
Sung-Jae Lee [Wed, 11 May 2016 10:42:50 +0000 (19:42 +0900)]
Add options to 'runtest.sh'

- '--show-time'
   display execution sequence and approximate running time for each
   test cases.
- '--no-lf-conversion'
   skip LF conversion for each test case script.

Note: `date` on Mac OS X doesn't support `%N` format specifiler.
In this case, we don't need precise time, so just ignore the time
less then a second.

8 years agoMerge pull request #5353 from ramarag/windowsr2r
Rama krishnan Raghupathy [Wed, 1 Jun 2016 01:02:34 +0000 (18:02 -0700)]
Merge pull request #5353 from ramarag/windowsr2r

Refactoring Arguments passed to runtest.cmd

8 years agoRefactoring Arguments passed to runtest.cmd
Rama Krishnan Raghupathy [Wed, 1 Jun 2016 00:35:36 +0000 (17:35 -0700)]
Refactoring Arguments passed to runtest.cmd

8 years agoMerge pull request #5340 from pgavlin/ComputeFPlvls
Pat Gavlin [Tue, 31 May 2016 22:29:42 +0000 (22:29 +0000)]
Merge pull request #5340 from pgavlin/ComputeFPlvls

Refactor fgComputeFPlvls

8 years agoMark two tests as always optimized and exclude two others from x86/JIT32.
Pat Gavlin [Tue, 31 May 2016 22:27:05 +0000 (15:27 -0700)]
Mark two tests as always optimized and exclude two others from x86/JIT32.

The former tests require optimization in order to pass and the latter require further
deliberation re: the appropriate fix (see #5286 for more info).

Fixes #5292.

8 years agoMerge pull request #5339 from kyulee1/fixmemset
Kyungwoo Lee [Tue, 31 May 2016 21:44:51 +0000 (14:44 -0700)]
Merge pull request #5339 from kyulee1/fixmemset

ARM64: Fix JIT_MemSet

8 years agoMerge pull request #5335 from swgillespie/gcstress-disable
Sean Gillespie [Tue, 31 May 2016 21:22:09 +0000 (14:22 -0700)]
Merge pull request #5335 from swgillespie/gcstress-disable

Disable a large number of GC tests from running under GCStress

8 years agoMerge pull request #5294 from ellismg/enable-other-distros-for-building
Matt Ellis [Tue, 31 May 2016 21:07:44 +0000 (14:07 -0700)]
Merge pull request #5294 from ellismg/enable-other-distros-for-building

Enable other distros for building

8 years agoMerge pull request #5334 from pgavlin/LongMathRegparam
Pat Gavlin [Tue, 31 May 2016 20:50:54 +0000 (20:50 +0000)]
Merge pull request #5334 from pgavlin/LongMathRegparam

Remove LONG_MATH_REGPARAM from the JIT.

8 years agoFix for issue 5241: [RTM] Interop\ICastable\Castable\Castable.cmd CONTRACT VIOLATION...
Fadi Hanna [Tue, 31 May 2016 19:58:02 +0000 (12:58 -0700)]
Fix for issue 5241: [RTM] Interop\ICastable\Castable\Castable.cmd CONTRACT VIOLATION by ReadyToRunInfo::TryLookupTypeTokenFromName (#5296)

8 years agoMerge pull request #5301 from RussKeldorph/try2
Russ Keldorph [Tue, 31 May 2016 19:47:07 +0000 (12:47 -0700)]
Merge pull request #5301 from RussKeldorph/try2

Second attempt to properly modify environment for stress test modes

8 years agoSupport building on all supported distros
Matt Ellis [Fri, 27 May 2016 21:59:43 +0000 (14:59 -0700)]
Support building on all supported distros

With the updated buildtools, we should now be able to build on all the supported distros:

 - Centos 7
 - Fedora 23
 - openSUSE 13.2
 - RHEL 7.2
 - Ubuntu 14.04
 - Ubuntu 16.06

I also cleaned up how we compute the RID for the tools to restore.

8 years agoMove gtComputeFPlvls next to gtSetEvalOrder.
Pat Gavlin [Tue, 31 May 2016 18:38:30 +0000 (11:38 -0700)]
Move gtComputeFPlvls next to gtSetEvalOrder.

8 years agoRename fg{FPstLvlRedo,ComputeFPlvls} to gt*.
Pat Gavlin [Tue, 31 May 2016 18:35:31 +0000 (11:35 -0700)]
Rename fg{FPstLvlRedo,ComputeFPlvls} to gt*.

This variable and function are more appropriately grouped with the GenTree-related
funcaionality, as they are peers of gtSetEvalOrder.

8 years agoARM64: Fix JIT_MemSet
Kyungwoo Lee [Tue, 31 May 2016 18:20:35 +0000 (11:20 -0700)]
ARM64: Fix JIT_MemSet

Init value should be treated as an unsigned char.

8 years agoDisable a large number of GC tests from running under GCStress
Sean Gillespie [Tue, 31 May 2016 18:05:40 +0000 (11:05 -0700)]
Disable a large number of GC tests from running under GCStress

8 years agoRemove LONG_MATH_REGPARAM from the JIT.
Pat Gavlin [Tue, 31 May 2016 18:01:20 +0000 (11:01 -0700)]
Remove LONG_MATH_REGPARAM from the JIT.

This symbol was never defined as true, and as such the various bits of code predicated
on it were dead. This change removes the symbol and its associated code.

8 years agoMerge pull request #5189 from AlexGhiondea/buildPackage
AlexGhiondea [Tue, 31 May 2016 17:54:23 +0000 (10:54 -0700)]
Merge pull request #5189 from AlexGhiondea/buildPackage

Include the targeting pack in the build process.

8 years agoPort String.IndexOf(char) and LastIndexOf(char) from CoreRT (#5327)
Bruce Bowyer-Smyth [Tue, 31 May 2016 14:29:05 +0000 (00:29 +1000)]
Port String.IndexOf(char) and LastIndexOf(char) from CoreRT (#5327)

8 years agoUpdate Windows instructions (#5312)
Petr Onderka [Tue, 31 May 2016 03:48:01 +0000 (05:48 +0200)]
Update Windows instructions (#5312)

* Small improvements to Windows instructions

* copy missing System.Private.CoreLib.dll

* syntax highlighting

* Use ref assemblies from CoreFX instead of NuGet

* Used AnyOS directories for CoreFX assemblies

Also use built facade assemblies.

AnyOS directories are safer, since they don't rely on tests to be built.

(Building main project usually creates just AnyOS, building test project creates the Windows_NT version.)

8 years agoUpdate tryrun.cmake for arm-softfp (#5323)
chunseoklee [Tue, 31 May 2016 03:46:12 +0000 (12:46 +0900)]
Update tryrun.cmake for arm-softfp (#5323)

8 years agoUpdates tryrun.cmake for ARM cross build (#5317)
Jonghyun Park [Tue, 31 May 2016 03:45:48 +0000 (12:45 +0900)]
Updates tryrun.cmake for ARM cross build (#5317)

8 years agoEnable 'System.Private.CoreLib.dll' build on cross build mode (#5320)
Jonghyun Park [Tue, 31 May 2016 03:44:20 +0000 (12:44 +0900)]
Enable 'System.Private.CoreLib.dll' build on cross build mode (#5320)

Currently, build.sh uses 'BuildOS' and 'BuildArch' to determine whether
it is possible to build 'System.Private.CorLib.dll'.

This commit revises build.sh to use 'HostOS' and 'HostArch' instead of
'BuildOS' and 'BuildArch' when it checkes whether it is possible to
build 'System.Private.CoreLib.dll', which allows to build
'System.Private.CoreLib.dll' in cross build mode.

8 years agoFix: if errorlevel 0 is almost always true (#5308)
James Ko [Mon, 30 May 2016 17:36:10 +0000 (13:36 -0400)]
Fix: if errorlevel 0 is almost always true (#5308)

Explanation: if errorlevel n actually tests if the errorlevel is
greater than or equal to n. See: http://ss64.com/nt/if.html

8 years agoMerge pull request #5240 from wateret/mscorlib-arm-softfp
Jan Kotas [Mon, 30 May 2016 17:33:47 +0000 (10:33 -0700)]
Merge pull request #5240 from wateret/mscorlib-arm-softfp

Support CoreLib build for arm-softfp

8 years agoMerge pull request #5087 from myungjoo/fix/4859/janvorli_suggestion
Jan Kotas [Mon, 30 May 2016 17:30:14 +0000 (10:30 -0700)]
Merge pull request #5087 from myungjoo/fix/4859/janvorli_suggestion

Fix/4859 Unit Test 143837 Fail

8 years agoAvoid unnecessary ContingentProperties allocations
stephentoub [Mon, 2 May 2016 04:42:32 +0000 (00:42 -0400)]
Avoid unnecessary ContingentProperties allocations

We don't need to allocate it for child tasks if there isn't actually a parent.

8 years agoMake m_contingentProperties non-volatile
stephentoub [Sun, 1 May 2016 23:11:40 +0000 (19:11 -0400)]
Make m_contingentProperties non-volatile

Most accesses, including those to get the recently moved m_parent field, do not need to be volatile.  This commit makes the field non-volatile and then adds usage of Volatile.Read only where needed.

8 years agoMove Task's m_parent to ContingentProperties
stephentoub [Sun, 1 May 2016 22:25:07 +0000 (18:25 -0400)]
Move Task's m_parent to ContingentProperties

Shrinks the size of Task by 10% in the common case (when ContingentProperties doesn't need to be expanded).

8 years agoFix ucol_setMaxVariable detection for Gentoo Linux (#5309)
Peter Jas [Mon, 30 May 2016 09:54:02 +0000 (12:54 +0300)]
Fix ucol_setMaxVariable detection for Gentoo Linux (#5309)

The issue was the symbol is exported by the ICU lib. Including headers
was not enough. The linker requires the libraries to succeed.

With this fix, CoreCLR successfully builds on Gentoo Linux 100%.
Tested with LXC gentoo container on Ubuntu machine.

Steps to configure and build:
https://gist.github.com/jasonwilliams200OK/1a2e2c0e904ffa95faf6333fcd88d9b8

Fix #5160

8 years agoDon't use libstdc++ wrappers for stdlib.h (#5304)
Jürgen Hötzel [Mon, 30 May 2016 09:45:49 +0000 (11:45 +0200)]
Don't use libstdc++ wrappers for stdlib.h (#5304)

This prevents #undef of min/max macros. Refs #5006.

8 years agoARM: Remove workaround no more required
MyungJoo Ham [Wed, 25 May 2016 10:06:50 +0000 (19:06 +0900)]
ARM: Remove workaround no more required

With recent concrete unwinding/exception handling routines
of coreclr-arm-linux, we no longer need this workaround.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
8 years agoARM/THUMB PC Least Bit Set for Range Check
MyungJoo Ham [Thu, 19 May 2016 02:23:51 +0000 (11:23 +0900)]
ARM/THUMB PC Least Bit Set for Range Check

Fix #4859

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
8 years agoMerge pull request #5093 from wateret/fix-returnstruct-arm-softfp
Russ Keldorph [Mon, 30 May 2016 06:34:08 +0000 (23:34 -0700)]
Merge pull request #5093 from wateret/fix-returnstruct-arm-softfp

Fix Assert Error "Unexpected size when returning struct by value" on …

8 years agoMerge pull request #5307 from ellismg/fix-rhel-build
Sergiy Kuryata [Sun, 29 May 2016 20:52:53 +0000 (13:52 -0700)]
Merge pull request #5307 from ellismg/fix-rhel-build

Fix RHEL 7 Build

8 years agoFix RHEL 7 Build
Matt Ellis [Sun, 29 May 2016 06:33:20 +0000 (23:33 -0700)]
Fix RHEL 7 Build

There were two issues:

 - $__BuildArch is not defined in init-tools.sh, so we would always
   download the ubuntu version of the CLI, since our check for
   `rhel.7.2-x64` would never fire.

 - There was a small RHEL specific bug in BuildTools itself that
   manifested when we actually were able to download the CLI and try to
   restore the runtime.

8 years agoMerge pull request #5290 from joperezr/AddingCommitHashToManagedLibraries
Jose Perez Rodriguez [Sat, 28 May 2016 19:44:45 +0000 (12:44 -0700)]
Merge pull request #5290 from joperezr/AddingCommitHashToManagedLibraries

Adding commit hash to all built binaries.

8 years agoEnsure Ready-to-Run module is activated in generics dictionary lookup (#5288)
John Chen [Sat, 28 May 2016 17:34:22 +0000 (10:34 -0700)]
Ensure Ready-to-Run module is activated in generics dictionary lookup (#5288)

Under certain conditions, a Ready-to-Run module is not yet fully
activated when its contents are used. This can cause asserts in
debug build. It can also cause module constructor to be run too late.

8 years agoMerge pull request #5299 from CarolEidt/FixArm64
Matt Ellis [Sat, 28 May 2016 08:46:09 +0000 (01:46 -0700)]
Merge pull request #5299 from CarolEidt/FixArm64

Fix a build break due to PR #5101

8 years agoMerge pull request #5295 from adityamandaleeka/noexcept_nothrow_new
Aditya Mandaleeka [Sat, 28 May 2016 05:52:36 +0000 (22:52 -0700)]
Merge pull request #5295 from adityamandaleeka/noexcept_nothrow_new

Add noexcept specifier to some non-throwing new operators

8 years agoRemove the dnvm-based installation instructions from the docs (#5271)
James Ko [Sat, 28 May 2016 05:49:35 +0000 (01:49 -0400)]
Remove the dnvm-based installation instructions from the docs (#5271)

* Replace DNX docs with a link to the official .NET website

* Group Get/Learn About .NET Core into one section

8 years agoMerge pull request #5236 from leemgs/upstream-buildtest.cmd-help-update
Rama krishnan Raghupathy [Sat, 28 May 2016 05:08:11 +0000 (22:08 -0700)]
Merge pull request #5236 from leemgs/upstream-buildtest.cmd-help-update

Documentation: Adding flag descriptions of unit test scripts

8 years agoSecond attempt to properly modify environment for stress test modes
Russ Keldorph [Sat, 28 May 2016 03:44:21 +0000 (20:44 -0700)]
Second attempt to properly modify environment for stress test modes

My amateurish bash skills are showing.  I forgot that you have to
source a script to modify the environment, though, to be fair, this
line was already here when I got here. :)

8 years agoFix the named semaphore leak on OSX (and Linux) (#5269)
Mike McLaughlin [Sat, 28 May 2016 03:03:32 +0000 (20:03 -0700)]
Fix the named semaphore leak on OSX (and Linux) (#5269)

* Change the dbgshim launch handshake back.

The debugger side now creates the name semaphores like before and the transport pipe
existence determines that coreclr is ready.

Changed when the transport pipes are created: synchronously on the main thread.

Correctly set and check the HAVE_PROCFS_* defines.

* Code review feedback.

8 years agoFix Assert Error "Unexpected size when returning struct by value" on arm-softfp
Hanjoung Lee [Thu, 12 May 2016 05:09:31 +0000 (14:09 +0900)]
Fix Assert Error "Unexpected size when returning struct by value" on arm-softfp

For only arm-softfp there is an assert error when returning struct as value.

Fixes #4924

Signed-off-by: Hanjoung Lee hanjoung.lee@samsung.com
8 years agoDocumentation: Adding flag descriptions of unit test scripts
Geunsik Lim [Sat, 28 May 2016 01:25:35 +0000 (10:25 +0900)]
Documentation: Adding flag descriptions of unit test scripts

Let's append the meaning of the 'priority' and 'gcstresslevel' flag.
The additional description of the 'priority' flag  is derived from
./coreclr/tests/dir.props. And, that of the 'gcstresslevel' flag is
derived from ./coreclr/src/gc/sample/gcenv.h.

ver2:
Moved 'gcstresslevel' flag from ./tests/buildtest.cmd to ./tests/runtest.*.

ver1:
Added 'priority' and 'gcstresslevel' flag in ./tests/buildtest.cmd

Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
8 years agoFix a build break due to PR #5101
Carol Eidt [Sat, 28 May 2016 01:20:11 +0000 (18:20 -0700)]
Fix a build break due to PR #5101

The declaration, definition and uses of eeGetMethodFullName
didn't match.

8 years agoMerge pull request #5263 from briansull/avoid-x8
Brian Sullivan [Sat, 28 May 2016 01:19:52 +0000 (18:19 -0700)]
Merge pull request #5263 from briansull/avoid-x8

Avoid using register x8 as it will be used as the RetBuf argument in the future

8 years agoMerge pull request #5277 from pgavlin/gentree
Pat Gavlin [Sat, 28 May 2016 01:01:04 +0000 (18:01 -0700)]
Merge pull request #5277 from pgavlin/gentree

Remove a redundant recursive call to `gtSetEvalOrder`.

8 years agoMerge pull request #5257 from Priya91/failingtest
Sergiy Kuryata [Sat, 28 May 2016 00:33:43 +0000 (17:33 -0700)]
Merge pull request #5257 from Priya91/failingtest

Disable failing test to enable corefx runs.

8 years agoMerge pull request #5261 from ramarag/gcstress
Rama krishnan Raghupathy [Fri, 27 May 2016 23:23:56 +0000 (16:23 -0700)]
Merge pull request #5261 from ramarag/gcstress

Refactoring the way GC Stress logic is used while running tests

8 years agoAvoid using register x8 as it will be used as the RetBuf argument in the future
Brian Sullivan [Thu, 26 May 2016 22:49:57 +0000 (15:49 -0700)]
Avoid using register x8 as it will be used as the RetBuf argument in the future

Placed usage of REG_SPILL_CHOICE under LEGACY_BACKEND and removed them for RyuJit only targets
Moved REG_R8 for ARM64 to later in the REG_VAR_ORDER
Change the definition of REG_PINVOKE_ registers to avoid using REG_R8
Change the definition of REG_TMP_0 and REG_TMP_1 to avoid using REG_R8
 the REG_TMP defines are only used in one place: CodeGen::genEmitGSCookieCheck

8 years agoMerge pull request #5101 from CarolEidt/FixIssue2554
Carol Eidt [Fri, 27 May 2016 22:35:27 +0000 (15:35 -0700)]
Merge pull request #5101 from CarolEidt/FixIssue2554

Use JitFuncInfoLogFile to check if SIMD intrinsics are recognized.

8 years agoExcluding Weak-GCReferences tests from GC stress runs (#5289)
Fadi Hanna [Fri, 27 May 2016 22:25:33 +0000 (15:25 -0700)]
Excluding Weak-GCReferences tests from GC stress runs (#5289)

8 years agoAdding commit hash to all built binaries.
Jose Perez Rodriguez [Fri, 27 May 2016 21:24:57 +0000 (14:24 -0700)]
Adding commit hash to all built binaries.

8 years agoIntroduce a central packages.builds file that controls building the nuget packages.
Alex Ghiondea [Tue, 24 May 2016 17:59:37 +0000 (10:59 -0700)]
Introduce a central packages.builds file that controls building the nuget packages.

This removes the need to have individual packages added to the build scripts to generate them.

8 years agoMerge pull request #5266 from vancem/EventSoruceComplexTypeFix
David Mason [Fri, 27 May 2016 20:15:32 +0000 (13:15 -0700)]
Merge pull request #5266 from vancem/EventSoruceComplexTypeFix

EventSource Events that use complex types do not get logged (silently…

8 years agoMerge pull request #5279 from RussKeldorph/unix_stress
Russ Keldorph [Fri, 27 May 2016 20:15:14 +0000 (13:15 -0700)]
Merge pull request #5279 from RussKeldorph/unix_stress

Fix environment settings for Unix JIT stress scenarios

8 years agoFix environment settings for Unix JIT stress scenarios
Russ Keldorph [Fri, 27 May 2016 17:43:35 +0000 (10:43 -0700)]
Fix environment settings for Unix JIT stress scenarios

The environment settings necessary to run tests in these modes were being
dropped.  They need to be tunneled through properly in a couple of places.

Fixes #5278

8 years agoFix GCStress 0xC on Unix (#5276)
Jan Vorlicek [Fri, 27 May 2016 19:19:31 +0000 (21:19 +0200)]
Fix GCStress 0xC on Unix (#5276)

This change fixes GCStress 0xC on Unix that was not working due to the way that
we check that a specific IP is in managed code. To make that check safe,
a precondition checking that the thread is in cooperative GC mode was added
some time ago. But that causes a problem with the GCStress 0xC and PInvoke
stubs. The PInvoke stub switches to preemptive mode at some point and when
the code beyond that point is instrumented and the corresponding hardware
exception occurs, the exception address is not evaluated as being in managed
code and so the exception terminates the application.
This fix excludes the safety check of GC mode when we are running with GC stress
mode 8 or 4 (or both -> 0xc).

8 years agoMerge pull request #5225 from ellismg/add-additional-packages
Matt Ellis [Fri, 27 May 2016 18:03:11 +0000 (11:03 -0700)]
Merge pull request #5225 from ellismg/add-additional-packages

Add Fedora, OpenSuse and Ubuntu 16.04 packages

8 years agoMerge pull request #5260 from CarolEidt/Fix5116
Carol Eidt [Fri, 27 May 2016 17:45:45 +0000 (10:45 -0700)]
Merge pull request #5260 from CarolEidt/Fix5116

Recognize Vector<T> constructors for small ints

8 years agoUse JitFuncInfoLogFile to check if SIMD intrinsics are recognized.
Carol Eidt [Tue, 17 May 2016 23:48:15 +0000 (16:48 -0700)]
Use JitFuncInfoLogFile to check if SIMD intrinsics are recognized.

Although COMPlus_JitFuncInfoLogFile was enabled as a "RETAIL" variable, it
was only opening the file (and not writing to it) in non-DEBUG.
In order to use it, we need to also enable eeGetMethodFullName in release,
which in turn requires type names.
Also, _wfsopen() is not supported in the PAL layer.
However, it appears to work fine without the sharing option, on both Windows
and Linux.
Add a utility class to use the log file to check whether a method has been compiled.
Use it to test that the SIMD intrinsics are not compiled when they are enabled.
Add dir.props to the SIMD test directory to set the COMPlus_JitFuncInfoLogFile
environment variable, and to delete the log file before each test.

Fix #2554

8 years agoRemove another redundant call to gtSetEvalOrder.
Pat Gavlin [Fri, 27 May 2016 17:43:09 +0000 (10:43 -0700)]
Remove another redundant call to gtSetEvalOrder.

The handling for GT_BOX exhibited the same pattern as that of GT_OBJ.

8 years agoFix System.Diagnostics.StackTrace symbol issue (#5265)
Mike McLaughlin [Fri, 27 May 2016 17:13:02 +0000 (10:13 -0700)]
Fix System.Diagnostics.StackTrace symbol issue (#5265)

* Fix System.Diagnostics.StackTrace symbol issue

* Code review feedback.

* Code review feedback.

8 years agoMerge pull request #5249 from kyulee1/divzero
Kyungwoo Lee [Fri, 27 May 2016 17:03:34 +0000 (10:03 -0700)]
Merge pull request #5249 from kyulee1/divzero

ARM64: Fix Liveness update for Division By Zero

8 years agoFix sos ClrStack print of GC frames for ARM/Linux (#5178)
Dmitri-Botcharnikov [Fri, 27 May 2016 16:53:10 +0000 (20:53 +0400)]
Fix sos ClrStack print of GC frames for ARM/Linux (#5178)

Fix issue #5037

8 years agoMerge pull request #5270 from briansull/issue-5264
Brian Sullivan [Fri, 27 May 2016 13:16:18 +0000 (06:16 -0700)]
Merge pull request #5270 from briansull/issue-5264

Proposed fix for #5264

8 years agoFix debuggertests failures OSX. (#5267)
Mike McLaughlin [Fri, 27 May 2016 08:48:12 +0000 (01:48 -0700)]
Fix debuggertests failures OSX. (#5267)

The change that triggered the failures was going to a separate JIT module with its own PAL. The reason is a problem in the OSX exception forwarding a single-step exception: to forward/chain an exception to the next PAL the exception we restore the registers at the point of the exception and retry the it. For all the hardware exceptions this is fine, but for single-step the register state is after the instruction has been stepped so when it is retried and chained to the next PAL another instruction is stepped so the debugger gets notified an instruction after where it wanted. Chaining the single-step exception on Linux doesn’t have this problem because we just basically “jump” to the next PAL/signal handler.

The fix is too only “hook” single-step/breakpoint exceptions in the coreclr module/PAL (yet another PAL_INITIALIZE flag) and not in the JIT module (or any other non-coreclr PALs).

8 years agoFix for clrstack after bpmd (#5051)
chunseoklee [Fri, 27 May 2016 06:06:46 +0000 (15:06 +0900)]
Fix for clrstack after bpmd (#5051)

related issue : #4672 #5037

8 years agoMerge pull request #5262 from JohnChen0/issue5201
John Chen [Fri, 27 May 2016 05:31:43 +0000 (22:31 -0700)]
Merge pull request #5262 from JohnChen0/issue5201

Fix generic non-virtual method call in Ready-to-Run images

8 years agoFix generic non-virtual method call in Ready-to-Run images
JohnChen0 [Thu, 26 May 2016 22:07:00 +0000 (15:07 -0700)]
Fix generic non-virtual method call in Ready-to-Run images

Issue #5201 revealed a bug in the Ready-to-Run implementation.
This bug can cause the runtime to dispatch a method call to the
wrong target when all the following conditions are met:
* A shared generic method in a Ready-to-Run module calls a method
  in a shared generic class.
* The target is a non-virtual instance method, but is called through
  callvirt instruction (as C# compiler normally does).
* The target is in a different module.
* The target method is defined in a base class, while the actual
  object instance is of a derived class.

This commit fixes this bug by changing a virtual call to a regular
call when the target is non-virtual.

8 years agoARM64: Fix Liveness update for Division By Zero
Kyungwoo Lee [Wed, 25 May 2016 15:38:59 +0000 (08:38 -0700)]
ARM64: Fix Liveness update for Division By Zero

We've missed updating liveness when converting division by zero to a
throw. This fixes an assertion failure in `assert(!varDsc->lvIsRegCandidate());` in
codegenarm64.cpp/L1903.
genConsumeOperands() is factored out of genCodeForBinary(). The call sites
appropriately invoke genConsumeOperands() to update liveness.

8 years agoMerge pull request #5238 from prajwal-aithal/devel/arm-ci-fix
Jarret Shook [Fri, 27 May 2016 04:09:08 +0000 (21:09 -0700)]
Merge pull request #5238 from prajwal-aithal/devel/arm-ci-fix

ARM-CI: fixing umount bug

8 years agoMerge pull request #5217 from AlexGhiondea/updateTargetingPack
AlexGhiondea [Fri, 27 May 2016 02:27:26 +0000 (19:27 -0700)]
Merge pull request #5217 from AlexGhiondea/updateTargetingPack

Include System.Private.CoreLib in the targeting pack next to the mscorlib facade

8 years agoProposed fix for #5264
Brian Sullivan [Fri, 27 May 2016 01:52:09 +0000 (18:52 -0700)]
Proposed fix for #5264

8 years agoAdd Fedora, OpenSuse and Ubuntu 16.04 packages
Matt Ellis [Wed, 25 May 2016 19:37:23 +0000 (12:37 -0700)]
Add Fedora, OpenSuse and Ubuntu 16.04 packages

 - Add packages for Fedora 23 and OpenSuse 13.2
 - Move the package authoring for Ubuntu into versioned folders
 - Update our selection logic for what to produce to be based on an
   actual RID instead of just a distro name, since that's now not enough
   with us building for two Ubuntu versions

8 years agoEventSource Events that use complex types do not get logged (silently ignored)
Vance Morrison [Fri, 27 May 2016 00:15:14 +0000 (17:15 -0700)]
EventSource Events that use complex types do not get logged (silently ignored)

When complex types were added to EventSource (in V4.6) there was a latent bug where if the event had specified keywords
the event would not be emitted to TraceEvent-style ETW controlers (e.g. PerfVIew).    Basically there was confusion
between a session bitmask (where the bits were 0, 1, 2,  and 3), and the ETW keywords bitmask (which the 'ToEventKeywords()
morphs them to a Keywords Bitmask.)

This bug has existed foa a while, but we are now using both of those features (keywords and complex types), in the
DiagnosticEventSource and when we started to really use it we found the problem.

You will see in lines 1221 and 1242 is another code path that was already fixed, but we missed the cose path at 1977 and 1998.

This needs to be back-ported to the Desktop framework as well.

8 years agoMerge pull request #5256 from kyulee1/testupdate
Kyungwoo Lee [Fri, 27 May 2016 00:08:33 +0000 (17:08 -0700)]
Merge pull request #5256 from kyulee1/testupdate

ARM64: A few Test List Update

8 years agoAdd noexcept to some non-throwing new overloads.
Aditya Mandaleeka [Fri, 27 May 2016 00:04:08 +0000 (17:04 -0700)]
Add noexcept to some non-throwing new overloads.

8 years agoFxing the case of COMPlus_GCStress
Rama Krishnan Raghupathy [Thu, 26 May 2016 18:37:18 +0000 (11:37 -0700)]
Fxing the case of COMPlus_GCStress
Removing Build dependency for GC Stress

8 years agoMerge pull request #5144 from gkhanna79/RelaxALC2
Gaurav Khanna [Thu, 26 May 2016 23:48:35 +0000 (16:48 -0700)]
Merge pull request #5144 from gkhanna79/RelaxALC2

Enable overriding TPA assemblies

8 years agoRemove a redundant recursive call to `gtSetEvalOrder`.
Pat Gavlin [Thu, 26 May 2016 23:03:34 +0000 (16:03 -0700)]
Remove a redundant recursive call to `gtSetEvalOrder`.