platform/upstream/coreclr.git
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 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.

6 years agoMinor documentation improvements (#16677)
Alfred Myers [Thu, 1 Mar 2018 03:55:33 +0000 (00:55 -0300)]
Minor documentation improvements (#16677)

6 years agoCreate test for rundown events with EventPipe (#16667)
Victor "Nate" Graf [Thu, 1 Mar 2018 02:03:12 +0000 (18:03 -0800)]
Create test for rundown events with EventPipe (#16667)

6 years agoDelete unnecesary StackCrawlMarks (#16648)
Jan Kotas [Thu, 1 Mar 2018 01:28:30 +0000 (17:28 -0800)]
Delete unnecesary StackCrawlMarks (#16648)

CAS leftovers

6 years agoUpdate BuildTools, CoreClr, CoreFx, PgoData to preview2-02528-07, preview2-26228...
dotnet-maestro-bot [Thu, 1 Mar 2018 00:51:16 +0000 (18:51 -0600)]
Update BuildTools, CoreClr, CoreFx, PgoData to preview2-02528-07, preview2-26228-08, preview2-26228-03, master-20180228-0037, respectively (#16661)

6 years agoUpdate EventSource* Tests for EventPipe (#16645)
Brian Robbins [Wed, 28 Feb 2018 22:16:49 +0000 (14:16 -0800)]
Update EventSource* Tests for EventPipe (#16645)

6 years agoMerge pull request #16657 from debayang/crypto_arm64_intrinsics
Brian Sullivan [Wed, 28 Feb 2018 21:23:30 +0000 (13:23 -0800)]
Merge pull request #16657 from debayang/crypto_arm64_intrinsics

Crypto arm64 intrinsics

6 years agoSet isInternalRegDelayFree for several of the x86 hwintrinsics
Tanner Gooding [Wed, 28 Feb 2018 04:40:19 +0000 (20:40 -0800)]
Set isInternalRegDelayFree for several of the x86 hwintrinsics

6 years agoMerge pull request #16538 from sdmaclea/PR-ARM64-R2R_FAIL
Bruce Forstall [Wed, 28 Feb 2018 18:45:04 +0000 (10:45 -0800)]
Merge pull request #16538 from sdmaclea/PR-ARM64-R2R_FAIL

[Arm64/Windows] Make r2r green in CI

6 years agoAdd the array/arraysegment->Span/Memory overloads to CoreCLR. (#16658)
Atsushi Kanamori [Wed, 28 Feb 2018 18:33:24 +0000 (10:33 -0800)]
Add the array/arraysegment->Span/Memory overloads to CoreCLR. (#16658)

Part of https://github.com/dotnet/corefx/issues/26894

6 years agoRevert: Simplify test dependencies for benchmarks (#16647)
Andy Ayers [Wed, 28 Feb 2018 18:08:32 +0000 (10:08 -0800)]
Revert: Simplify test dependencies for benchmarks (#16647)

This reverts commit 0598b6b8af0fb560837ce0bb8f3c8236c05bbdc9.

Updates to xunit console runner break things in Helix. So reverting
until we can get that part sorted.

Also undoes version updates from #16597; we can't move these forward
yet as we're back to netstandard 1.4 for the time being.

6 years agoMerge pull request #16531 from echesakovMSFT/MakeTarget64BitMacroGlobal
Egor Chesakov [Wed, 28 Feb 2018 17:56:18 +0000 (09:56 -0800)]
Merge pull request #16531 from echesakovMSFT/MakeTarget64BitMacroGlobal

Make _TARGET_64BIT_ macro global to coreclr

6 years agoARM64 Crypto intrinsics tests for AES/SHA1/SHA256
Debayan Ghosh [Wed, 28 Feb 2018 16:26:03 +0000 (21:56 +0530)]
ARM64 Crypto intrinsics tests for AES/SHA1/SHA256

6 years agoARM64 SHA256 Crypto intrinsics implementation
Debayan Ghosh [Wed, 28 Feb 2018 16:21:38 +0000 (21:51 +0530)]
ARM64 SHA256 Crypto intrinsics implementation

6 years agoARM64 SHA1 Crypto intrinsics implementation
Debayan Ghosh [Wed, 28 Feb 2018 16:00:45 +0000 (21:30 +0530)]
ARM64 SHA1 Crypto intrinsics implementation

6 years agoMark MemoryMarshal.Cast methods for aggressive inlining (#16654)
Andy Ayers [Wed, 28 Feb 2018 15:23:16 +0000 (07:23 -0800)]
Mark MemoryMarshal.Cast methods for aggressive inlining (#16654)

Inlining doesn't streamline the cast logic any, but it facilitates
caller struct promotion which can substantially boost perf.

See discussion in dotnet/corefx#27485.

6 years agoAdd Thread.GetCurrentProcessorId() API (#16650)
Jan Kotas [Wed, 28 Feb 2018 15:22:29 +0000 (07:22 -0800)]
Add Thread.GetCurrentProcessorId() API (#16650)

Contributes to https://github.com/dotnet/corefx/issues/16767

6 years agoAdding some asserts that we won't overwrite one of the hwintrinsic operand registers.
Tanner Gooding [Tue, 27 Feb 2018 15:45:35 +0000 (07:45 -0800)]
Adding some asserts that we won't overwrite one of the hwintrinsic operand registers.

6 years agoAdding tests for the implemented SSE41 hardware intrinsics
Tanner Gooding [Sun, 25 Feb 2018 17:28:36 +0000 (09:28 -0800)]
Adding tests for the implemented SSE41 hardware intrinsics

6 years agoAdding partial support for the SSE41 hardware intrinsics
Tanner Gooding [Sun, 25 Feb 2018 17:27:18 +0000 (09:27 -0800)]
Adding partial support for the SSE41 hardware intrinsics

6 years agoARM64 Aes Crypto intrinsics implementation
Debayan Ghosh [Wed, 28 Feb 2018 14:11:49 +0000 (19:41 +0530)]
ARM64 Aes Crypto intrinsics implementation

6 years agoMerge pull request #16599 from fiigii/fixstaticcast
Carol Eidt [Wed, 28 Feb 2018 08:59:44 +0000 (00:59 -0800)]
Merge pull request #16599 from fiigii/fixstaticcast

Fix generic hardware intrinsics with NotSupportedException

6 years agoFix StaticCast with NotSupportedException
Fei Peng [Wed, 28 Feb 2018 06:18:06 +0000 (22:18 -0800)]
Fix StaticCast with NotSupportedException

6 years agoAdd Path.Join() methods. (#16561)
Jeremy Kuhne [Wed, 28 Feb 2018 02:53:54 +0000 (18:53 -0800)]
Add Path.Join() methods. (#16561)

* Add Path.Join() methods.

See #25536.

* Address feedback and fix a couple issues now that I've got tests running correctly.

* Update per final API approval

* Fix Unix, remove redundant helper.

* Merge and tweak join methods in GetFullPath(string, string)

* Tweak again

6 years agoFixing lambda capture unused errors. (#16555)
Rex Morgan [Wed, 28 Feb 2018 02:53:11 +0000 (20:53 -0600)]
Fixing lambda capture unused errors. (#16555)

These errors were happening when compiling with clang 5.0.1.

Since the whole method is defined inside a #if DEBUG, it was
erroring when compiling in release mode because the lambda
variables were not being used.

6 years agoTests For GetPathRoot and Enabling NormalizeDirectorySeparatorTests (#27494)
Anirudh Agnihotry [Tue, 27 Feb 2018 20:04:53 +0000 (12:04 -0800)]
Tests For GetPathRoot and Enabling NormalizeDirectorySeparatorTests (#27494)

Corrects its Implementation too

Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
6 years agoUse the same default value of MarshalAs.IidParamIndex for both Windows and Unix ...
Jan Kotas [Wed, 28 Feb 2018 02:48:09 +0000 (18:48 -0800)]
Use the same default value of MarshalAs.IidParamIndex for both Windows and Unix (#16639)

6 years agoMerge pull request #16637 from dotnet-bot/from-tfs
Brian Sullivan [Wed, 28 Feb 2018 01:34:53 +0000 (17:34 -0800)]
Merge pull request #16637 from dotnet-bot/from-tfs

Merge changes from TFS

6 years agoMinimal Fix for the incorrect rangecheck elimination issue reported by Mike Danes
Brian Sullivan [Wed, 28 Feb 2018 00:11:23 +0000 (16:11 -0800)]
Minimal Fix for the incorrect rangecheck elimination issue reported by Mike Danes

RangeCheck::IsBinOpMonotonicallyIncreasing has a bug that results in incorrect range check elimination – when the second operand is a lclvar it does not check if it’s a positive value, it only checks if it’s monotonically increasing and any constant is treated as such.

[tfs-changeset: 1689890]

6 years agoBug in GetFullPath(basePath, Path) (#16598)
Anirudh Agnihotry [Tue, 27 Feb 2018 23:56:23 +0000 (15:56 -0800)]
Bug in GetFullPath(basePath, Path) (#16598)

* GetFullPath and GetRootLength Corrected

* Removed getpathroot

* using span

* "\\" changed to @"\"

6 years agoMerge pull request #16533 from briansull/default-fill
Brian Sullivan [Tue, 27 Feb 2018 22:00:08 +0000 (14:00 -0800)]
Merge pull request #16533 from briansull/default-fill

Implement JitDefaultFill

6 years agoChange new ThreadPool.QueueUserWorkItem method to be generic (#16570)
Stephen Toub [Tue, 27 Feb 2018 21:43:32 +0000 (16:43 -0500)]
Change new ThreadPool.QueueUserWorkItem method to be generic (#16570)

6 years agoEvent pipe guid in metadata (#16316), fixes #16105
Adam Sitnik [Tue, 27 Feb 2018 20:25:35 +0000 (21:25 +0100)]
Event pipe guid in metadata (#16316), fixes #16105

* some refactor to remove dumplicated code in tests and make them fit 1 screen

* write the failing test for no activity id

* use 17, the "free slot" of TypeCode enum to represent Guid in event pipe metadata

* remove the test which would not pass until new trace event is released and Event Pipe enabled for Windows

* added comment to TypeCode about using the value 17

* post code review fixes (thanks @justinvp)

* post code review fixes (thanks @brianrob)

* refactor the rest of event pipe tests to use NetPerfFile helper

6 years agoImplement JitDefaultFill
Brian Sullivan [Fri, 23 Feb 2018 22:06:16 +0000 (14:06 -0800)]
Implement JitDefaultFill
- Changes and bugs fixes when changing the JitDefaultFill value from 0xff to 0xdd
- Implement randomized DefaultFill for stress
- Added comment header for compGetJitDefaultFill
- Changed C style comments to C++ comments

6 years agoFix P1 test build break (#16631)
Jan Kotas [Tue, 27 Feb 2018 20:08:59 +0000 (12:08 -0800)]
Fix P1 test build break (#16631)

6 years agoadd PHASE_COMPUTE_REACHABILITY (#16574)
Sergey Andreenko [Tue, 27 Feb 2018 18:55:24 +0000 (10:55 -0800)]
add PHASE_COMPUTE_REACHABILITY (#16574)

6 years agoDebugger FIFO pipes are created in TMPDIR if defined #16234 (#16452)
crntn [Tue, 27 Feb 2018 18:42:56 +0000 (19:42 +0100)]
Debugger FIFO pipes are created in TMPDIR if defined #16234 (#16452)

Debugger FIFO pipes are created in TMPDIR if defined #16234

Init name to null termination to ensure failure if GetTempPathA fails

6 years agoAdd MemoryExtensions to CoreLib along with necessary SpanHelpers (#16521)
Ahson Khan [Tue, 27 Feb 2018 18:41:47 +0000 (10:41 -0800)]
Add MemoryExtensions to CoreLib along with necessary SpanHelpers (#16521)

* Add MemoryExtensions to CoreLib along with necessary SpanHelpers

* Make the newly added AsSpan/AsMemory into array extension methods.

* Remove StringSpanHelpers.Trim

* Leftover AsReadOnlySpan -> AsSpan for *Unix.cs files

* Address PR feedback.

* Remove duplicate methods in the Span class.

* Temporarily disable AsBytes SpanBench test.

* Add back AsBytes

* Re-enable AsBytes SpanBench test

6 years agoMerge pull request #16514 from echesakovMSFT/UseTargetPointerSizeMacro
Egor Chesakov [Tue, 27 Feb 2018 18:37:48 +0000 (10:37 -0800)]
Merge pull request #16514 from echesakovMSFT/UseTargetPointerSizeMacro

Replace sizeof(void*)-like expressions with TARGET_POINTER_SIZE macro

6 years agoDelete left-over globalization CoreCLR tests (#16571)
Jan Kotas [Tue, 27 Feb 2018 14:41:45 +0000 (06:41 -0800)]
Delete left-over globalization CoreCLR tests (#16571)

6 years agoAdd test for GC.GetAllocatedBytesForCurrentThread (#16428)
Sung Yoon Whang [Tue, 27 Feb 2018 11:56:54 +0000 (03:56 -0800)]
Add test for GC.GetAllocatedBytesForCurrentThread (#16428)

* Add test for GC.GetAllocatedBytesForCurrentThread

* modified test to fit coreclr test runner

* add testing with/without gc.collect()

* Address object size difference on x86 machines

6 years agoRe-attempt fixing case in GC reliability/stress night config (#16607)
Sung Yoon Whang [Tue, 27 Feb 2018 04:10:44 +0000 (20:10 -0800)]
Re-attempt fixing case in GC reliability/stress night config  (#16607)

* Address more config case error

6 years agoUpdate the table-driven framework to support x86 imm-intrinsics.
Fei Peng [Mon, 26 Feb 2018 21:02:12 +0000 (13:02 -0800)]
Update the table-driven framework to support x86 imm-intrinsics.
And add a new range-check IR for x86 imm-intrinsics.

6 years agoAdd tests/templates for AVX2/SSE2 shift intrinsics
Fei Peng [Thu, 22 Feb 2018 08:34:20 +0000 (00:34 -0800)]
Add tests/templates for AVX2/SSE2 shift intrinsics

6 years agoAdd tests ShiftLeft/RightLogicalVariable
Fei Peng [Tue, 13 Feb 2018 08:50:06 +0000 (00:50 -0800)]
Add tests ShiftLeft/RightLogicalVariable

6 years agoAdd AVX.Compare/CompareScalar tests
Fei Peng [Thu, 8 Feb 2018 03:30:16 +0000 (19:30 -0800)]
Add AVX.Compare/CompareScalar tests

6 years agoAdd Avx.SetZeroVector256<T> tests
Fei Peng [Wed, 7 Feb 2018 19:24:46 +0000 (11:24 -0800)]
Add Avx.SetZeroVector256<T> tests

6 years agoUpgrade TraceEvent and XUnit-Performance to the latest versions. (#16597)
Brian Robbins [Tue, 27 Feb 2018 02:01:00 +0000 (18:01 -0800)]
Upgrade TraceEvent and XUnit-Performance to the latest versions. (#16597)

6 years agoFix ascii range check (#16535)
Ben Adams [Tue, 27 Feb 2018 01:23:56 +0000 (01:23 +0000)]
Fix ascii range check (#16535)

6 years agoFix for incorrect case in GC reliability/stress night config (#16595)
Sung Yoon Whang [Tue, 27 Feb 2018 00:36:27 +0000 (16:36 -0800)]
Fix for incorrect case in GC reliability/stress night config (#16595)

* Fix case for Concurrentspin2.exe

6 years agoFix SoDBench by retargeting ASP Net feed (#16596)
Victor "Nate" Graf [Tue, 27 Feb 2018 00:19:28 +0000 (16:19 -0800)]
Fix SoDBench by retargeting ASP Net feed  (#16596)

Update aspnetcore feed

6 years agoDefine _TARGET_64BIT_ macro if not defined when _TARGET_AMD64_ or _TARGET_ARM64_...
Egor Chesakov [Fri, 23 Feb 2018 20:35:29 +0000 (12:35 -0800)]
Define _TARGET_64BIT_ macro if not defined when _TARGET_AMD64_ or _TARGET_ARM64_ in src/jit/jit.h

6 years agoAvoid async method caching of a 0 decimal task (#16588)
Stephen Toub [Mon, 26 Feb 2018 23:45:41 +0000 (18:45 -0500)]
Avoid async method caching of a 0 decimal task (#16588)

6 years agoReplace sizeof(void*)-like expressions with TARGET_POINTER_SIZE macro
Egor Chesakov [Fri, 9 Feb 2018 18:18:50 +0000 (10:18 -0800)]
Replace sizeof(void*)-like expressions with TARGET_POINTER_SIZE macro

6 years agoFixed mixed mode attach/JIT debugging. (#16552)
Mike McLaughlin [Mon, 26 Feb 2018 23:19:00 +0000 (15:19 -0800)]
Fixed mixed mode attach/JIT debugging. (#16552)

Fixed mixed mode attach/JIT debugging.

The mixed mode debugging attach uses TLS slot to communicate between debugger break-in thread and the right side. Unfortunately, the __thread static variables cannot be used on debugger breakin
thread because of it does not have storage allocated for them.

The fix is to switch the storage for debugger word to classic TlsAlloc allocated slot that works
fine on debugger break-in thread.

There was also problem (that is also in 2.0) where the WINNT_OFFSETOF__TEB__ThreadLocalStoragePointer was using the define for 64/32 bit and ended up always the 32 bit Windows value. This caused the right side GetEEThreadValue, GetEETlsDataBlock unmanaged thread functions to always fail.

6 years agoMerge pull request #16591 from BruceForstall/FixArmTestExclusions
Bruce Forstall [Mon, 26 Feb 2018 21:12:42 +0000 (13:12 -0800)]
Merge pull request #16591 from BruceForstall/FixArmTestExclusions

Fix arm32/arm64 test exclusions

6 years agoFix arm32/arm64 test exclusions
Bruce Forstall [Mon, 26 Feb 2018 20:16:11 +0000 (12:16 -0800)]
Fix arm32/arm64 test exclusions

Use the table of smarty exclusion tags in validArmWindowsScenarios
to drive what tests should be excluded.

Update the exclude table to add `R2R_EXCLUDE` (for consistency),
and tag R2R MinOpts and GCStress jobs appropriately.

Also, run Pri-1 tests for all runs except the 'innerloop' scenario.

6 years agoSimplify test dependencies for benchmarks (#16378)
Andy Ayers [Mon, 26 Feb 2018 20:41:14 +0000 (12:41 -0800)]
Simplify test dependencies for benchmarks (#16378)

Remove the special benchmark configs and update benchmark projects accordingly.
Also update other random projects that were referencing benchmark configs.

Benchmarks now build against the default standard.

Addresses #14124, #16126.

6 years agoUpdate PgoData to master-20180226-0052 (#16563)
dotnet-maestro-bot [Mon, 26 Feb 2018 17:32:08 +0000 (11:32 -0600)]
Update PgoData to master-20180226-0052 (#16563)

6 years agoDelete Single/Double.GetHashCode tests (#16567)
Jan Kotas [Mon, 26 Feb 2018 17:29:23 +0000 (09:29 -0800)]
Delete Single/Double.GetHashCode tests (#16567)

The test is failing because of change in the -NaN hashcode. CoreFX has redundant and better test coverage for these.

Fixes #16566

6 years agoMerge pull request #16396 from jashook/add_separate_buildtests_official_build_definition
Jarret Shook [Mon, 26 Feb 2018 16:57:04 +0000 (08:57 -0800)]
Merge pull request #16396 from jashook/add_separate_buildtests_official_build_definition

Separate build tests to its own pipeline

6 years agoUse overriden double/float GetHashCode for default struct hashcodes (#16550)
Jan Kotas [Mon, 26 Feb 2018 16:18:30 +0000 (08:18 -0800)]
Use overriden double/float GetHashCode for default struct hashcodes (#16550)

Fixes #16545

6 years agoDelete dead code
Jan Kotas [Mon, 26 Feb 2018 01:00:25 +0000 (17:00 -0800)]
Delete dead code

6 years agoDelete redundant (RuntimeType) casts
Jan Kotas [Mon, 26 Feb 2018 00:53:42 +0000 (16:53 -0800)]
Delete redundant (RuntimeType) casts

Replace `== (RuntimeType)typeof(` with `== typeof`. The type comparison is treated as JIT intrinsic and the extra cast makes the code for it worse.

6 years agoDelete redundant int pcaCount intializations
Jan Kotas [Mon, 26 Feb 2018 00:50:11 +0000 (16:50 -0800)]
Delete redundant int pcaCount intializations

6 years agoFix GetCustomAttribute API for DllImportAttribute pseudo custom attribute
Jan Kotas [Sun, 25 Feb 2018 20:06:05 +0000 (12:06 -0800)]
Fix GetCustomAttribute API for DllImportAttribute pseudo custom attribute

GetCustomAttribute for DllImportAttribute was throwing IndexOutOfRangeException. It made XUnit skip the rest of test methods after encoutering DllImport method in the test type.

It is regression introduced by https://github.com/dotnet/coreclr/pull/13870

Fixes https://github.com/dotnet/corefx/issues/27426

6 years agoUpdate CoreFx, PgoData to preview2-26225-02, master-20180225-0051, respectively ...
dotnet-maestro-bot [Sun, 25 Feb 2018 21:28:58 +0000 (15:28 -0600)]
Update CoreFx, PgoData to preview2-26225-02, master-20180225-0051, respectively (#16553)

6 years agoDelete printing of security transparency in SOS (#16560)
Jan Kotas [Sun, 25 Feb 2018 20:48:06 +0000 (12:48 -0800)]
Delete printing of security transparency in SOS (#16560)

Security transparency is not relevant in .NET Core.

6 years agoFixed NaN's GetHashCode and Equals invariant issue. (#16551)
Jan Kotas [Sun, 25 Feb 2018 18:30:31 +0000 (10:30 -0800)]
Fixed NaN's GetHashCode and Equals invariant issue. (#16551)

Fix #6237

6 years agoFix path issues (#16554)
Jeremy Kuhne [Sun, 25 Feb 2018 16:16:25 +0000 (08:16 -0800)]
Fix path issues (#16554)

Path tests weren't running so a few issues sneaked in.

6 years agoReturn empty array if length is zero (#16529)
kasper3 [Sat, 24 Feb 2018 20:38:21 +0000 (22:38 +0200)]
Return empty array if length is zero (#16529)

* Return empty array if length is zero

* Return true

* Add support for portable system

* Use portable span helper instead of Array.Empty

* Move to end

* Remove else

* Return empty array if length is 0 in MemoryMarshal

6 years agoUpdate CoreFx, PgoData to preview2-26224-02, master-20180223-0037, respectively ...
dotnet-maestro-bot [Sat, 24 Feb 2018 20:33:24 +0000 (14:33 -0600)]
Update CoreFx, PgoData to preview2-26224-02, master-20180223-0037, respectively (#16548)

6 years agoFix calling convention gap in DynamicILGenerator.EmitCalli (#16546)
Petar Petrov [Sat, 24 Feb 2018 18:52:01 +0000 (20:52 +0200)]
Fix calling convention gap in DynamicILGenerator.EmitCalli (#16546)

6 years agoSuppress "local variable is initialized but not used" warning (#16549)
Stephen Toub [Sat, 24 Feb 2018 18:47:52 +0000 (13:47 -0500)]
Suppress "local variable is initialized but not used" warning (#16549)

6 years agoAddress more stacktrace print issues (#16525)
Sung Yoon Whang [Sat, 24 Feb 2018 06:12:35 +0000 (22:12 -0800)]
Address more stacktrace print issues (#16525)

* Fix newline issue/duplicate message on Contract failures

* make it work on Unix as well

* cleanup

* Add a newline between error/user messages and stacktrace

6 years agoDelete eventpipetrace test. (#16534)
Brian Robbins [Sat, 24 Feb 2018 05:47:40 +0000 (21:47 -0800)]
Delete eventpipetrace test. (#16534)

6 years agoMark sharedgenerics test as GCStressIncompatible (#16507)
Michal Strehovský [Sat, 24 Feb 2018 03:17:36 +0000 (04:17 +0100)]
Mark sharedgenerics test as GCStressIncompatible (#16507)

6 years agoUpdate BuildTools to 2.1.0-preview2-02522-03 (#16532)
Davis Goodin [Sat, 24 Feb 2018 02:20:28 +0000 (20:20 -0600)]
Update BuildTools to 2.1.0-preview2-02522-03 (#16532)

6 years ago[Arm64/Windows] Make r2r green in CI
Steve MacLean [Sat, 24 Feb 2018 01:05:55 +0000 (20:05 -0500)]
[Arm64/Windows] Make r2r green in CI

6 years agoEnabling CLR implemented write watch on AMD64 on Windows. (#16516)
Maoni Stephens [Sat, 24 Feb 2018 00:41:03 +0000 (16:41 -0800)]
Enabling CLR implemented write watch on AMD64 on Windows. (#16516)

6 years agoAdd definition _TARGET_64BIT_ in clrdefinitions.cmake
Egor Chesakov [Fri, 23 Feb 2018 20:34:56 +0000 (12:34 -0800)]
Add definition _TARGET_64BIT_ in clrdefinitions.cmake

6 years agoRemove StringBuffer and use ValueStringBuilder (#16512)
Jeremy Kuhne [Fri, 23 Feb 2018 18:37:17 +0000 (10:37 -0800)]
Remove StringBuffer and use ValueStringBuilder (#16512)

* Remove StringBuffer and use ValueStringBuilder

* Address initial feedback

* Address further feedback

* Address some more feedback

* Put back the temporary builder for output.

* Make the temp var ref

6 years agoJIT: don't trust field offsets in R2R for nullcheck bypass (#16492)
Andy Ayers [Fri, 23 Feb 2018 16:51:15 +0000 (08:51 -0800)]
JIT: don't trust field offsets in R2R for nullcheck bypass (#16492)

When the jit is forming an field address to pass off to points unknown
it will nullcheck at the point of creation, unless it can prove that the
field is at offset zero. Unfortunately in R2R mode field offsets may not
final and so a zero value seen when prejitting may end up being nonzero
when the code is loaded and fixed up and fool the jit into omitting a null
check that is potentially needed.

So in R2R mode, if a field offset is going to be fixed up, always emit null
checks.

Fixes #16454.

6 years agoFix preventing memory allocation in signal handler (#16485)
Jan Vorlicek [Fri, 23 Feb 2018 09:40:54 +0000 (10:40 +0100)]
Fix preventing memory allocation in signal handler (#16485)

There was a subtle bug. When the hardware exception handler returns back
to the signal handler, the exception's CONTEXT record may contain
modified registers and so the changes need to be propagated back to the
signal context. But the recent change #16384 was restoring the signal
context from the originally grabbed context instead of the one that's
pointed to by the exception, which is different.

I have also added a little optimization - the contextRecord that was
added is not needed, since the signalContextRecord can be used as the
initial context record for the exception. So we can save the
contextRecord and also copying to the signalContextRecord from it.

6 years agoFix build break with older VS versions (#16522)
Jan Kotas [Fri, 23 Feb 2018 08:17:45 +0000 (00:17 -0800)]
Fix build break with older VS versions (#16522)

6 years agoAdding a TODO-XArch to `Lowering::ContainCheckHWIntrinsic` to track https://github...
Tanner Gooding [Thu, 22 Feb 2018 06:57:05 +0000 (22:57 -0800)]
Adding a TODO-XArch to `Lowering::ContainCheckHWIntrinsic` to track https://github.com/dotnet/coreclr/issues/16497

6 years agoAdding the missing function header comments to hwintrinsiccodegenxarch.cpp
Tanner Gooding [Thu, 22 Feb 2018 06:51:25 +0000 (22:51 -0800)]
Adding the missing function header comments to hwintrinsiccodegenxarch.cpp

6 years agoAsReadOnlySpan -> AsSpan rename to fix build breaks
Jan Kotas [Fri, 23 Feb 2018 02:49:03 +0000 (18:49 -0800)]
AsReadOnlySpan -> AsSpan rename to fix build breaks