platform/upstream/coreclr.git
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>
6 years agoMerge pull request #16858 from echesakovMSFT/FixGenerateEventLogCrossArchBuildFailure
Egor Chesakov [Thu, 15 Mar 2018 20:54:42 +0000 (13:54 -0700)]
Merge pull request #16858 from echesakovMSFT/FixGenerateEventLogCrossArchBuildFailure

Fix etmdummy.h file not found during Linux/arm crosscomponent build

6 years agoMerge pull request #16969 from jcagme/master
JC Aguilera [Thu, 15 Mar 2018 20:36:15 +0000 (13:36 -0700)]
Merge pull request #16969 from jcagme/master

Replace Agent.HomeDirectory with AgentToolsPath

6 years agoRemove AgentToolsPath
Juan Carlos Aguilera Mendez [Thu, 15 Mar 2018 20:15:30 +0000 (13:15 -0700)]
Remove AgentToolsPath

6 years agoReplace AgentToolsPath
Juan Carlos Aguilera Mendez [Thu, 15 Mar 2018 19:10:18 +0000 (12:10 -0700)]
Replace AgentToolsPath

6 years agoFix error type check in InternalSetThreadPriority (#16959)
Jan Vorlicek [Thu, 15 Mar 2018 18:57:01 +0000 (19:57 +0100)]
Fix error type check in InternalSetThreadPriority (#16959)

The pthread_setschedparam returns error code as a return value and not
in the errno as the existing code supposes. I have found it when a test
in the lab has failed to set the priority and asserted in this code, but
reported errno as 0.

Also fix the flaky DuplicateHandle test7 that was failing rarely due to the
fact that the secondary thread it has created didn't wait until the main thread
finished fiddling with the priority of that thread.

6 years agoDefine FEATURE_UNIX_AMD64_STRUCT_PASSING only when target Unix/AMD64
Egor Chesakov [Wed, 28 Feb 2018 22:56:13 +0000 (14:56 -0800)]
Define FEATURE_UNIX_AMD64_STRUCT_PASSING only when target Unix/AMD64

6 years agoUpdate CoreClr, CoreFx to preview2-26315-02, preview2-26315-01, respectively (#16949)
dotnet-maestro-bot [Thu, 15 Mar 2018 18:15:07 +0000 (13:15 -0500)]
Update CoreClr, CoreFx to preview2-26315-02, preview2-26315-01, respectively (#16949)

6 years agoFix etmdummy.h file not found during cross crossarchitecture build
Egor Chesakov [Fri, 9 Mar 2018 18:17:54 +0000 (10:17 -0800)]
Fix etmdummy.h file not found during cross crossarchitecture build

6 years agoFix to not reuse preallocated jump stubs for dynamic methods (#16941)
Koundinya Veluri [Thu, 15 Mar 2018 17:05:42 +0000 (10:05 -0700)]
Fix to not reuse preallocated jump stubs for dynamic methods (#16941)

Fix to not reuse preallocated jump stubs for dynamic methods

Fixes https://github.com/dotnet/coreclr/issues/16940
- Allocate an extra jump stub per temporary entry points chunk that is shared by all precodes in the chunk. This jump stub always points to PrecodeFixupThunk.
- Use that for PrecodeFixupThunk, and use the precode-associated jump stub for pointing to the jitted code
- Considered allocating the extra jump stub only if coreclr is far away, but it involves reallocation which may be common in some environments/scenarios. Figured 12 extra bytes per dynamic type is not too significant.

6 years agoMerge pull request #16813 from CarolEidt/FixDD544983
Carol Eidt [Thu, 15 Mar 2018 15:14:09 +0000 (08:14 -0700)]
Merge pull request #16813 from CarolEidt/FixDD544983

Mark operands of dead FIELD_LIST as unused

6 years ago[Arm64] Fix EmitShuffleThunk reg allocation (#16947)
Steve MacLean [Thu, 15 Mar 2018 09:39:41 +0000 (05:39 -0400)]
[Arm64] Fix EmitShuffleThunk reg allocation (#16947)

6 years agoMerge pull request #16928 from briansull/fix-16892
Brian Sullivan [Thu, 15 Mar 2018 06:57:40 +0000 (23:57 -0700)]
Merge pull request #16928 from briansull/fix-16892

Fix GH Issue 16892 - GC hole due to GT_INDEX_ADDR

6 years agoFix GetTempPath (#16921)
Jeremy Kuhne [Thu, 15 Mar 2018 05:16:00 +0000 (22:16 -0700)]
Fix GetTempPath (#16921)

* Fix GetTempPath

GetTempPath and GetTempFileName weren't updated to handle long paths.
Update to use API properly and stop using StringBuilder. Also tweak
Normalize to allow utilizing an existing Span as input.

* Assert for null, fix ProjectN wrap

* Address more feedback

* One more tweak

* Tweak Normalize to be usable in CoreFX

* Change another span Equals

* Split AsSpan() to avoid risk of losing inlining

6 years agoAdd EventSource TraceLogging Support for EventPipe (#16861)
Brian Robbins [Thu, 15 Mar 2018 02:18:38 +0000 (19:18 -0700)]
Add EventSource TraceLogging Support for EventPipe (#16861)

6 years agoMerge pull request #16794 from echesakovMSFT/DisableFeatureNIBindFallbackByDefault
Egor Chesakov [Thu, 15 Mar 2018 00:43:35 +0000 (17:43 -0700)]
Merge pull request #16794 from echesakovMSFT/DisableFeatureNIBindFallbackByDefault

Disable FEATURE_NI_BIND_FALLBACK by default for all platforms

6 years agoInclude Linux/cross-arch components into NuGet packages (#16859)
Egor Chesakov [Wed, 14 Mar 2018 23:46:44 +0000 (16:46 -0700)]
Include Linux/cross-arch components into NuGet packages (#16859)

* Add __DoCrossArchBuild settings to config.json
* HasCrossTargetComponents computes to 'true' on Linux when __DoCrossArchBuild is 1 in dir.props
* Include cross-architecture libclrjit.so crossgen into NuGet props files when HasCrossTargetComponents is 'true'
* Pass $__DoCrossArchBuild to run.sh when generating NuGet packages in build.sh

6 years agoMerge pull request #16895 from echesakovMSFT/DoNotFragileNGenSystemPrivateCoreLibARM
Egor Chesakov [Wed, 14 Mar 2018 23:45:51 +0000 (16:45 -0700)]
Merge pull request #16895 from echesakovMSFT/DoNotFragileNGenSystemPrivateCoreLibARM

[ARM] Disable fragile NGen when compiling S.P.C.dll for _TARGET_ARM_