platform/upstream/coreclr.git
8 years agoNetBSD: Define PAL_CS_NATIVE_DATA_SIZE for few NetBSD platforms
Kamil Rytarowski [Fri, 22 Jan 2016 11:25:39 +0000 (12:25 +0100)]
NetBSD: Define PAL_CS_NATIVE_DATA_SIZE for few NetBSD platforms

Set PAL_CS_NATIVE_DATA_SIZE for:
- amd64 (x86_64),
- earm,
- hppa,
- i386,
- mips,
- sparc (32bit),
- sparc64.

8 years agoSort the definitions of PAL_CS_NATIVE_DATA_SIZE by platforms and archs
Kamil Rytarowski [Fri, 22 Jan 2016 11:18:30 +0000 (12:18 +0100)]
Sort the definitions of PAL_CS_NATIVE_DATA_SIZE by platforms and archs

8 years agoMerge pull request #2794 from dotnet-bot/from-tfs
Jan Kotas [Fri, 22 Jan 2016 08:26:20 +0000 (00:26 -0800)]
Merge pull request #2794 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoMerge pull request #2786 from wtgodbe/groovy
Sergiy Kuryata [Fri, 22 Jan 2016 07:55:00 +0000 (23:55 -0800)]
Merge pull request #2786 from wtgodbe/groovy

Set longer timeout for pri 1 tests, and add testing for rc2 branch

8 years agoMerge pull request #2772 from ramarag/fixincrementabuild
Jan Kotas [Fri, 22 Jan 2016 05:52:16 +0000 (21:52 -0800)]
Merge pull request #2772 from ramarag/fixincrementabuild

Fix incremental build

8 years agoFix x86chk coresys build
Aditya Mandaleeka [Fri, 22 Jan 2016 04:46:39 +0000 (20:46 -0800)]
Fix x86chk coresys build

[tfs-changeset: 1567626]

8 years agoFix ProjectK build breaks related to GC Stress change.
Aditya Mandaleeka [Fri, 22 Jan 2016 02:57:35 +0000 (18:57 -0800)]
Fix ProjectK build breaks related to GC Stress change.

[tfs-changeset: 1567550]

8 years agoMerge pull request #2784 from krytarowski/netbsd-support-5
Jan Kotas [Fri, 22 Jan 2016 02:47:07 +0000 (18:47 -0800)]
Merge pull request #2784 from krytarowski/netbsd-support-5

NetBSD: Add new target in src/pal/src/configure.cmake for NetBSD

8 years agoMerge pull request #2783 from AndyAyersMS/RayTracer
Andy Ayers [Fri, 22 Jan 2016 00:54:39 +0000 (16:54 -0800)]
Merge pull request #2783 from AndyAyersMS/RayTracer

Add the RayTracer benchmark

8 years agoMerge pull request #2696 from gkhanna79/AssemblyResolve
Gaurav Khanna [Fri, 22 Jan 2016 00:18:42 +0000 (16:18 -0800)]
Merge pull request #2696 from gkhanna79/AssemblyResolve

AssemblyResolve support

8 years agoMerge pull request #2774 from ramarag/fixtestlayout
Rama krishnan Raghupathy [Fri, 22 Jan 2016 00:02:12 +0000 (16:02 -0800)]
Merge pull request #2774 from ramarag/fixtestlayout

Fixes the test intermediates layout for clean builds

8 years agoRetire unused Asian LOCALE_NAME
Kamil Rytarowski [Thu, 21 Jan 2016 23:45:16 +0000 (00:45 +0100)]
Retire unused Asian LOCALE_NAME

Removed variants:
- JA_JP_LOCALE_NAME,
- KO_KR_LOCALE_NAME,
- ZH_TW_LOCALE_NAME.

8 years agoMerge pull request #2782 from krytarowski/netbsd-support-4
Jan Kotas [Thu, 21 Jan 2016 23:30:17 +0000 (15:30 -0800)]
Merge pull request #2782 from krytarowski/netbsd-support-4

NetBSD: Set proper shortAsciiName for NetBSD's libc

8 years agoMerge pull request #2781 from krytarowski/netbsd-support-3
Jan Kotas [Thu, 21 Jan 2016 23:29:52 +0000 (15:29 -0800)]
Merge pull request #2781 from krytarowski/netbsd-support-3

NetBSD: Add support for retrieving the number of available CPUs

8 years agoMerge pull request #2732 from steveharter/FixSanitizerClrStartup
Steve Harter [Thu, 21 Jan 2016 23:14:59 +0000 (17:14 -0600)]
Merge pull request #2732 from steveharter/FixSanitizerClrStartup

Reduce clr startup noise when using Clang sanitizers

8 years agoGenerating Event Logging Headers From CMake for Linux
DDCloud [Thu, 21 Jan 2016 02:46:37 +0000 (18:46 -0800)]
Generating Event Logging Headers From CMake for Linux

Conflicts:
build.sh

8 years agoFIx the incremental build for Windows
Jan Vorlicek [Tue, 19 Jan 2016 18:24:23 +0000 (19:24 +0100)]
FIx the incremental build for Windows

Conflicts:
build.cmd
src/dlls/clretwrc/CMakeLists.txt

Cleanup

8 years agoMerge pull request #2788 from kyulee1/fixpath
Matt Mitchell [Thu, 21 Jan 2016 22:36:17 +0000 (14:36 -0800)]
Merge pull request #2788 from kyulee1/fixpath

Fix test path for ilasm nightly

8 years agoFix test path for ilasm nightly
Kyungwoo Lee [Thu, 21 Jan 2016 22:29:59 +0000 (14:29 -0800)]
Fix test path for ilasm nightly

8 years agoMerge pull request #2777 from dotnet-bot/from-tfs
Matt Ellis [Thu, 21 Jan 2016 22:06:56 +0000 (14:06 -0800)]
Merge pull request #2777 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoMerge pull request #2787 from mmitche/add-jitstress
Matt Mitchell [Thu, 21 Jan 2016 22:03:29 +0000 (14:03 -0800)]
Merge pull request #2787 from mmitche/add-jitstress

Add JitStress=1 stress configuration

8 years agoAdd JitStress=1 stress configuration
Matt Mitchell [Thu, 21 Jan 2016 21:50:54 +0000 (13:50 -0800)]
Add JitStress=1 stress configuration

8 years agoMerge pull request #2778 from krytarowski/netbsd-support-2
Jan Vorlicek [Thu, 21 Jan 2016 21:46:39 +0000 (22:46 +0100)]
Merge pull request #2778 from krytarowski/netbsd-support-2

NetBSD: Add PYTHON env variable for build.sh to specify python exec name

8 years agoFixes the test intermediates layout for clean builds
Rama Krishnan Raghupathy [Thu, 21 Jan 2016 04:05:04 +0000 (20:05 -0800)]
Fixes the test intermediates layout for clean builds

8 years agoSet longer timeout for pri 1 tests, and add testing for rc2 branch
William Godbe [Thu, 21 Jan 2016 21:32:15 +0000 (13:32 -0800)]
Set longer timeout for pri 1 tests, and add testing for rc2 branch

8 years agoReduce clr startup noise when using Clang sanitizers
Steve Harter [Wed, 16 Dec 2015 20:27:26 +0000 (14:27 -0600)]
Reduce clr startup noise when using Clang sanitizers

8 years agoNetBSD: Add new target in src/pal/src/configure.cmake for NetBSD
Kamil Rytarowski [Thu, 21 Jan 2016 21:03:44 +0000 (22:03 +0100)]
NetBSD: Add new target in src/pal/src/configure.cmake for NetBSD

This code is based on FreeBSD, with the following differences:
- At the moment there is no libunwind for NetBSD.
- The is no need for libc.so magic like in GNU, neither on FreeBSD
  someone wrongly assumed it there.
- ptrace(2) uses (void*) instead of (caddr_t)

8 years agoNetBSD: Set proper shortAsciiName for NetBSD's libc
Kamil Rytarowski [Thu, 21 Jan 2016 20:31:11 +0000 (21:31 +0100)]
NetBSD: Set proper shortAsciiName for NetBSD's libc

There is no need for the LIBC_SO-like solution on NetBSD.

8 years agoAdd the RayTracer benchmark
Andy Ayers [Wed, 20 Jan 2016 22:10:27 +0000 (14:10 -0800)]
Add the RayTracer benchmark

8 years agoNetBSD: Add support for retrieving the number of available CPUs
Kamil Rytarowski [Thu, 21 Jan 2016 19:03:31 +0000 (20:03 +0100)]
NetBSD: Add support for retrieving the number of available CPUs

$ uname
NetBSD
$ getconf NPROCESSORS_ONLN
2
$ getconf _NPROCESSORS_ONLN
getconf: _NPROCESSORS_ONLN: unknown variable

8 years agoMerge pull request #2780 from pgavlin/BuildRyuJitPackage
Pat Gavlin [Thu, 21 Jan 2016 19:23:23 +0000 (11:23 -0800)]
Merge pull request #2780 from pgavlin/BuildRyuJitPackage

Use output redirection in BuildRyuJitPackage.

8 years agoUse output redirection in BuildRyuJitPackage.
Pat Gavlin [Thu, 21 Jan 2016 18:56:13 +0000 (10:56 -0800)]
Use output redirection in BuildRyuJitPackage.

Command capture was producing unexpected results on the build
machines.

8 years agoNetBSD: Add PYTHON env variable for build.sh to specify python exec name
Kamil Rytarowski [Thu, 21 Jan 2016 18:38:54 +0000 (19:38 +0100)]
NetBSD: Add PYTHON env variable for build.sh to specify python exec name

This allows to overload the default 'python' executable name and is used
on NetBSD with pkgsrc, where python is either python2.7 or python3.x.

8 years agoMerge pull request #2760 from mmitche/add-ubuntu-minopts
Matt Mitchell [Thu, 21 Jan 2016 18:07:34 +0000 (10:07 -0800)]
Merge pull request #2760 from mmitche/add-ubuntu-minopts

Add minopts testing for the other cross compiled OS's

8 years agoAdd minopts for ubuntu and osx.
Matt Mitchell [Thu, 21 Jan 2016 17:54:26 +0000 (09:54 -0800)]
Add minopts for ubuntu and osx.

8 years agoMerge pull request #2776 from janvorli/fix-projectk-build
Jan Vorlicek [Thu, 21 Jan 2016 17:11:27 +0000 (18:11 +0100)]
Merge pull request #2776 from janvorli/fix-projectk-build

Fix missing disassembler.cpp in .targets files

8 years agoUpdate Unicode data to 8.0
Tarek Mahmoud Sayed [Thu, 21 Jan 2016 16:23:32 +0000 (08:23 -0800)]
Update Unicode data to 8.0

This a change porting that is done on the desktop. in addition updating some tests
The change is to update the Unicode characters data from v6.3 to v8 (support 2 releases after 6.3). the change is purely a data change and there is no product code changes.

[tfs-changeset: 1567358]

8 years agoFix missing disassembler.cpp in .targets files
Jan Vorlicek [Thu, 21 Jan 2016 15:34:40 +0000 (16:34 +0100)]
Fix missing disassembler.cpp in .targets files

This change adds missing disassembler.cpp to wks.targets and dacwks.targets files.

8 years agoAdd support for AssemblyResolution when an assembly is not found in a given Load...
Gaurav Khanna (CLR) [Fri, 15 Jan 2016 23:06:01 +0000 (15:06 -0800)]
Add support for AssemblyResolution when an assembly is not found in a given Load Context.

1) Expose AssemblyResolve event off AssemblyLoadContext
2) Invoke the event if the abstract Load implementation does not return an assembly.

8 years agoMerge pull request #2758 from stephentoub/list_toarray
Stephen Toub [Thu, 21 Jan 2016 12:52:34 +0000 (07:52 -0500)]
Merge pull request #2758 from stephentoub/list_toarray

Use _emptyArray in List<T>.ToArray

8 years agoMerge pull request #2706 from adityamandaleeka/gc_stress
Sergiy Kuryata [Thu, 21 Jan 2016 05:46:13 +0000 (21:46 -0800)]
Merge pull request #2706 from adityamandaleeka/gc_stress

Add support for GCStress 0xC

8 years agoMerge pull request #2755 from wtgodbe/typeNotFound
Sergiy Kuryata [Thu, 21 Jan 2016 05:40:08 +0000 (21:40 -0800)]
Merge pull request #2755 from wtgodbe/typeNotFound

Fixed errors of class 'the type or namespace name 'X' could not be found' in building Pri 1 tests

8 years agoMerge pull request #2756 from wtgodbe/disableFailingPri1s
Sergiy Kuryata [Thu, 21 Jan 2016 05:39:50 +0000 (21:39 -0800)]
Merge pull request #2756 from wtgodbe/disableFailingPri1s

Changed tests that were causing build failure from pri 1 to pri 2

8 years agoUse _emptyArray in List<T>.ToArray
stephentoub [Wed, 20 Jan 2016 23:03:48 +0000 (18:03 -0500)]
Use _emptyArray in List<T>.ToArray

8 years agoMerge pull request #2753 from pgavlin/BuildRyuJitPackage
Pat Gavlin [Wed, 20 Jan 2016 23:29:57 +0000 (15:29 -0800)]
Merge pull request #2753 from pgavlin/BuildRyuJitPackage

Add additional logging to BuildRyuJitPackage.

8 years agoMerge pull request #2750 from dotnet-bot/from-tfs
Matt Ellis [Wed, 20 Jan 2016 23:21:00 +0000 (15:21 -0800)]
Merge pull request #2750 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoLegacy SelfTest/SelfHost tests are currently calling CreateAdjustmentRule using refle...
Eric Erhardt [Wed, 20 Jan 2016 23:19:23 +0000 (15:19 -0800)]
Legacy SelfTest/SelfHost tests are currently calling CreateAdjustmentRule using reflection. When changes were made to no longer have an upstream caller of this method, the tests started failing because BclWriter was removing the method from mscorlib.

To fix the tests, and in case other external callers are invoking this method using reflection, add this member to model.xml to ensure BclWriter leaves it in mscorlib.

This fixes devdiv bug https://devdiv.visualstudio.com/web/wi.aspx?pcguid=011b8bdf-6d56-4f87-be0d-0092136884d9&id=132217

[tfs-changeset: 1566848]

8 years agoMerge pull request #2752 from jashook/x86_build_break
Jarret Shook [Wed, 20 Jan 2016 23:11:49 +0000 (15:11 -0800)]
Merge pull request #2752 from jashook/x86_build_break

Fix x86 build break.

8 years agoChanged tests that were causing build failure from pri 1 to pri 2
William Godbe [Wed, 20 Jan 2016 20:01:30 +0000 (12:01 -0800)]
Changed tests that were causing build failure from pri 1 to pri 2

8 years agoFixed errors of class 'the type or namespace name 'X' could not be found' in building...
William Godbe [Wed, 20 Jan 2016 21:17:35 +0000 (13:17 -0800)]
Fixed errors of class 'the type or namespace name 'X' could not be found' in building Pri 1 tests

8 years agoAdd additional logging to BuildRyuJitPackage.
Pat Gavlin [Wed, 20 Jan 2016 18:47:03 +0000 (10:47 -0800)]
Add additional logging to BuildRyuJitPackage.

8 years agoMerge pull request #2751 from mmitche/use-minimal-build-jobs
Matt Mitchell [Wed, 20 Jan 2016 19:11:45 +0000 (11:11 -0800)]
Merge pull request #2751 from mmitche/use-minimal-build-jobs

Add windows build only jobs

8 years agoMerge pull request #2739 from CarolEidt/LinuxAVX983
Carol Eidt [Wed, 20 Jan 2016 19:06:48 +0000 (11:06 -0800)]
Merge pull request #2739 from CarolEidt/LinuxAVX983

Enable AVX SIMD support for Unix systems.

8 years agoFix x86 build break.
jashook [Wed, 20 Jan 2016 18:47:28 +0000 (10:47 -0800)]
Fix x86 build break.

Changes unreached to NYI.

8 years agoAdd windows build only jobs
Matt Mitchell [Wed, 20 Jan 2016 18:03:09 +0000 (10:03 -0800)]
Add windows build only jobs

Use these jobs as inputs when we need to run tests on other OS's, to improve end to end time

8 years agoMerge pull request #2705 from RussKeldorph/vectorargs
Russ Keldorph [Wed, 20 Jan 2016 17:12:48 +0000 (09:12 -0800)]
Merge pull request #2705 from RussKeldorph/vectorargs

Reenable VectorArgs after SIMD change

8 years agoMerge pull request #2747 from Dmitry-Me/fixVariableNameTypo
Jan Kotas [Wed, 20 Jan 2016 14:56:12 +0000 (06:56 -0800)]
Merge pull request #2747 from Dmitry-Me/fixVariableNameTypo

Fix variable name typo

8 years agoMerge pull request #2748 from JonHanna/typo_fix_outter_outer
Jan Kotas [Wed, 20 Jan 2016 14:55:46 +0000 (06:55 -0800)]
Merge pull request #2748 from JonHanna/typo_fix_outter_outer

Fix typo outter → outer

8 years agoFix typo outter → outer
Jon Hanna [Wed, 20 Jan 2016 11:18:54 +0000 (11:18 +0000)]
Fix typo outter → outer

Some comments, a test's logged statement, and a macro parameter name.

8 years agoFix variable name typo
Dmitry-Me [Wed, 20 Jan 2016 08:51:51 +0000 (11:51 +0300)]
Fix variable name typo

8 years agoMerge pull request #2743 from LLITCHEV/Issue2380-1
Lubomir Litchev [Wed, 20 Jan 2016 07:36:44 +0000 (23:36 -0800)]
Merge pull request #2743 from LLITCHEV/Issue2380-1

One of the commits for resolving Issue 2380 failed.

8 years agoOne of the commits for resolving Issue 2380 failed.
Lubomir Litchev [Wed, 20 Jan 2016 06:05:53 +0000 (22:05 -0800)]
One of the commits for resolving Issue 2380 failed.

The changes are cosmetic and cleanup. Adding it as this separate commit.

8 years agoMerge pull request #2729 from JonHanna/fix_2727
AlexGhiondea [Wed, 20 Jan 2016 05:04:13 +0000 (21:04 -0800)]
Merge pull request #2729 from JonHanna/fix_2727

Ensure same lock is used to read and write Dictionary in AppContext

8 years agoEnable AVX SIMD support for Unix systems.
Carol Eidt [Wed, 20 Jan 2016 00:58:00 +0000 (16:58 -0800)]
Enable AVX SIMD support for Unix systems.

The existing code was assuming that there would be callee-save
registers for SIMD, but with the Unix ABI there are none.

Fix #983

8 years agoMerge pull request #2735 from AustinWise/patch-1
Jan Kotas [Wed, 20 Jan 2016 04:43:41 +0000 (20:43 -0800)]
Merge pull request #2735 from AustinWise/patch-1

Update debugging-instructions.md

8 years agoMerge pull request #2684 from LLITCHEV/Issue2380
Lubomir Litchev [Wed, 20 Jan 2016 03:43:04 +0000 (19:43 -0800)]
Merge pull request #2684 from LLITCHEV/Issue2380

Fix for issue 2380.

8 years agoMerge pull request #2697 from adityamandaleeka/floatingPointCxtFix
Sergiy Kuryata [Wed, 20 Jan 2016 02:41:19 +0000 (18:41 -0800)]
Merge pull request #2697 from adityamandaleeka/floatingPointCxtFix

Ensure floating point context pointer has been initialized

8 years agoFix for issue 2380.
Lubomir Litchev [Fri, 15 Jan 2016 16:45:26 +0000 (08:45 -0800)]
Fix for issue 2380.

The problem here is that when calculating the first caller frame stack
homed in argument
when preparing for a tail call, the code used the Windows convention
(arg0)
- on Windows the first 4 args always get slots on the caller stack when a
  call is made.
  For System V the first stack passed arg needs to be calculated.

 Needed to initialize the uninitialized lvArgReg and lvOtherArgReg to
 REG_STK, so these var can be used to detect first caller stack homed
 argument istead of iterating over the types of the args.

 Also caching the value of the first caller stack homed arg number to
 avoid calculating it multiple times.

8 years agoMerge pull request #2737 from mmitche/add-minopts
Matt Mitchell [Tue, 19 Jan 2016 23:54:59 +0000 (15:54 -0800)]
Merge pull request #2737 from mmitche/add-minopts

Add COMPLUS_JitMinopts=1 stress leg to Jenkins

8 years agoAdd COMPLUS_JitMinopts=1 stress leg to Jenkins
Matt Mitchell [Tue, 19 Jan 2016 23:37:12 +0000 (15:37 -0800)]
Add COMPLUS_JitMinopts=1 stress leg to Jenkins

Triggered daily, currently windows only (primarily because the testenv option isn't currently available for runtest.sh).

Can be triggered using: "@dotnet-bot test Windows_NT minopts"

Also a bunch of refactoring to make adding stress modes

8 years agoUpdate debugging-instructions.md
Austin Wise [Tue, 19 Jan 2016 22:10:57 +0000 (14:10 -0800)]
Update debugging-instructions.md

The directories for the the projects generated by CMake have moved.

8 years agoMerge pull request #2724 from stephentoub/readwrite_perf
Jan Kotas [Tue, 19 Jan 2016 22:00:13 +0000 (14:00 -0800)]
Merge pull request #2724 from stephentoub/readwrite_perf

Several Stream.Read/WriteAsync improvements

8 years agoMerge pull request #2723 from Dmitry-Me/fixCommentTypo
Jan Kotas [Tue, 19 Jan 2016 21:18:55 +0000 (13:18 -0800)]
Merge pull request #2723 from Dmitry-Me/fixCommentTypo

Fix comment typo

8 years agoSimplify FP flag reset.
Aditya Mandaleeka [Tue, 19 Jan 2016 20:32:49 +0000 (12:32 -0800)]
Simplify FP flag reset.

8 years agoEnsure same lock is used to read and write Dictionary in AppContext
Jon Hanna [Tue, 19 Jan 2016 19:11:22 +0000 (19:11 +0000)]
Ensure same lock is used to read and write Dictionary in AppContext

Fixes #2727

8 years agoMerge pull request #1745 from ww898/thread_static_struct_issue
noahfalk [Tue, 19 Jan 2016 19:50:14 +0000 (11:50 -0800)]
Merge pull request #1745 from ww898/thread_static_struct_issue

GetStaticFieldAddrNoCreate() returns data offset instead of NULL

8 years agoFix override detection to work reliably for JITed mscorlib
Jan Kotas [Tue, 19 Jan 2016 15:41:19 +0000 (07:41 -0800)]
Fix override detection to work reliably for JITed mscorlib

8 years agoTweak a few more aspects of Stream.Read/WriteAsync perf improvements
stephentoub [Tue, 19 Jan 2016 13:14:42 +0000 (08:14 -0500)]
Tweak a few more aspects of Stream.Read/WriteAsync perf improvements

- Remove older reflection-based detection of overrides from SyncStream
- Remove Tuple allocation from RunReadWriteTaskWhenReady
- Fix spelling of Overridden
- Add a few comments

8 years agoAdd generic detection of Stream.{Begin|End}{Read|Write} overrides
Jan Kotas [Tue, 19 Jan 2016 08:04:33 +0000 (00:04 -0800)]
Add generic detection of Stream.{Begin|End}{Read|Write} overrides

8 years agoSeveral Stream.Read/WriteAsync improvements
stephentoub [Mon, 18 Jan 2016 15:44:35 +0000 (10:44 -0500)]
Several Stream.Read/WriteAsync improvements

Stream.XxAsync are currently implemented as a wrapper around Stream.Begin/EndXx.  When a derived class overrides XxAsync to do its own async implementation, there's no issue.  When a derived class overrides Begin/EndXx but not XxAsync, there's no issue (the base implementation does what it needs to do, wrapping Begin/EndXx).  However, if the derived implementation doesn't override either XxAsync or Begin/EndXx, there are a few issues.

First, there's unnecessary cost.  The base Begin/EndXx methods queue a Task to call the corresponding Read/Write method.  But then the XxAsync method create another Task to wrap the Begin/End method invocation.  This means we're allocating and completing two tasks, when we only needed to do one.

Second, task wait inlining is affected.  Because Read/WriteAsync aren't returning the original queued delegate-backed task but rather a promise task, Wait()'ing on the returned task blocks until the operation completes on another thread.  If the original delegate-backed task were returned, then Wait()'ing on the task could potentially "inline" its execution onto the current thread.

Third, there's unnecessary blocking if there are other outstanding async operations on the instance.  Since Begin/EndXx were introduced, they track whether an operation is in progress, and subsequent calls to BeginXx while an operation is in progress blocks synchronously.  Since Read/WriteAsync just wrap the virtual Begin/End methods, they inherit this behavior.

This commit addresses all three issues for CoreCLR.  The Begin/EndXx methods aren't exposed from Stream in the new contracts, and as a result outside of mscorlib we don't need to be concerned about these methods being overridden.  Thus, the commit adds an optimized path that simply returns the original delegate-backed task rather than wrapping it.  This avoids the unnecessary task overheads and duplication, and it enables wait inlining if someone happens to wait on it.  Further, since we're no longer subject to the behaviors of Begin/End, we can change the serialization to be done asynchronously rather than synchronously.

8 years agoFix comment typo
Dmitry-Me [Tue, 19 Jan 2016 10:26:53 +0000 (13:26 +0300)]
Fix comment typo

8 years agoMerge pull request #2720 from hughbe/synchronized-list
Jan Kotas [Tue, 19 Jan 2016 02:29:25 +0000 (18:29 -0800)]
Merge pull request #2720 from hughbe/synchronized-list

Remove SynchronizedList, Fix #1859

8 years agoMerge pull request #2718 from stephentoub/forcsync_completionaction
Stephen Toub [Mon, 18 Jan 2016 23:49:21 +0000 (18:49 -0500)]
Merge pull request #2718 from stephentoub/forcsync_completionaction

Allow some ITaskCompletionActions to always run synchronously

8 years agoRemove SynchronizedList
Hugh Bellamy [Mon, 18 Jan 2016 18:55:28 +0000 (18:55 +0000)]
Remove SynchronizedList

Fixes #1859
As stated in the issue, SynchronizedList and its accompanying internal
method are not called or used at across the dotnet projects, so it can
be dropped with a heavy heart.

8 years agoMerge pull request #2716 from janvorli/fix-crossgen-readytorun-build
Jan Kotas [Mon, 18 Jan 2016 16:02:31 +0000 (08:02 -0800)]
Merge pull request #2716 from janvorli/fix-crossgen-readytorun-build

Add ready to run support to unix crossgen

8 years agoAllow some ITaskCompletionActions to always run synchronously
stephentoub [Mon, 18 Jan 2016 12:26:14 +0000 (07:26 -0500)]
Allow some ITaskCompletionActions to always run synchronously

A few internal Task completion actions do a known and small quantity of work, without any potential to run arbitrary code, e.g. a completion action used in Task.Wait to set a ManualResetEventSlim.  Such actions used to typically run synchronously, but after https://github.com/dotnet/coreclr/pull/2026 can be forced to run asynchronously.  These few actions are considered purely internal implementation details of TPL, need not be subject to forcing continuations to run asynchronously, and have perf benefits to always being run synchronously, e.g. calling Wait on a RunContinuationsAsynchronously task shouldn't require a work item to be queued to unblock the task.

This commit adds a property to ITaskCompletionAction that we can check to determine whether it's ok to force the continuation to run synchronously even if the system says we should be running all continuations asynchronously.  Only those actions which are safe are annotated as such.  We only invoke this interface property getter in cases where we're about to fall back to allocating and queueing a work item, so the cost of the extra interface call is acceptable for the benefits it provides.  As all of this is internal, it can also be tweaked further in the future.

8 years agoAdd ready to run support to unix crossgen
Jan Vorlicek [Mon, 18 Jan 2016 10:50:50 +0000 (11:50 +0100)]
Add ready to run support to unix crossgen

This change enables ready to run support in the unix crossgen that was accidentally
not enabled when adding ready to run support for Unix in the past. Only the
FEATURE_READYTORUN was set, but not the FEATURE_READYTORUN_COMPILER.

8 years agoMerge pull request #2678 from DionYe/master
Jan Kotas [Mon, 18 Jan 2016 03:18:27 +0000 (19:18 -0800)]
Merge pull request #2678 from DionYe/master

Add check for out of memory

8 years agoAdd check for out of memory
DionYe [Fri, 15 Jan 2016 03:32:01 +0000 (11:32 +0800)]
Add check for out of memory

8 years agoMerge pull request #2608 from justinvp/functorcomparer
Jan Kotas [Mon, 18 Jan 2016 02:06:08 +0000 (18:06 -0800)]
Merge pull request #2608 from justinvp/functorcomparer

Remove redundant internal Array.FunctorComparer<T> type

8 years agoMerge pull request #2709 from dotnet-bot/from-tfs
Matt Ellis [Sun, 17 Jan 2016 02:56:19 +0000 (18:56 -0800)]
Merge pull request #2709 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoFix incorrect placement of FEATURE_SIMD ifdef, and syntax error under _TARGET_ARM_.
Ron Cain [Sun, 17 Jan 2016 00:37:22 +0000 (16:37 -0800)]
Fix incorrect placement of FEATURE_SIMD ifdef, and syntax error under _TARGET_ARM_.
Ron Cain checking in for Carol Eidt after validating fix.

[tfs-changeset: 1565967]

8 years agoMerge pull request #2707 from dotnet-bot/from-tfs
Matt Ellis [Sat, 16 Jan 2016 09:18:26 +0000 (01:18 -0800)]
Merge pull request #2707 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoMerge pull request #2702 from justinvp/array_sort_getlowerbound
Jan Kotas [Sat, 16 Jan 2016 07:51:01 +0000 (23:51 -0800)]
Merge pull request #2702 from justinvp/array_sort_getlowerbound

Array.Sort<T>: Remove unnecessary GetLowerBound(0) call

8 years agoReenable VectorArgs after SIMD change
Russ Keldorph [Sat, 16 Jan 2016 04:45:34 +0000 (20:45 -0800)]
Reenable VectorArgs after SIMD change

8 years agoAdd support for GCStress 0xC.
Aditya Mandaleeka [Thu, 14 Jan 2016 00:38:34 +0000 (16:38 -0800)]
Add support for GCStress 0xC.

8 years agoMerge pull request #2686 from hoyMS/Bug2652
Hongtao Yu [Sat, 16 Jan 2016 03:09:57 +0000 (19:09 -0800)]
Merge pull request #2686 from hoyMS/Bug2652

Fix for Bug 2652 [JitStress=2] JIT/Directed/Arrays/Complex2/Complex2.…

8 years agoMerge pull request #2694 from dotnet/UpdateReadmeForDebian
Stephen Toub [Sat, 16 Jan 2016 01:47:34 +0000 (20:47 -0500)]
Merge pull request #2694 from dotnet/UpdateReadmeForDebian

Add Debian CI projects to README

8 years agoMerge pull request #2693 from adityamandaleeka/contextAlignment
Aditya Mandaleeka [Sat, 16 Jan 2016 01:32:13 +0000 (17:32 -0800)]
Merge pull request #2693 from adityamandaleeka/contextAlignment

Revert old change for floating point context alignment issue

8 years agoReset CONTEXT_FLOATING_POINT flag if the values are invalid.
Aditya Mandaleeka [Sat, 16 Jan 2016 00:46:27 +0000 (16:46 -0800)]
Reset CONTEXT_FLOATING_POINT flag if the values are invalid.