platform/upstream/coreclr.git
6 years agoUpdate BuildTools, CoreClr to preview3-02622-01, preview3-26322-01, respectively...
dotnet-maestro-bot [Thu, 22 Mar 2018 05:13:42 +0000 (00:13 -0500)]
Update BuildTools, CoreClr to preview3-02622-01, preview3-26322-01, respectively (#17105)

6 years agoFix incorrect array dereference. (#17113)
Brian Robbins [Thu, 22 Mar 2018 04:34:24 +0000 (21:34 -0700)]
Fix incorrect array dereference. (#17113)

6 years agoUpdate CODE_OWNERS.TXT (#17114)
Noah Falk [Thu, 22 Mar 2018 02:12:28 +0000 (19:12 -0700)]
Update CODE_OWNERS.TXT (#17114)

Updating owner on the profiler

6 years agoRename {Try}Read/WriteMachineEndian to just {Try}Read/Write (#17106)
Ahson Khan [Thu, 22 Mar 2018 01:03:02 +0000 (18:03 -0700)]
Rename {Try}Read/WriteMachineEndian to just {Try}Read/Write (#17106)

6 years agoRemove dependency on libunwind (#17094)
Jan Vorlicek [Thu, 22 Mar 2018 00:11:59 +0000 (01:11 +0100)]
Remove dependency on libunwind (#17094)

* Add original source of libunwind 1.3-stable

Taken from:
https://github.com/libunwind/libunwind/tree/v1.3-stable

* Enable building of libunwind

This change enables building libunwind and removes
dependency on the libunwind package for all Unixes
except OSX. In OSX the libunwind is part of the OS
and also has support for compact unwind info that
is OSX specific, so we keep using that one.

* Disable warnings in code we don't execute

6 years agoUpdate debugging doc on lldb versions and disabling managed debugging (#17107)
Mike McLaughlin [Wed, 21 Mar 2018 22:43:15 +0000 (15:43 -0700)]
Update debugging doc on lldb versions and disabling managed debugging (#17107)

6 years agoImprove DateTime{Offset} "r" and "o" formatting performance (#17092)
Stephen Toub [Wed, 21 Mar 2018 21:35:56 +0000 (17:35 -0400)]
Improve DateTime{Offset} "r" and "o" formatting performance (#17092)

Two main changes:
1. Rewrote the formatting to use span, only to then discover that we already had almost exactly the same implementation in Utf8Formatter.  As that one had some extra optimizations around JIT behaviors, I ported that over instead.
2. Avoided [ThreadStatic] lookups unless necessary.

ToString/TryFormat for "o"/"O" improve by ~2.5x.

ToString/TryFormat for "r"/"R" improve by ~3x.

6 years agoAdd More Process Information to EventPipe Traces (#17080)
Brian Robbins [Wed, 21 Mar 2018 20:31:04 +0000 (13:31 -0700)]
Add More Process Information to EventPipe Traces (#17080)

6 years agoFix strings from being concatenated (#17040)
Frank Gambino [Wed, 21 Mar 2018 20:08:00 +0000 (16:08 -0400)]
Fix strings from being concatenated (#17040)

6 years agonull terminate the converted LPStr at the right index (#17079)
Jeff Schwartz [Wed, 21 Mar 2018 20:07:00 +0000 (13:07 -0700)]
null terminate the converted LPStr at the right index (#17079)

6 years agoAdd missing license header to test py and cs files (#17102)
Mike McLaughlin [Wed, 21 Mar 2018 19:42:49 +0000 (12:42 -0700)]
Add missing license header to test py and cs files (#17102)

Issue #13471

6 years agoMoving Span APIs that allow skipping visibility checks to MemoryMarshal (#17087)
Ahson Khan [Wed, 21 Mar 2018 19:34:48 +0000 (12:34 -0700)]
Moving Span APIs that allow skipping visibility checks to MemoryMarshal (#17087)

6 years agoSmall tweaks to Dict asm size (#17096)
Ben Adams [Wed, 21 Mar 2018 19:33:56 +0000 (19:33 +0000)]
Small tweaks to Dict asm size (#17096)

6 years agoFixed #16564: the test objmonhelper hangs forever with GCStress=0x3
Sergey Ignatov [Wed, 21 Mar 2018 11:40:42 +0000 (14:40 +0300)]
Fixed #16564: the test objmonhelper hangs forever with GCStress=0x3

6 years agoChange directory in AgentTools script
JC Aguilera [Wed, 21 Mar 2018 16:14:17 +0000 (09:14 -0700)]
Change directory in AgentTools script

6 years agoUpdate BuildTools, CoreClr, CoreFx to preview3-02620-10, preview3-26321-06, preview3...
dotnet-maestro-bot [Wed, 21 Mar 2018 14:33:18 +0000 (09:33 -0500)]
Update BuildTools, CoreClr, CoreFx to preview3-02620-10, preview3-26321-06, preview3-26319-04, respectively (#17012)

6 years agoAvoid allocating when SuppressFlow'ing in default ExecutionContext (#17081)
Stephen Toub [Wed, 21 Mar 2018 08:27:15 +0000 (04:27 -0400)]
Avoid allocating when SuppressFlow'ing in default ExecutionContext (#17081)

* Avoid allocating when SuppressFlow'ing in default ExecutionContext

* Address PR feedback

6 years agoAPI consistency for System.Memory APIs (argument names) (#28160)
Ahson Khan [Wed, 21 Mar 2018 05:27:20 +0000 (22:27 -0700)]
API consistency for System.Memory APIs (argument names) (#28160)

* AsBytes and Cast: Change arg name source -> span

* CopyTo: Change arg name array/sequence -> source

* Several APIs: Change arg name arraySegment -> segment

* Several APIs: Change arg name readOnlyMemory -> memory

* BinaryPrimitives and Utf8Formatter: Change arg name buffer -> source or destination

* Base64: Change arg name consumed/written -> bytesConsumed/bytesWritten

* Utf8Parser: Change arg name text -> source

* TryGetOwnedMemory: Change arg name ownedMemory -> owner, index -> start

* BuffersExtensions.Write: Change arg name bufferWriter -> writer

* Span Compare APIs: Change arg name first -> span, second/value -> other

* ROSequence.TryGet & BuffersExtensions: Change arg name data -> memory, sequence -> source

* Fix mistake in BinaryPrimitives Writer APIs, source -> destination.

* BufferExtensions.Write: Change arg name source -> span

* SequencePosition.Equals: Change arg name position -> other

* BufferExtensions ToArray: Change arg name source -> sequence

* Rename leftover arraySegment to segment in MemoryMarshal.TryGetArray

* BufferExtensions.Write: Change arg name span -> value

* Contains, StartsWith, EndsWith: Change arg name other -> value

Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
6 years agoUpdated steps in 'Viewing JIT Dumps' to see optimized code (#17077)
Günther Foidl [Wed, 21 Mar 2018 00:56:41 +0000 (01:56 +0100)]
Updated steps in 'Viewing JIT Dumps' to see optimized code (#17077)

If one follows the current described steps, one won't see the JIT dump for optimized code in the core lib.
This PR adds the necessary step to see optimized code.

Cf. https://github.com/dotnet/coreclr/issues/17065#issuecomment-374772011

6 years agoMerge pull request #16955 from fiigii/moreavx
Carol Eidt [Wed, 21 Mar 2018 00:01:14 +0000 (17:01 -0700)]
Merge pull request #16955 from fiigii/moreavx

Implement more AVX/AVX2 intrinsics

6 years agoFix type for lvaCachedGenericContextArgOffs (#14260)
Kyungwoo Lee [Tue, 20 Mar 2018 22:46:15 +0000 (15:46 -0700)]
Fix type for lvaCachedGenericContextArgOffs (#14260)

lvaCachedGenericContextArgOffs should be signed since it's initially
assigned with a negative virtual offset. Finally depending on
frame pointer use with different arch, it could become positive or negative.
Luckily enough, so far such issue was by-passed since amd64 encoder didn't
care such signness when encoding move offset even though the value is
negative. For arm64, it is typically positive since FP is saved on the
bottom of stack.

6 years agoPort System.Memory performance improvements to Convert.TryFromBase64Chars (#17033)
Atsushi Kanamori [Tue, 20 Mar 2018 21:14:41 +0000 (14:14 -0700)]
Port System.Memory performance improvements to Convert.TryFromBase64Chars (#17033)

* Copy over Base64.DecodeFromUtf8 verbatim

* Don't need the InPlace api

* Change input from Utf8 to Utf16

* isFinalBlock will always be true, so constant fold it through

* I only need a true/false result, so get rid of OperationStatus

* Rename variables to reflect Utf8->Utf16 change

* Update comments and some minor cleanup

* Make Convert use Base64 as a fast-path

* Incorporate PR feedback.

* Delete FromBase64_Decode

* Use a single safe stackalloc

* Rename Base64.cs to Convert.Base64.cs

and make its contents a part of the Convert class.

We should eventually move all the Base64-related
stuff into this new file but not as part of this PR.
We want to be able to diff the implementation change
separately from the code movement.

* Thanks VS for the unasked for indent

6 years agoFix header inclusion order; avoids use of RCWCache before definition (#17067)
Andrew Marino [Tue, 20 Mar 2018 20:31:17 +0000 (13:31 -0700)]
Fix header inclusion order; avoids use of RCWCache before definition (#17067)

6 years agoFix build break
Jan Kotas [Fri, 16 Mar 2018 18:34:56 +0000 (11:34 -0700)]
Fix build break

Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
6 years agoMerge pull request #17056 from BruceForstall/Arm64LclFldContainedZero
Bruce Forstall [Tue, 20 Mar 2018 16:00:19 +0000 (09:00 -0700)]
Merge pull request #17056 from BruceForstall/Arm64LclFldContainedZero

Allow arm64 to contain zero in GT_STORE_LCL_FLD

6 years agoJIT: remove boxing for interface call to shared generic struct (#17006)
Andy Ayers [Tue, 20 Mar 2018 15:36:14 +0000 (08:36 -0700)]
JIT: remove boxing for interface call to shared generic struct (#17006)

Improve the jit's ability to optimize a box-interface call sequence
to handle cases where the unboxed entry point requires a method table
argument.

Added two test cases, one from the inspiring issue, and another where
the jit is then able to inline the method.

Closes #16982.

6 years agoFix major System.Memory performance regression on .NET Framework x86 (#28179)
Jan Kotas [Mon, 19 Mar 2018 21:10:18 +0000 (14:10 -0700)]
Fix major System.Memory performance regression on .NET Framework x86 (#28179)

* Use Unsafe.AddByteOffset instead of Unsafe.Add where possible

* Use pointer for NUint backing field

* Delete unnecessary unchecked scopes, fixed comments

* Avoid unnecessary overflow checks when converting from IntPtr

* Switch SequenceEqual to IntPtr pointer arithmetic

This is fixing 10x regression introduced by use of NUint

* Delete NUint operators that are no longer necessary

* Fix CoreCLR build break

Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
6 years agoMove CompareInfo.* to shared CoreLib partition (#17062)
Jan Kotas [Tue, 20 Mar 2018 10:53:06 +0000 (03:53 -0700)]
Move CompareInfo.* to shared CoreLib partition (#17062)

6 years agoMove EncodingTable and CodePageDataItem to System.Text namespace (#17061)
Jan Kotas [Tue, 20 Mar 2018 10:34:35 +0000 (03:34 -0700)]
Move EncodingTable and CodePageDataItem to System.Text namespace (#17061)

This is the more logical namespace for it and it matches the namespace that these live under in CoreRT.

6 years agoImplement more AVX/AVX2 intrinsics
Fei [Tue, 20 Mar 2018 10:07:59 +0000 (02:07 -0800)]
Implement more AVX/AVX2 intrinsics

6 years agoAdd tests for AVX/AVX2 intrinsics
Fei [Tue, 20 Mar 2018 10:06:21 +0000 (02:06 -0800)]
Add tests for AVX/AVX2 intrinsics

6 years agoFix copy&paste bug (#17059)
Jan Kotas [Tue, 20 Mar 2018 04:16:23 +0000 (21:16 -0700)]
Fix copy&paste bug (#17059)

6 years agoFix unloading of images mapped by PAL (#17053)
Sven Boemer [Tue, 20 Mar 2018 03:24:01 +0000 (20:24 -0700)]
Fix unloading of images mapped by PAL (#17053)

* Fix unloading of images mapped by PAL

The m_FileView member of MappedImageLayout is a CLRMapViewHolder,
which runs CLRUnmapViewOfFile on release. This is fine on Windows,
where the MappedImageLayout constructor calls
CLRMapViewOfFile. However, with FEATURE_PAL, the constructor calls
PAL_LOADLoadPEFile, which simulates LoadLibrary and records multiple
mapping entries. Each entry increases the refcount of the underlying
file handle PAL object. PAL_LOADUnloadPEFile should be called in this
case (instead of CLRUnmapViewOfFile), to decrease the refcount for
each mapping entry.

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

* Fix build failure

6 years agoUse flat layout for GetAssemblyName (#17052)
Sven Boemer [Tue, 20 Mar 2018 03:23:39 +0000 (20:23 -0700)]
Use flat layout for GetAssemblyName (#17052)

* Use flat layout for GetAssemblyName

This change will result in the use flat layouts for the temporary
layouts created by GetAssemblyName. This allows crossgen'd PE images
created for a different OS to be loaded in the code path that
retrieves the assembly name.

* Respond to PR feedback

Add comment, and remove dead code.

6 years agoAllow arm64 to contain zero in GT_STORE_LCL_FLD
Bruce Forstall [Tue, 20 Mar 2018 01:30:51 +0000 (18:30 -0700)]
Allow arm64 to contain zero in GT_STORE_LCL_FLD

The codegen to handle this in codegenarm64.cpp, CodeGen::genCodeForStoreLclFld()
already exists.

6 years agoAdd new ICLRDebuggingLibraryProvider2 interface for OpenVirtualProces that works...
Mike McLaughlin [Tue, 20 Mar 2018 01:26:59 +0000 (18:26 -0700)]
Add new ICLRDebuggingLibraryProvider2 interface for OpenVirtualProces that works on Linux (#16978)

Add new ICLRDebuggingLibraryProvider2 interface for OpenVirtualProcess that works on Linux.

The old ICLRDebuggingLibraryProvider::ProviderLibrary returns module handles that can't
be properly supported on Linux.

ICLRDebuggerLibraryProvider2 returns the module path string instead of a handle. Works on
both Windows and Linux. If ICLRDebuggerLibraryProvider2 is QI'ed, OpenVirtualProcess will
NOT fall back to ICLRDebuggerLibraryProvider if ProviderLibrary2 fails.

HRESULT ProvideLibrary2(
    [in] const WCHAR* pwszFileName,
    [in] DWORD dwTimestamp,
    [in] DWORD dwSizeOfImage,
    [out] LPWSTR* ppResolvedModulePath);

ppResolvedModulePath - Where *ppResolvedModulePath is a null terminated path to the module dll. On Windows it should be allocated
with CoTaskMemAlloc. On Unix it should be allocated with malloc. Failure leave it untouched.

6 years agoMerge pull request #17049 from briansull/fix-fgInstrumentMethod
Brian Sullivan [Tue, 20 Mar 2018 00:54:45 +0000 (17:54 -0700)]
Merge pull request #17049 from briansull/fix-fgInstrumentMethod

Fix for fgInstrumentMethod

6 years agoJIT: tolerate nonzero constant byrefs in impCheckForNullPointer (#17042)
Andy Ayers [Tue, 20 Mar 2018 00:28:51 +0000 (17:28 -0700)]
JIT: tolerate nonzero constant byrefs in impCheckForNullPointer (#17042)

With the advent of #16966 we may now see constant nonzero byrefs from
things like RVA statics. Tolerate these in `impCheckForNullPointer`.

Note previously we'd type these as ints/longs and so bail out of
`impCheckForNullPointer` after the first check.

Closes #17008.

6 years agodelete unused debug arg from genChangeLife and compChangeLife. (#17041)
Sergey Andreenko [Mon, 19 Mar 2018 22:08:09 +0000 (15:08 -0700)]
delete unused debug arg from genChangeLife and compChangeLife. (#17041)

* delete unused debug arg from genChangeLife(VARSET_VALARG_TP

* remove unused debug arg from compChangeLife

6 years agoFix jit-format
Brian Sullivan [Mon, 19 Mar 2018 22:04:54 +0000 (15:04 -0700)]
Fix jit-format

6 years agoRemove obselete buildtests (#17050)
Matt Mitchell [Mon, 19 Mar 2018 21:44:59 +0000 (14:44 -0700)]
Remove obselete buildtests (#17050)

BuildTests definition now lives under buildpipeline\tests\

6 years agoFix for fgInstrumentMethod
Brian Sullivan [Mon, 19 Mar 2018 21:19:10 +0000 (14:19 -0700)]
Fix for fgInstrumentMethod

There was a bug creating profiling images using /Tuning
We computed the wrong value for addrOfBlockCount at the end of this method
This would result in method having proper block counts,
but still not getting marked as being executed.

This regressed in PR #14640

6 years agoFix ProjectN build break and work around MCG bug (dotnet/corert#5576)
Michal Strehovský [Mon, 19 Mar 2018 18:08:34 +0000 (19:08 +0100)]
Fix ProjectN build break and work around MCG bug (dotnet/corert#5576)

Unblocks integration to TFS.

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
6 years agoSwitch over to managed Marvin implementation for string hashing (#17029)
Jan Kotas [Mon, 19 Mar 2018 19:51:33 +0000 (12:51 -0700)]
Switch over to managed Marvin implementation for string hashing (#17029)

6 years agoAdding running tests on Alpine for coreclr build (#17038)
Jose Perez Rodriguez [Mon, 19 Mar 2018 18:41:58 +0000 (11:41 -0700)]
Adding running tests on Alpine for coreclr build (#17038)

6 years agoPublish x86_arm/crossgen during Linux/arm build (#16953)
Egor Chesakov [Mon, 19 Mar 2018 18:33:59 +0000 (11:33 -0700)]
Publish x86_arm/crossgen during Linux/arm build (#16953)

* Publish CrossCrossGen during Linux/arm build
* Update DockerTag to the image that includes two rootfs-s

6 years agoFixing the x86 ScalarUnOpTest template to no longer write out of bounds
Tanner Gooding [Sun, 18 Mar 2018 17:06:34 +0000 (10:06 -0700)]
Fixing the x86 ScalarUnOpTest template to no longer write out of bounds

6 years agoUpdating the x86 extract instructions to be properly listed as MR
Tanner Gooding [Sun, 18 Mar 2018 05:46:10 +0000 (22:46 -0700)]
Updating the x86 extract instructions to be properly listed as MR

6 years agoRegenerating the x86 HWIntrinsic tests to track each vector size separately
Tanner Gooding [Fri, 16 Mar 2018 22:31:33 +0000 (15:31 -0700)]
Regenerating the x86 HWIntrinsic tests to track each vector size separately

6 years agoUpdating the x86 HWIntrinsic templates to track each vector size separately
Tanner Gooding [Fri, 16 Mar 2018 22:30:22 +0000 (15:30 -0700)]
Updating the x86 HWIntrinsic templates to track each vector size separately

6 years agoUpdating the x86 HWIntrinsic DataTable types to assert the alignment returned is...
Tanner Gooding [Fri, 16 Mar 2018 18:33:37 +0000 (11:33 -0700)]
Updating the x86 HWIntrinsic DataTable types to assert the alignment returned is correct

6 years agoRegenerating the x86 HWIntrinsics tests to no longer have a GC hole
Tanner Gooding [Thu, 15 Mar 2018 10:57:53 +0000 (03:57 -0700)]
Regenerating the x86 HWIntrinsics tests to no longer have a GC hole

6 years agoFixing the x86 HWIntrinsic test templates to not leave a GC hole
Tanner Gooding [Thu, 15 Mar 2018 10:50:44 +0000 (03:50 -0700)]
Fixing the x86 HWIntrinsic test templates to not leave a GC hole

6 years agoMerge pull request #17034 from vancem/FixPath
Vance Morrison [Mon, 19 Mar 2018 17:19:07 +0000 (10:19 -0700)]
Merge pull request #17034 from vancem/FixPath

Use better path (fixes #17004)

6 years agoFix eventpipe rundown test with crossgen (#16784)
Victor "Nate" Graf [Mon, 19 Mar 2018 16:38:36 +0000 (09:38 -0700)]
Fix eventpipe rundown test with crossgen (#16784)

6 years agoMerge pull request #16968 from echesakovMSFT/LimitFeatureUnixAMD64StructPassingWhenTa...
Egor Chesakov [Mon, 19 Mar 2018 15:44:24 +0000 (08:44 -0700)]
Merge pull request #16968 from echesakovMSFT/LimitFeatureUnixAMD64StructPassingWhenTargetUnixAMD64

Define FEATURE_UNIX_AMD64_STRUCT_PASSING only when target Unix/AMD64

6 years agoUse better path (fixes #17004)
Vance Morrison [Mon, 19 Mar 2018 15:25:33 +0000 (08:25 -0700)]
Use better path (fixes #17004)

6 years agoDelete unused downlevel globalization support (#17022)
Jan Kotas [Mon, 19 Mar 2018 13:59:33 +0000 (06:59 -0700)]
Delete unused downlevel globalization support (#17022)

Delete ENABLE_DOWNLEVEL_FOR_NLS and everything under it

6 years agoFix BuildConfiguration casing so publishing works
Russ Keldorph [Sat, 17 Mar 2018 22:24:30 +0000 (15:24 -0700)]
Fix BuildConfiguration casing so publishing works

6 years agoMerge pull request #17004 from vancem/DacTableGenFor2017
Vance Morrison [Sun, 18 Mar 2018 14:33:51 +0000 (07:33 -0700)]
Merge pull request #17004 from vancem/DacTableGenFor2017

This change make DacTableGen work for VS2017

6 years agoReview feedback
Vance Morrison [Sun, 18 Mar 2018 14:31:17 +0000 (07:31 -0700)]
Review feedback

6 years agoSwitch back to more performant and portable Marvin implementation
Jan Kotas [Sat, 17 Mar 2018 00:54:20 +0000 (17:54 -0700)]
Switch back to more performant and portable Marvin implementation

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
6 years agoFix EventSource Test Failures in CoreFX (#16999)
Brian Robbins [Sat, 17 Mar 2018 22:18:25 +0000 (15:18 -0700)]
Fix EventSource Test Failures in CoreFX (#16999)

6 years agoAdd environment variable (COMPlus_EnableDiagnostics) to disable debugging and profili...
Mike McLaughlin [Sat, 17 Mar 2018 18:12:21 +0000 (11:12 -0700)]
Add environment variable (COMPlus_EnableDiagnostics) to disable debugging and profiling. (#16141)

This reverts commit e9985126acb0f1efd7c780faac4e66bc798b73c0.

6 years agoUse Win32Marshal from CoreLib shared code (dotnet/corefx#28161)
Jeremy Kuhne [Sat, 17 Mar 2018 11:15:24 +0000 (04:15 -0700)]
Use Win32Marshal from CoreLib shared code (dotnet/corefx#28161)

* Use Win32Marshal from CoreLib shared code

Fix hr issue caught by Common.Tests.

* Move string condition inside exception arguments

Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
6 years agoUse vectorized SpanHelpers.SequenceEqual for string equality (#16994)
Jan Kotas [Sat, 17 Mar 2018 14:16:35 +0000 (07:16 -0700)]
Use vectorized SpanHelpers.SequenceEqual for string equality (#16994)

6 years agoUpdate prerelease label to preview3
Russ Keldorph [Sat, 17 Mar 2018 12:08:28 +0000 (05:08 -0700)]
Update prerelease label to preview3

6 years agoDo not compute the IDF for all blocks in advance (#15146)
mikedn [Sat, 17 Mar 2018 03:43:59 +0000 (05:43 +0200)]
Do not compute the IDF for all blocks in advance (#15146)

InsertsPhiFunctions visits each block only once so there's no need to compute and store the IDFs for all blocks in advance. The IDF of a given block can be computed when the block is visited and discarded after that. This way a single BlkVector can be reused for all blocks.

6 years agoUpdate BuildTools, CoreClr, CoreFx to preview3-02616-02, preview2-26316-09, preview2...
dotnet-maestro-bot [Sat, 17 Mar 2018 03:05:47 +0000 (22:05 -0500)]
Update BuildTools, CoreClr, CoreFx to preview3-02616-02, preview2-26316-09, preview2-26317-01, respectively (#16993)

6 years agoUse vectorized T=byte implementations to optimize all MemoryExtensions APIs for T...
Ahson Khan [Fri, 16 Mar 2018 18:05:14 +0000 (11:05 -0700)]
Use vectorized T=byte implementations to optimize all MemoryExtensions APIs for T != byte (#28080)

* Adding IsTypeNumeric helper

* Add more NUint operations and use IsTypeNumeric everywhere.

* Revert addition of LangVersion 7.2

* Fix formatting

* Revert use of nuint and IsNumericType for *IndexOf* APIs

* Fix comment, undo leftover changes, and fix indentation.

* Address PR feedback - use nuint where possible.

* PR feedback - Cleanup SequenceEqual just like SequenceCompareTo

* Add new NUInt operations for netcoreapp/coreclr mirror.

* Address PR feedback

* Add T = char and T = long tests for StartsWith and EndsWith

Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
6 years agoMerge pull request #17000 from sdmaclea/PR-Enable-Arm64-Simd
Carol Eidt [Sat, 17 Mar 2018 01:39:02 +0000 (18:39 -0700)]
Merge pull request #17000 from sdmaclea/PR-Enable-Arm64-Simd

[Arm64] Enable arm64 simd test

6 years agoPrevent concurrent use corruption from causing infinite loops (#16991)
Ben Adams [Sat, 17 Mar 2018 01:24:16 +0000 (21:24 -0400)]
Prevent concurrent use corruption from causing infinite loops (#16991)

6 years agoUpdates unsafe String constructors to be consistent when handling null value (#17002)
Marek Safar [Sat, 17 Mar 2018 00:58:18 +0000 (01:58 +0100)]
Updates unsafe String constructors to be consistent when handling null value (#17002)

6 years agoThis change make DacTableGen work for VS2017
Vance Morrison [Sat, 17 Mar 2018 00:26:21 +0000 (17:26 -0700)]
This change make DacTableGen work for VS2017

There was a issue (see https://github.com/dotnet/coreclr/issues/11305) where
a tool used in the CoreCLR build called DacTableGen requires a old version of the
msdia120.dll.   The symptom is that this tool would fail with a class not registered errror.

This tool comes from a very old nuget package microsoft.dotnet.buildtools.coreclr, which
we no longer can build easly.    Our guidance now is to move tools that are only used in
one repository (like this one) out of nuget packages and simply build them as part of the build.

This change makes a step in that direction.  The DacTableGen code actually was already
in the CoreCLR repo, so this change

1. Fixes the source of DacTableGen so that tool no longer needs a com object to be registered
    (but it DOES need msdia140.dll to be on the path.  This is true for VS2017.
2.  Turns on the build of DacTableGen
3. Change the build use the built DacTableGen (unless running on VS2017, in that case we use the
    the version in the tool package.
4.) Remove the hack that warns people to register msdia120 (since you don't need to anymore)

There is also an unrelated addition to the docs.

This change should still work for VS2015 (because it falls back to the old DacTableGen in that case)

Finally we should move to using the Linux method of creating the DAC, and so all these tools and
their nuget package can be removed.

6 years agoMerge pull request #16980 from jcagme/master
JC Aguilera [Fri, 16 Mar 2018 23:51:39 +0000 (16:51 -0700)]
Merge pull request #16980 from jcagme/master

Move extension task at beginning and end of build def

6 years agoAdd task extension to test pipeline
Juan Carlos Aguilera Mendez [Fri, 16 Mar 2018 23:42:34 +0000 (16:42 -0700)]
Add task extension to test pipeline

6 years agoMerge branch 'master' of https://github.com/dotnet/coreclr
Juan Carlos Aguilera Mendez [Fri, 16 Mar 2018 23:40:12 +0000 (16:40 -0700)]
Merge branch 'master' of https://github.com/dotnet/coreclr

6 years agoPut the path on IOException strings when possible (#16998)
Jeremy Kuhne [Fri, 16 Mar 2018 22:49:15 +0000 (15:49 -0700)]
Put the path on IOException strings when possible (#16998)

Remove internal only copy of DriveNotFoundException. Will create an issue
to move the implementation down from S.IO.DriveInfo.

Note that this Win32Marshal can be used directly from CoreFX,  will follow up
once this flows. (e.g. remove the copy in CoreFX)

6 years ago[Arm64] Disable broken tests dependent on #16310
Steve MacLean [Fri, 16 Mar 2018 21:11:33 +0000 (17:11 -0400)]
[Arm64] Disable broken tests dependent on #16310

6 years ago[Arm64] Enable HW Intrinsic Simd tests
Steve MacLean [Wed, 7 Mar 2018 21:15:00 +0000 (16:15 -0500)]
[Arm64] Enable HW Intrinsic Simd tests

6 years agoFix test for GC.GetAllocatedBytesForCurrentThread to be more lenient with the accurac...
Sung Yoon Whang [Fri, 16 Mar 2018 18:56:24 +0000 (11:56 -0700)]
Fix test for GC.GetAllocatedBytesForCurrentThread to be more lenient with the accuracy (#16976)

6 years agoAvoid allocating _IOCompletionCallback when flow is suppressed (#16984)
Stephen Toub [Fri, 16 Mar 2018 18:10:36 +0000 (14:10 -0400)]
Avoid allocating _IOCompletionCallback when flow is suppressed (#16984)

This delegate was showing up in a sockets allocation trace, even though execution flow is suppressed while creating the associated PreAllocatedOverlapped.

6 years agoChange csharp_indent_labels from flush_left to one_less_than_current (#16983)
Ahson Khan [Fri, 16 Mar 2018 18:06:01 +0000 (11:06 -0700)]
Change csharp_indent_labels from flush_left to one_less_than_current (#16983)

6 years agoMerge branch 'master' of https://github.com/dotnet/coreclr
Juan Carlos Aguilera Mendez [Fri, 16 Mar 2018 16:50:50 +0000 (09:50 -0700)]
Merge branch 'master' of https://github.com/dotnet/coreclr

6 years agoUpdate CoreClr, CoreFx to preview2-26316-03, preview2-26316-03, respectively (#16988)
dotnet-maestro-bot [Fri, 16 Mar 2018 16:41:33 +0000 (11:41 -0500)]
Update CoreClr, CoreFx to preview2-26316-03, preview2-26316-03, respectively (#16988)

6 years agoJIT: fix return type mismatch inline block for literal argument (#16966)
Andy Ayers [Fri, 16 Mar 2018 15:07:30 +0000 (08:07 -0700)]
JIT: fix return type mismatch inline block for literal argument (#16966)

When we inline a method that returns one of its arguments, we need to make sure
to apply the callee's view of the argument type.

We fixed this for arguments that are caller locals in #11218. This change applies
similar logic to handle the case where the caller passes a literal constant.

Closes #16944.

6 years agoRemove tests from main pipeline.json (#16975)
Matt Mitchell [Fri, 16 Mar 2018 15:04:23 +0000 (08:04 -0700)]
Remove tests from main pipeline.json (#16975)

* Remove tests from main pipeline.json
Tests are now broken out into a separate json file, which means prodcon builds avoid waiting on tests.

6 years agoFix comment in IgnoreCase CompareInfo handling.
Viktor Hofer [Fri, 16 Mar 2018 14:18:16 +0000 (15:18 +0100)]
Fix comment in IgnoreCase CompareInfo handling.

6 years agoUse managed marvin hashing for IgnoreCase comparison (#16945)
Viktor Hofer [Fri, 16 Mar 2018 14:04:50 +0000 (15:04 +0100)]
Use managed marvin hashing for IgnoreCase comparison (#16945)

* Use managed marvin hashing for IgnoreCase comparison

* Return rented buffer & reduce string allocation

* Move Marvin to shared partition & PR feedback

* Marvin input slicing & ToUpper optimization

* Use ToUpperInvariant instead of ToUpper

* Use ToUpperInvariant in favor of the whole manual optimization logic

* Fix typo

* Use ToUpperInvariant length for slicing

6 years agoImplement AVX/AVX2 InsertVector128 and ExtractVector128 intrinsic
Fei Peng [Fri, 16 Mar 2018 07:44:47 +0000 (00:44 -0700)]
Implement AVX/AVX2 InsertVector128 and ExtractVector128 intrinsic

6 years agoImplement AVX Insert/Extract helper-intrinsics in managed code
Fei Peng [Wed, 14 Mar 2018 00:02:14 +0000 (17:02 -0700)]
Implement AVX Insert/Extract helper-intrinsics in managed code

6 years agoAdd tests for AVX Insert/Extract helper-intrinsics
Fei Peng [Wed, 14 Mar 2018 00:01:59 +0000 (17:01 -0700)]
Add tests for AVX Insert/Extract helper-intrinsics

6 years agoAdd tests for AVX Insert/ExtractVector128
Fei Peng [Tue, 13 Mar 2018 05:24:40 +0000 (22:24 -0700)]
Add tests for AVX Insert/ExtractVector128

6 years agoAdd tests and templates for AVX2 Insert/Extract
Fei Peng [Tue, 13 Mar 2018 00:20:42 +0000 (17:20 -0700)]
Add tests and templates for AVX2 Insert/Extract

6 years agoAdd AllReady scenario to JitBench (#16905)
Adam Sitnik [Fri, 16 Mar 2018 12:25:08 +0000 (13:25 +0100)]
Add AllReady scenario to JitBench (#16905)

* reuse MusicStoreBenchmark for AllReady scenario

* bug fix, should set JITBENCH_FRAMEWORK_VERSION, not JITBENCH_TARGET_FRAMEWORK_VERSION

* include informations from AllReady.dll

* temp: point to my fork before the https://github.com/aspnet/JitBench/pull/85 gets merged

* clone the repo and get the submodule, downloading .zip is not enough when working with GIT submodules

* fail benchmark when git command fails

* point to the updated aspnet/JitBench repo, not my fork

6 years ago[Arm64/Ubuntu] Enable official builds (#16981)
Steve MacLean [Fri, 16 Mar 2018 09:51:29 +0000 (05:51 -0400)]
[Arm64/Ubuntu] Enable official builds (#16981)

6 years agoUpdate CoreClr, CoreFx to preview2-26315-05, preview2-26316-01, respectively (#16970)
dotnet-maestro-bot [Fri, 16 Mar 2018 03:33:36 +0000 (22:33 -0500)]
Update CoreClr, CoreFx to preview2-26315-05, preview2-26316-01, respectively (#16970)

6 years agoConvert Sse2 tests to template driven version - part 1
Jacek Blaszczynski [Wed, 14 Mar 2018 22:06:32 +0000 (23:06 +0100)]
Convert Sse2 tests to template driven version - part 1

6 years agoMove extension task at beginning and end of build def
Juan Carlos Aguilera Mendez [Fri, 16 Mar 2018 01:18:49 +0000 (18:18 -0700)]
Move extension task at beginning and end of build def

6 years agoPort SequentialEqual() optimizations to ReadOnlySpan overloads (#28073)
Atsushi Kanamori [Thu, 15 Mar 2018 13:54:58 +0000 (06:54 -0700)]
Port SequentialEqual() optimizations to ReadOnlySpan overloads (#28073)

Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>