platform/upstream/coreclr.git
6 years agoFix whitespace
Levi Broderick [Tue, 6 Mar 2018 02:18:23 +0000 (18:18 -0800)]
Fix whitespace

Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
6 years agoFix whitespace
Levi Broderick [Tue, 6 Mar 2018 02:00:07 +0000 (18:00 -0800)]
Fix whitespace

Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
6 years agoImprove performance of Span.Clear for referential T
Levi Broderick [Tue, 6 Mar 2018 01:26:38 +0000 (17:26 -0800)]
Improve performance of Span.Clear for referential T

Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
6 years agoFix handling of incorrect assemblies on Unix (#16747)
Ruben Ayrapetyan [Tue, 6 Mar 2018 06:37:43 +0000 (06:37 +0000)]
Fix handling of incorrect assemblies on Unix (#16747)

* Return DPTR from PEDecoder::FindFirstSection()

Change type of the function's return value
to PTR_IMAGE_SECTION_HEADER instead of (IMAGE_SECTION_HEADER *)

* Fix handling of incorrect assemblies on Unix

This fixes the regression that was introduced by #10772 and is
caused by a missing check for validity of loaded assembly file.

Related issue: #15544

6 years agoaddress PR feedback (#16761)
Marco Rossignoli [Tue, 6 Mar 2018 03:31:06 +0000 (04:31 +0100)]
address PR feedback (#16761)

6 years agoAdd LoadHigh, LoadLow, and SetScalarVector128 SSE2 HW intrinsics tests
Jacek Blaszczynski [Thu, 1 Mar 2018 18:27:49 +0000 (19:27 +0100)]
Add LoadHigh, LoadLow, and SetScalarVector128 SSE2 HW intrinsics tests

6 years agoImplement LoadHigh, LoadLow, and SetScalarVector128 SSE2 HW intrinsics
Jacek Blaszczynski [Thu, 1 Mar 2018 18:26:29 +0000 (19:26 +0100)]
Implement LoadHigh, LoadLow, and SetScalarVector128 SSE2 HW intrinsics

6 years agoSimplify SSE/SSE4.1 intrinsics
Fei Peng [Mon, 5 Mar 2018 21:23:15 +0000 (13:23 -0800)]
Simplify SSE/SSE4.1 intrinsics

6 years agoUpdate BuildTools, CoreClr to preview2-02606-01, preview2-26305-12, respectively...
dotnet-maestro-bot [Tue, 6 Mar 2018 01:58:43 +0000 (19:58 -0600)]
Update BuildTools, CoreClr to preview2-02606-01, preview2-26305-12, respectively (#16760)

6 years agoRemove libuuid usage (#16643)
Jan Vorlicek [Tue, 6 Mar 2018 01:21:09 +0000 (02:21 +0100)]
Remove libuuid usage (#16643)

* Remove libuuid usage

This change removes dependency on the libuuid library that is used for GUID creation only.
It implements it using a random generator instead.

It also modifies return type of PAL_Random to VOID since it was always
returning TRUE and none of the existing callers were checking it.

1. Port the GUID creation to managed code.
2. Modify the PAL_Random to have 6 times better perf so that the perf of the
   CoCreateGuid that is used in the native runtime doesn't degrade that much
   w.r.t the previous state when the libuuid was used.
3. Use Interop.GetRandomBytes on Unix and fix Windows

6 years agoSCEP package version update
JC Aguilera [Tue, 6 Mar 2018 00:35:20 +0000 (16:35 -0800)]
SCEP package version update

6 years agoMerge pull request #16727 from CarolEidt/NoIndirByte
Carol Eidt [Mon, 5 Mar 2018 21:41:07 +0000 (22:41 +0100)]
Merge pull request #16727 from CarolEidt/NoIndirByte

Don't force byte regs for indir address

6 years ago[ARM32] RyuJIT support for profiler ELT callbacks (#16728)
Sergey Andreenko [Mon, 5 Mar 2018 21:38:31 +0000 (13:38 -0800)]
[ARM32] RyuJIT support for profiler ELT callbacks  (#16728)

* add assert that argReg was PreSpilled

* genProfilingEnterCallback for RyuJit arm

* fix genProfilingLeaveCallback for RyuJit arm

* call genProfilingLeaveCallback for arm from genJmpMethod

6 years agoUpdate SCEP package version
JC Aguilera [Mon, 5 Mar 2018 20:43:48 +0000 (12:43 -0800)]
Update SCEP package version

6 years agoUpdating the CompareEqual{Ordered|Unordered}Scalar intrinsics to have slightly better...
Tanner Gooding [Wed, 28 Feb 2018 04:53:11 +0000 (20:53 -0800)]
Updating the CompareEqual{Ordered|Unordered}Scalar intrinsics to have slightly better codegen

6 years agoUpdate CoreClr, CoreFx to preview2-26305-04, preview2-26305-02, respectively (#16755)
dotnet-maestro-bot [Mon, 5 Mar 2018 19:13:14 +0000 (13:13 -0600)]
Update CoreClr, CoreFx to preview2-26305-04, preview2-26305-02, respectively (#16755)

6 years agoScrub error messages for missing arguments(throw new) (#16753)
Marco Rossignoli [Mon, 5 Mar 2018 18:09:24 +0000 (19:09 +0100)]
Scrub error messages for missing arguments(throw new) (#16753)

6 years agoChange COMPLus -> COMPlus
Vance Morrison [Mon, 5 Mar 2018 18:08:35 +0000 (10:08 -0800)]
Change COMPLus -> COMPlus

6 years agoRemove ConfigFile parameter which is not set on previous tasks
JC Aguilera [Mon, 5 Mar 2018 17:34:47 +0000 (09:34 -0800)]
Remove ConfigFile parameter which is not set on previous tasks

6 years agoMerge pull request #16731 from tannergooding/hwintrin-avx
Carol Eidt [Mon, 5 Mar 2018 17:33:47 +0000 (18:33 +0100)]
Merge pull request #16731 from tannergooding/hwintrin-avx

Implementing the ConvertToVector AVX hardware intrinsics

6 years agoDelete dead code in PAL related to file locks (#16754)
Jan Kotas [Mon, 5 Mar 2018 16:36:39 +0000 (08:36 -0800)]
Delete dead code in PAL related to file locks (#16754)

6 years agoRemove flock usage from InternalCreateFile in PAL (#16752)
Jan Vorlicek [Mon, 5 Mar 2018 15:15:24 +0000 (16:15 +0100)]
Remove flock usage from InternalCreateFile in PAL (#16752)

This flock is causing issues on filesystems that don't support locking.
An issue with loading managed assemblies from such a filesystem due to
this issue was recently hit by someone.
Since the locking in the PAL is not really needed and due to the
advisory nature of the flock doesn't guarantee anything, this change is
removing the flock from that function.

6 years agoUpdate CoreClr, CoreFx to preview2-26305-01, preview2-26305-01, respectively (#16740)
dotnet-maestro-bot [Mon, 5 Mar 2018 04:36:47 +0000 (22:36 -0600)]
Update CoreClr, CoreFx to preview2-26305-01, preview2-26305-01, respectively (#16740)

6 years agoFix encoding methods for Span.Empty (#16748)
Jan Kotas [Mon, 5 Mar 2018 04:05:50 +0000 (20:05 -0800)]
Fix encoding methods for Span.Empty (#16748)

* Fix encoding methods for Span.Empty

Encoding had a historic confusion about handling null pointers. Make sure that this confusion is not leaking into the new Span methods.

* Use GetNonNullPinnableReference helper method

6 years agoDelete stale TryFormat and {Try}Parse overloads (#16746)
Stephen Toub [Sun, 4 Mar 2018 20:55:34 +0000 (15:55 -0500)]
Delete stale TryFormat and {Try}Parse overloads (#16746)

6 years agoClear executable bit on several .cs files (#16743)
dotnet bot [Sun, 4 Mar 2018 17:10:39 +0000 (09:10 -0800)]
Clear executable bit on several .cs files (#16743)

Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
6 years agofix legacy backend (#16741)
Sergey Andreenko [Sun, 4 Mar 2018 09:10:12 +0000 (01:10 -0800)]
fix legacy backend (#16741)

6 years agoClear executable bit on several .cs files
Jan Kotas [Sun, 4 Mar 2018 07:13:55 +0000 (23:13 -0800)]
Clear executable bit on several .cs files

6 years agoUpdate TraceLogging to use NULL-terminated strings instead of counted strings (#16672)
Brian Robbins [Sun, 4 Mar 2018 05:00:42 +0000 (21:00 -0800)]
Update TraceLogging to use NULL-terminated strings instead of counted strings (#16672)

6 years agoFix use of EventPipeConfiguration after it has been freed on shutdown. (#16704)
Brian Robbins [Sun, 4 Mar 2018 04:56:43 +0000 (20:56 -0800)]
Fix use of EventPipeConfiguration after it has been freed on shutdown. (#16704)

6 years agoUpdate CoreClr to preview2-26304-01 (#16739)
dotnet-maestro-bot [Sun, 4 Mar 2018 03:32:42 +0000 (21:32 -0600)]
Update CoreClr to preview2-26304-01 (#16739)

6 years agoFix MemoryDebugView and override Memory.ToString similar to Span (#16732)
Ahson Khan [Sun, 4 Mar 2018 01:55:31 +0000 (17:55 -0800)]
Fix MemoryDebugView and override Memory.ToString similar to Span (#16732)

* Fix MemoryDebugView and add Memory.ToString similar to Span

* Simplify implementation of ToString

6 years agoRemove StringSpanHelpers and start using MemoryExtensions (#16718)
Ahson Khan [Sun, 4 Mar 2018 01:48:07 +0000 (17:48 -0800)]
Remove StringSpanHelpers and start using MemoryExtensions (#16718)

* Remove StringSpanHelpers and start using MemoryExtensions

* Address PR feedback.

6 years agoUpdate CoreClr, CoreFx to preview2-26303-09, preview2-26303-04, respectively (master...
dotnet-maestro-bot [Sat, 3 Mar 2018 20:56:01 +0000 (14:56 -0600)]
Update CoreClr, CoreFx to preview2-26303-09, preview2-26303-04, respectively (master) (#16730)

* Update CoreClr, CoreFx to preview2-26303-09, preview2-26303-04, respectively

* Add System.Runtime.Intrinsics.Experimental to test dependencies

6 years agoImplementing tests for more of the AVX hardware intrinsics
Tanner Gooding [Sat, 3 Mar 2018 06:03:09 +0000 (22:03 -0800)]
Implementing tests for more of the AVX hardware intrinsics

6 years agoImplementing some more of the AVX intrinsics
Tanner Gooding [Fri, 2 Mar 2018 16:07:15 +0000 (08:07 -0800)]
Implementing some more of the AVX intrinsics

6 years agoImplement AVX/AVX BroadcastScalarToVector*
Fei Peng [Sat, 3 Mar 2018 00:34:03 +0000 (16:34 -0800)]
Implement AVX/AVX BroadcastScalarToVector*

6 years agoMerge pull request #15777 from dotnetrt/sse2part2
Carol Eidt [Sat, 3 Mar 2018 03:15:21 +0000 (04:15 +0100)]
Merge pull request #15777 from dotnetrt/sse2part2

Implement Shuffle* Sse2 Intel hardware intrinsics

6 years agoUse TARGET_POINTER_SIZE macro (#16640)
Egor Chesakov [Sat, 3 Mar 2018 00:39:36 +0000 (16:39 -0800)]
Use TARGET_POINTER_SIZE macro (#16640)

* Replace sizeof(void*) with TARGET_POINTER_SIZE in TYPEINFO in src/inc/cortypeinfo.h

* Replace sizeof(LPVOID) with TARGET_POINTER_SIZE in DEFINEELEMENTTYPEINFO in src/vm/siginfo.cpp

* Define TARGET_POINTER_SIZE as POINTERSIZE_BYTES in src/ToolBox/SOS/Strike/util.h

6 years agoDon't force byte regs for indir address
Carol Eidt [Fri, 2 Mar 2018 19:08:42 +0000 (11:08 -0800)]
Don't force byte regs for indir address

6 years agoMerge pull request #16638 from jcagme/master
JC Aguilera [Fri, 2 Mar 2018 23:40:31 +0000 (15:40 -0800)]
Merge pull request #16638 from jcagme/master

Install and uninstall SCEP

6 years agofinal set of comments been addressed
Juan Carlos Aguilera Mendez [Fri, 2 Mar 2018 23:33:13 +0000 (15:33 -0800)]
final set of comments been addressed

6 years agoRemove variable
Juan Carlos Aguilera Mendez [Fri, 2 Mar 2018 23:20:19 +0000 (15:20 -0800)]
Remove variable

6 years agoRemove creation of Auth'd nuget.config
Juan Carlos Aguilera Mendez [Fri, 2 Mar 2018 23:13:55 +0000 (15:13 -0800)]
Remove creation of Auth'd nuget.config

6 years agoFix netstandard build references to UnsafeTask
Stephen Toub [Fri, 2 Mar 2018 19:41:23 +0000 (14:41 -0500)]
Fix netstandard build references to UnsafeTask

Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
6 years agoAdd Shuffle* Sse2 hardware intrinsics tests
Jacek Blaszczynski [Wed, 28 Feb 2018 05:11:12 +0000 (06:11 +0100)]
Add Shuffle* Sse2 hardware intrinsics tests

6 years agoImplement Shuffle* SSE2 hardware intrinsics
Jacek Blaszczynski [Wed, 28 Feb 2018 05:08:55 +0000 (06:08 +0100)]
Implement Shuffle* SSE2 hardware intrinsics

6 years agoYet one more reverted change in PR
Juan Carlos Aguilera Mendez [Fri, 2 Mar 2018 22:21:46 +0000 (14:21 -0800)]
Yet one more reverted change in PR

6 years agoOne more reverted change in PR
Juan Carlos Aguilera Mendez [Fri, 2 Mar 2018 22:20:43 +0000 (14:20 -0800)]
One more reverted change in PR

6 years agoMerge branch 'master' of https://github.com/jcagme/coreclr
Juan Carlos Aguilera Mendez [Fri, 2 Mar 2018 22:19:44 +0000 (14:19 -0800)]
Merge branch 'master' of https://github.com/jcagme/coreclr

6 years agoAddressing reverted change in PR
Juan Carlos Aguilera Mendez [Fri, 2 Mar 2018 22:19:06 +0000 (14:19 -0800)]
Addressing reverted change in PR

6 years agoDelete scep-ops.cmd
JC Aguilera [Fri, 2 Mar 2018 22:11:51 +0000 (14:11 -0800)]
Delete scep-ops.cmd

6 years agoChanges with NuGet package approach
Juan Carlos Aguilera Mendez [Fri, 2 Mar 2018 22:08:21 +0000 (14:08 -0800)]
Changes with NuGet package approach

6 years agoMerge branch 'master' of https://github.com/dotnet/coreclr
Juan Carlos Aguilera Mendez [Fri, 2 Mar 2018 21:58:23 +0000 (13:58 -0800)]
Merge branch 'master' of https://github.com/dotnet/coreclr

6 years agoMerge pull request #16715 from fiigii/fixmovemask
Carol Eidt [Fri, 2 Mar 2018 21:04:33 +0000 (22:04 +0100)]
Merge pull request #16715 from fiigii/fixmovemask

Fix a bad marge

6 years ago[RyuJit] fix clang switch warning (#16693)
Sergey Andreenko [Fri, 2 Mar 2018 20:41:13 +0000 (12:41 -0800)]
[RyuJit] fix clang switch warning (#16693)

* fix clang switch warning

* Try to set throw blocks only for nodes that generates exceptions themselves.
Update comments.

6 years agofix a bad marge
Fei Peng [Fri, 2 Mar 2018 19:52:14 +0000 (11:52 -0800)]
fix a bad marge

6 years agoDelete SingleGetHashCode and DoubleGetHashCode tests for arm/arm64 (#16688)
Bruce Forstall [Fri, 2 Mar 2018 18:25:18 +0000 (10:25 -0800)]
Delete SingleGetHashCode and DoubleGetHashCode tests for arm/arm64 (#16688)

* Delete SingleGetHashCode and DoubleGetHashCode tests for arm/arm64

The tests themselves were deleted with #16567.

* Delete arm/arm64 tests deleted in #16571

StringCompare1, StringCompare2, StringCompare15

* Delete more references to these tests

6 years agoMerge pull request #16703 from BruceForstall/GeneralizeRuntestExclusionFiles
Bruce Forstall [Fri, 2 Mar 2018 18:24:10 +0000 (10:24 -0800)]
Merge pull request #16703 from BruceForstall/GeneralizeRuntestExclusionFiles

Generalize runtest.sh test exclusion files

6 years agoFix !threads -special spurious error message (#16701)
Mike McLaughlin [Fri, 2 Mar 2018 17:54:31 +0000 (09:54 -0800)]
Fix !threads -special spurious error message (#16701)

Fix !threads -special spurious error message

Generate portable PDB for SOS.NETCore.

Fix issue #16665. Incorrect command names in messages on Linux.

6 years agoUpdate CoreClr to preview2-26302-06 (#16706)
dotnet-maestro-bot [Fri, 2 Mar 2018 16:40:09 +0000 (10:40 -0600)]
Update CoreClr to preview2-26302-06 (#16706)

6 years agoMerge pull request #16646 from fiigii/insertextract
Carol Eidt [Fri, 2 Mar 2018 14:41:05 +0000 (15:41 +0100)]
Merge pull request #16646 from fiigii/insertextract

Implement SSE4.1 Insert/Extract and simplify SSE/SSE2 intrinsic

6 years agoWork around MCG bug around `ref char` marshalling (dotnet/corert#5481)
Michal Strehovský [Fri, 2 Mar 2018 09:28:43 +0000 (10:28 +0100)]
Work around MCG bug around `ref char` marshalling (dotnet/corert#5481)

The change in the P/invoke signature that came from CoreCLR triggers a bug in MCG on the TFS side.

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
6 years agoMerge pull request #16617 from echesakovMSFT/UseCodeTTypedefArm
Egor Chesakov [Fri, 2 Mar 2018 06:06:19 +0000 (22:06 -0800)]
Merge pull request #16617 from echesakovMSFT/UseCodeTTypedefArm

[RyuJIT/ARM32]Use emitter::code_t typedef for ARM

6 years agoMerge pull request #16669 from tannergooding/hwintrin-sse2-maskmove
Carol Eidt [Fri, 2 Mar 2018 06:03:45 +0000 (07:03 +0100)]
Merge pull request #16669 from tannergooding/hwintrin-sse2-maskmove

Implement the SSE2 MaskMove intrinsic

6 years agoFixing GetFullPath (#16670)
Anirudh Agnihotry [Fri, 2 Mar 2018 05:53:25 +0000 (21:53 -0800)]
Fixing GetFullPath (#16670)

6 years agoUpdate CoreClr, CoreFx to preview2-26302-01, preview2-26228-08, respectively (#16702)
dotnet-maestro-bot [Fri, 2 Mar 2018 04:27:00 +0000 (22:27 -0600)]
Update CoreClr, CoreFx to preview2-26302-01, preview2-26228-08, respectively (#16702)

6 years agoGeneralize runtest.sh test exclusion files
Bruce Forstall [Fri, 2 Mar 2018 02:10:55 +0000 (18:10 -0800)]
Generalize runtest.sh test exclusion files

Allow leading '#' as a comment character for all testsUnsupported and
testsFailing files.

Generalize testsFailingOnArm64.txt to testsFailing.$ARCH.txt

Generalize testsUnsupportedOnARM32.txt to testsUnsupported.$ARCH.txt

6 years agoVectorize String.IndexOf(char) and String.LastIndexOf(char) (#16392)
Eric Erhardt [Fri, 2 Mar 2018 00:51:06 +0000 (18:51 -0600)]
Vectorize String.IndexOf(char) and String.LastIndexOf(char) (#16392)

* Vectorize String.IndexOf(char) using the same algorithm as SpanHelpers
IndexOf(byte).

* Respond to feedback.

* Vectorize String.LastIndexOf

Clean up IndexOf vectorization.

6 years agoFix Adar month name in Hebrew calendar (#16697)
Tarek Mahmoud Sayed [Fri, 2 Mar 2018 00:36:39 +0000 (16:36 -0800)]
Fix Adar month name in Hebrew calendar (#16697)

The returned data from ICU has 6th month name as 'Adar I' and 7th month name as 'Adar'
We need to adjust that in the list used with non-leap year to have 6th month as 'Adar' and 7th month as 'Adar II'
note that when formatting non-leap year dates, 7th month shouldn't get used at all.

6 years agoMerge pull request #16668 from briansull/simd-ins-opt
Brian Sullivan [Thu, 1 Mar 2018 23:39:12 +0000 (15:39 -0800)]
Merge pull request #16668 from briansull/simd-ins-opt

Refactor the signature of genGetSimdInsOpt to use emitAttr

6 years ago1-base Dictionary buckets to reduce initalization
Ben Adams [Wed, 20 Dec 2017 23:06:41 +0000 (23:06 +0000)]
1-base Dictionary buckets to reduce initalization

6 years agoUse EqualityComparer<TKey>.Default Intrinsic
Ben Adams [Fri, 15 Dec 2017 22:07:42 +0000 (22:07 +0000)]
Use EqualityComparer<TKey>.Default Intrinsic

6 years agoImprove Dictionary TryInsert CQ
Ben Adams [Mon, 11 Dec 2017 06:09:03 +0000 (06:09 +0000)]
Improve Dictionary TryInsert CQ

6 years agoImprove Dictionary FindEntry CQ
Ben Adams [Mon, 11 Dec 2017 02:19:19 +0000 (02:19 +0000)]
Improve Dictionary FindEntry CQ

6 years agoChange several ValueTask properties to methods (#16691)
Stephen Toub [Thu, 1 Mar 2018 21:58:54 +0000 (16:58 -0500)]
Change several ValueTask properties to methods (#16691)

These do unsafe casts on an object, and we don't want a debugger's automatic evaluation accidentally invoking them.  That means either making them methods or adding [DebuggerBrowsable(DebuggerBrowsableState.Never)], and the former seems cleaner.

6 years agoImplement SSE4.1 insert and extract
Fei Peng [Thu, 1 Mar 2018 21:45:45 +0000 (13:45 -0800)]
Implement SSE4.1 insert and extract

6 years ago Move MemoryExtensions.TryGetString to MemoryMarshal and remove TryGetArray (#16692)
Ahson Khan [Thu, 1 Mar 2018 21:18:37 +0000 (13:18 -0800)]
 Move MemoryExtensions.TryGetString to MemoryMarshal and remove TryGetArray (#16692)

* Remove Span.NonGenerics and update leftover AsRoS -> AsSpan changes

* Move MemoryExtensions.TryGetString to MemoryMarshal and remove TryGetArray

* Move TryGetString to common MemoryMarshal.cs

* Remove the `this` keyword, not an extension method

6 years agoRemove Span.NonGenerics and update leftover AsRoS -> AsSpan changes (#16689)
Ahson Khan [Thu, 1 Mar 2018 20:23:01 +0000 (12:23 -0800)]
Remove Span.NonGenerics and update leftover AsRoS -> AsSpan changes (#16689)

6 years agoUpdate 64-bit intrinsics and simplify SSE/SSE2 intrinsic
Fei Peng [Wed, 28 Feb 2018 07:15:29 +0000 (23:15 -0800)]
Update 64-bit intrinsics and simplify SSE/SSE2 intrinsic

6 years agoMerge pull request #16660 from echesakovMSFT/UseTarget64BitMacro
Egor Chesakov [Thu, 1 Mar 2018 19:27:55 +0000 (11:27 -0800)]
Merge pull request #16660 from echesakovMSFT/UseTarget64BitMacro

Use _TARGET_64BIT_ macro

6 years agoAdd tests and templates for insert/extract
Fei Peng [Wed, 28 Feb 2018 20:46:32 +0000 (12:46 -0800)]
Add tests and templates for insert/extract

6 years agoDefine emitter::code_t for _TARGET_ARM_ and use this type rather than ssize_t or...
Egor Chesakov [Fri, 9 Feb 2018 17:52:17 +0000 (09:52 -0800)]
Define emitter::code_t for _TARGET_ARM_ and use this type rather than ssize_t or size_t to hold encoded instructions in emitter

6 years agoAdding tests for additional AVX hardware intrinsics
Tanner Gooding [Wed, 28 Feb 2018 08:36:49 +0000 (00:36 -0800)]
Adding tests for additional AVX hardware intrinsics

6 years agoAdding support for additional AVX hardware intrinsics
Tanner Gooding [Wed, 28 Feb 2018 08:35:36 +0000 (00:35 -0800)]
Adding support for additional AVX hardware intrinsics

6 years agoAdjust System.Threading.Tasks.Extensions for IValueTaskSource
Stephen Toub [Thu, 1 Mar 2018 13:59:32 +0000 (08:59 -0500)]
Adjust System.Threading.Tasks.Extensions for IValueTaskSource

Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
6 years agoImprove MemoryMarshal.Cast (#16659)
mikedn [Thu, 1 Mar 2018 15:34:12 +0000 (17:34 +0200)]
Improve MemoryMarshal.Cast (#16659)

Avoid unnecessary checked and signed arithmetic. Handle special cases such as cast between same size types and from byte sized types, the JIT is unable to optimize these cases currently.

6 years agoAdd back argument check for TypeForwardedFromAttribute (#16680)
Jan Kotas [Thu, 1 Mar 2018 12:25:35 +0000 (04:25 -0800)]
Add back argument check for TypeForwardedFromAttribute (#16680)

Fixes dotnet/corefx#27554

6 years agoFix build break in System.Memory due to incorrect XML comments
Stephen Toub [Thu, 1 Mar 2018 04:18:35 +0000 (23:18 -0500)]
Fix build break in System.Memory due to incorrect XML comments

Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
6 years agoMerge pull request #16618 from stephentoub/valuetaskextensibility
Stephen Toub [Thu, 1 Mar 2018 11:14:38 +0000 (06:14 -0500)]
Merge pull request #16618 from stephentoub/valuetaskextensibility

Implement ValueTask extensibility

6 years agoRemove span helpers, use mirrored PathInternal helper (#27585)
Jeremy Kuhne [Thu, 1 Mar 2018 06:30:31 +0000 (22:30 -0800)]
Remove span helpers, use mirrored PathInternal helper (#27585)

* Remove span helpers, use mirrored PathInternal helper

Remove other unnecessary helpers (notably with Path.Join available)

* Fix Unix

Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
6 years agoFix GetPathRoot issues (dotnet/corefx#27572)
Jeremy Kuhne [Thu, 1 Mar 2018 00:54:35 +0000 (16:54 -0800)]
Fix GetPathRoot issues (dotnet/corefx#27572)

Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
6 years agoEdits to fix conflicts in generated Vector.cs file (#16666)
Mandar Sahasrabuddhe [Thu, 1 Mar 2018 06:30:07 +0000 (12:00 +0530)]
Edits to fix conflicts in generated Vector.cs file (#16666)

Fixed minor space changes and one syntax error that causes conflict between checked in Vector.cs file and the freshly auto-generated Vector.cs file.

6 years agoAdding tests for the SSE2 MaskMove intrinsic
Tanner Gooding [Wed, 28 Feb 2018 23:16:58 +0000 (15:16 -0800)]
Adding tests for the SSE2 MaskMove intrinsic

6 years agoImplementing the SSE2 MaskMove intrinsic
Tanner Gooding [Wed, 28 Feb 2018 23:16:45 +0000 (15:16 -0800)]
Implementing the SSE2 MaskMove intrinsic

6 years agoRelease memory correctly during ComCallWrapperTemplate::Cleanup (#16671)
Luqun Lou [Thu, 1 Mar 2018 06:26:00 +0000 (22:26 -0800)]
Release memory correctly during ComCallWrapperTemplate::Cleanup (#16671)

Fixes #15632

6 years agoRemove ConvertILOnlyPE32ToPE64 and ConvertILOnlyPE32ToPE64Worker (#16676)
Egor Chesakov [Thu, 1 Mar 2018 06:25:16 +0000 (22:25 -0800)]
Remove ConvertILOnlyPE32ToPE64 and ConvertILOnlyPE32ToPE64Worker (#16676)

6 years agoMove IValueTaskSource and friends to System.Threading.Tasks.Sources
Stephen Toub [Thu, 1 Mar 2018 03:43:29 +0000 (22:43 -0500)]
Move IValueTaskSource and friends to System.Threading.Tasks.Sources

Group these more advanced types into a subnamespace.

6 years agoAdd token to IValueTaskSource
Stephen Toub [Thu, 1 Mar 2018 03:25:02 +0000 (22:25 -0500)]
Add token to IValueTaskSource

6 years agoImplement ValueTask extensibility
Stephen Toub [Wed, 28 Feb 2018 05:53:03 +0000 (00:53 -0500)]
Implement ValueTask extensibility

This commit adds support for extending `ValueTask<T>` with arbitrary backing sources.  Prior to this change, `ValueTask<T>` could wrap a `T` or a `Task<T>`; now it can also wrap an `IValueTaskSource<T>`, which can be implemented by arbitrary objects to be represented by `ValueTask<T>`.  These objects can then be pooled and reused to minimize allocation.  The commit also adds a non-generic `ValueTask` that can represent void-returning operations, including a `default` synchronous success, `Task`, and `IValueTaskSource`.  For the non-generic `ValueTask`, the commit also includes awaiters and async method builders, so it can be both awaited and used as the return type of an async method.

The rest of the changes fall into a few buckets all related to enabling this support:
- Modifying `AsyncTaskMethodBuilder<TResult>.AwaitUnsafeOnCompleted` to specially recognize any `ValueTask` and utilize either the `Task` or `IValueTaskSource` that backs it to avoid allocating an Action MoveNext method.  If every object awaited in an async method is either a `Task`/`Task<T>` or `ValueTask`/`ValueTask<T>`, regardless of what the `ValueTask`/`ValueTask<T>` wraps, we'll be able to avoid allocating the delegate and only allocate the single state machine object that also serves as the returned object.
- Changing `Stream.WriteAsync` to return `ValueTask` instead of `Task`.  This enables interested overriding stream types to use a reusable/pooled object to avoid `WriteAsync` allocations.
- Modifying Stream.CopyToAsync to use the new `Memory`-based overloads of `ReadAsync` and `WriteAsync`.  This enables the default `CopyToAsync` implementation to take advantage of any pooling done by derived streams, but even without pooling to take advantage of synchronously completing `ReadAsync`s returning `ValueTask<int>`s that contained an `int` rather than an allocated object. (While I was modifying this, I also removed some unnecessary array clearing that we'd added before later deciding it wasn't needed in general.)
- Modifying StreamReader/Writer to use the new `ReadAsync`/`WriteAsync` overloads.