Stephen Toub [Thu, 1 Mar 2018 03:25:02 +0000 (22:25 -0500)]
Add token to IValueTaskSource
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.
Alfred Myers [Thu, 1 Mar 2018 03:55:33 +0000 (00:55 -0300)]
Minor documentation improvements (#16677)
Victor "Nate" Graf [Thu, 1 Mar 2018 02:03:12 +0000 (18:03 -0800)]
Create test for rundown events with EventPipe (#16667)
Jan Kotas [Thu, 1 Mar 2018 01:28:30 +0000 (17:28 -0800)]
Delete unnecesary StackCrawlMarks (#16648)
CAS leftovers
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)
Brian Robbins [Wed, 28 Feb 2018 22:16:49 +0000 (14:16 -0800)]
Update EventSource* Tests for EventPipe (#16645)
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
Tanner Gooding [Wed, 28 Feb 2018 04:40:19 +0000 (20:40 -0800)]
Set isInternalRegDelayFree for several of the x86 hwintrinsics
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
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
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.
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
Debayan Ghosh [Wed, 28 Feb 2018 16:26:03 +0000 (21:56 +0530)]
ARM64 Crypto intrinsics tests for AES/SHA1/SHA256
Debayan Ghosh [Wed, 28 Feb 2018 16:21:38 +0000 (21:51 +0530)]
ARM64 SHA256 Crypto intrinsics implementation
Debayan Ghosh [Wed, 28 Feb 2018 16:00:45 +0000 (21:30 +0530)]
ARM64 SHA1 Crypto intrinsics implementation
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.
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
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.
Tanner Gooding [Sun, 25 Feb 2018 17:28:36 +0000 (09:28 -0800)]
Adding tests for the implemented SSE41 hardware intrinsics
Tanner Gooding [Sun, 25 Feb 2018 17:27:18 +0000 (09:27 -0800)]
Adding partial support for the SSE41 hardware intrinsics
Debayan Ghosh [Wed, 28 Feb 2018 14:11:49 +0000 (19:41 +0530)]
ARM64 Aes Crypto intrinsics implementation
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
Fei Peng [Wed, 28 Feb 2018 06:18:06 +0000 (22:18 -0800)]
Fix StaticCast with NotSupportedException
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
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.
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>
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)
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
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]
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 @"\"
Brian Sullivan [Tue, 27 Feb 2018 22:00:08 +0000 (14:00 -0800)]
Merge pull request #16533 from briansull/default-fill
Implement JitDefaultFill
Stephen Toub [Tue, 27 Feb 2018 21:43:32 +0000 (16:43 -0500)]
Change new ThreadPool.QueueUserWorkItem method to be generic (#16570)
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
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
Jan Kotas [Tue, 27 Feb 2018 20:08:59 +0000 (12:08 -0800)]
Fix P1 test build break (#16631)
Sergey Andreenko [Tue, 27 Feb 2018 18:55:24 +0000 (10:55 -0800)]
add PHASE_COMPUTE_REACHABILITY (#16574)
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
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
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
Jan Kotas [Tue, 27 Feb 2018 14:41:45 +0000 (06:41 -0800)]
Delete left-over globalization CoreCLR tests (#16571)
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
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
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.
Fei Peng [Thu, 22 Feb 2018 08:34:20 +0000 (00:34 -0800)]
Add tests/templates for AVX2/SSE2 shift intrinsics
Fei Peng [Tue, 13 Feb 2018 08:50:06 +0000 (00:50 -0800)]
Add tests ShiftLeft/RightLogicalVariable
Fei Peng [Thu, 8 Feb 2018 03:30:16 +0000 (19:30 -0800)]
Add AVX.Compare/CompareScalar tests
Fei Peng [Wed, 7 Feb 2018 19:24:46 +0000 (11:24 -0800)]
Add Avx.SetZeroVector256<T> tests
Brian Robbins [Tue, 27 Feb 2018 02:01:00 +0000 (18:01 -0800)]
Upgrade TraceEvent and XUnit-Performance to the latest versions. (#16597)
Ben Adams [Tue, 27 Feb 2018 01:23:56 +0000 (01:23 +0000)]
Fix ascii range check (#16535)
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
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
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
Stephen Toub [Mon, 26 Feb 2018 23:45:41 +0000 (18:45 -0500)]
Avoid async method caching of a 0 decimal task (#16588)
Egor Chesakov [Fri, 9 Feb 2018 18:18:50 +0000 (10:18 -0800)]
Replace sizeof(void*)-like expressions with TARGET_POINTER_SIZE macro
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.
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
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.
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.
dotnet-maestro-bot [Mon, 26 Feb 2018 17:32:08 +0000 (11:32 -0600)]
Update PgoData to master-
20180226-0052 (#16563)
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
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
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
Jan Kotas [Mon, 26 Feb 2018 01:00:25 +0000 (17:00 -0800)]
Delete dead code
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.
Jan Kotas [Mon, 26 Feb 2018 00:50:11 +0000 (16:50 -0800)]
Delete redundant int pcaCount intializations
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
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)
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.
Jan Kotas [Sun, 25 Feb 2018 18:30:31 +0000 (10:30 -0800)]
Fixed NaN's GetHashCode and Equals invariant issue. (#16551)
Fix #6237
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.
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
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)
Petar Petrov [Sat, 24 Feb 2018 18:52:01 +0000 (20:52 +0200)]
Fix calling convention gap in DynamicILGenerator.EmitCalli (#16546)
Stephen Toub [Sat, 24 Feb 2018 18:47:52 +0000 (13:47 -0500)]
Suppress "local variable is initialized but not used" warning (#16549)
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
Brian Robbins [Sat, 24 Feb 2018 05:47:40 +0000 (21:47 -0800)]
Delete eventpipetrace test. (#16534)
Michal Strehovský [Sat, 24 Feb 2018 03:17:36 +0000 (04:17 +0100)]
Mark sharedgenerics test as GCStressIncompatible (#16507)
Davis Goodin [Sat, 24 Feb 2018 02:20:28 +0000 (20:20 -0600)]
Update BuildTools to 2.1.0-preview2-02522-03 (#16532)
Steve MacLean [Sat, 24 Feb 2018 01:05:55 +0000 (20:05 -0500)]
[Arm64/Windows] Make r2r green in CI
Maoni Stephens [Sat, 24 Feb 2018 00:41:03 +0000 (16:41 -0800)]
Enabling CLR implemented write watch on AMD64 on Windows. (#16516)
Egor Chesakov [Fri, 23 Feb 2018 20:34:56 +0000 (12:34 -0800)]
Add definition _TARGET_64BIT_ in clrdefinitions.cmake
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
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.
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.
Jan Kotas [Fri, 23 Feb 2018 08:17:45 +0000 (00:17 -0800)]
Fix build break with older VS versions (#16522)
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
Tanner Gooding [Thu, 22 Feb 2018 06:51:25 +0000 (22:51 -0800)]
Adding the missing function header comments to hwintrinsiccodegenxarch.cpp
Jan Kotas [Fri, 23 Feb 2018 02:49:03 +0000 (18:49 -0800)]
AsReadOnlySpan -> AsSpan rename to fix build breaks
Atsushi Kanamori [Wed, 21 Feb 2018 19:48:51 +0000 (11:48 -0800)]
Rename string-slicing extension methods (dotnet/corefx#27328)
* Rename string-slicing extension methods
As part of
https://github.com/dotnet/corefx/issues/26894
the api folks have approved renaming AsROSpan and AsROMemory
on string instances to AsSpan and AsMemory (as the "readonly"
is obvious given the read-only nature of the input.)
This puts the renaming in effect. Basically a big search-replace
commit.
* Fix OpenSSL build break
* I see this is going to be a treadmill
Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
Carol Eidt [Fri, 23 Feb 2018 00:12:19 +0000 (16:12 -0800)]
Merge pull request #16511 from CarolEidt/FixDD541653
Handle a restored double Interval at block boundary
dotnet-maestro-bot [Thu, 22 Feb 2018 23:33:37 +0000 (17:33 -0600)]
Update BuildTools, CoreClr, CoreFx, PgoData to preview2-02522-02, preview2-26222-07, preview2-26222-04, master-
20180222-0036, respectively (#16501)
Carol Eidt [Thu, 22 Feb 2018 22:31:02 +0000 (14:31 -0800)]
Handle a restored double Interval at block boundary
During the process of freeing registers that are no longer live at the start of a new block, we may restore a 'previousInterval'. If that is a double (and the freed interval was float), we need to skip the next float.
Ahson Khan [Thu, 22 Feb 2018 21:01:35 +0000 (13:01 -0800)]
Add ReadOnlySpan string-like Equals/CompareTo/IndexOf/Contains API with globalization support (#16467)
* Add ReadOnlySpan string-like Equals/CompareTo/IndexOf/Contains API with globalization support
* Address PR feedback.
* Fix unix implementation
Jeremy Kuhne [Thu, 22 Feb 2018 20:13:59 +0000 (12:13 -0800)]
Remove most preemptive checks from GetFullPath (#16478)
* Removing the colon block that tosses out paths that are not device path.
Fixes: #26359
* Striping 2nd and 3rd args of PathHelper.Normalize
* Build on Maryam's changes
- Remove all path validity checks outside of
- Null
- Embedded null
- Empty or all spaces (effectively empty)
- Remove PathStartSkip helper
- Use span overloads for StringBuffer usage
- Clean up some comments
* Address feedback
* Tweak to match other AsSpan methods
Carol Eidt [Thu, 22 Feb 2018 19:21:32 +0000 (11:21 -0800)]
Merge pull request #16473 from CarolEidt/FixDD541648
LEA on rhs of block copy can't be contained
Atsushi Kanamori [Thu, 22 Feb 2018 19:16:25 +0000 (11:16 -0800)]
Add CoreLib helpers for MemoryExtensions.AsSpan/AsMemory(T[], int) (#16505)
* Add CoreLib helpers for MemoryExtensions.AsSpan/AsMemory(T[], int)
(Part of https://github.com/dotnet/corefx/issues/26894)
We intentionally don't have (T[], int] constructor overloads
for Span and Memory. So as not to incur unnecessary argument checks,
we implement this directly in CoreLib and will invoke it from
CoreFx for the fast-Span version.
* Expose an internal array-int constructor instead.
gbalykov [Thu, 22 Feb 2018 17:47:46 +0000 (20:47 +0300)]
Remove relocations for MethodTable::m_pParentMethodTable for Linux ARM (#15915)
Ahson Khan [Thu, 22 Feb 2018 16:02:20 +0000 (08:02 -0800)]
Fix impl of ReadOnlySpan ToLower/ToUpper for Unix. (#16496)
Brian Sullivan [Thu, 22 Feb 2018 07:40:32 +0000 (23:40 -0800)]
Merge pull request #16475 from briansull/vso-569605
Fix for assert during CSE processing