Skip to content
This repository has been archived by the owner on Nov 1, 2020. It is now read-only.

Merge master to nmirror #5466

Closed
wants to merge 86 commits into from
Closed

Merge master to nmirror #5466

wants to merge 86 commits into from

Conversation

MichalStrehovsky
Copy link
Member

No description provided.

jkotas and others added 30 commits February 17, 2018 19:07
CoreRT is using System.Runtime.Extensions.dll compiled for CoreCLR, not CoreRT. System.Runtime.Extensions depends on Marshal.ThrowExceptionForHR in CoreLib.

Also made Marshal.ThrowExceptionForHR to throw COMException instead PlatformNotSupportedException for CoreRT without COM interop support. It should eventually probably map the HResult to exception even without the COM support once the interop is factored better.

Fixes #5373
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
* accommondate -> accommodate

* aligment -> alignment

* apppropriate -> appropriate

* artifically -> artificially

* artifical -> artificial

* gaurantee -> guarantee

* Asssembly -> Assembly

* asychnronously -> asynchronously
Seems like this got unblocked and I was able to get a clean build and test run with this.

Fixes #2856.
We stopped supporting VS 2015 a while ago, but running CoreCLR tests didn't actually work without it because we forgot to update a place.
* begining -> beginning

* boundry -> boundary

* cachced -> cached

* calback -> callback

* callled -> called

* chosing -> choosing

* clearded -> cleared

* commiting -> committing

* Compactiony -> Compaction

* contruct -> construct

* cooresponding -> corresponding

* coresponding -> corresponding

* cuase -> cause
Picks up the latest version of Pri0 tests (as of yesterday).

There was a massive cleanup of Pri0 tests on the CoreCLR side so we now run only about 2000 tests. Hopefully, they're more representative now. Most of what we picked as "Top200" was no longer part of the Pri0 suite, so I made a new one.

We might want to consider switching to Pri1 for the rolling builds.
Indexer that let's you see and edit the content of the pending string is more efficient and flexible.

Fixes #26643

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

* Feedback

* spelling

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
* Moved extensions.cs to shared folder

* added to shared to projItems

* Added new constructor

* Parameter Named Changed

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
* Dial back aggressive checks in Path

Aggressive checks are preventing crossplat and extended Windows solutions. This change:

- Doesn't throw on empty paths fro GetDirectoryName, GetPathRoot
- Doesn't consider colon when looking at path segments on Windows
- Moves non-shared code out of PathInternal
- Fix span GetDirectoryName to handle multiple separators

* Comment updates

* Check for valid drive letter with PathRoot
Remove other usages of PathSkip (related to #16311)

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
…cannot create the stub (#5406)

- Remove WINRT ifdef from GetDelegateForFunctionPointer to consistently throw MissingInteropDataException instead of returning null. Fixes #5162.
- Move McgPInvokeData set of structure to System.Private.Interop since it is MCG specific
- Rename a few things for consistency (e.g. PInvokeMarshal.GetPInvokeDelegateForStub did not make sense since it operates on user supplied function pointers, not stubs)
MarshalImpl is an extra layer without clear purpose. Also made MarshalAdapter to be included in CoreCLR/Mono builds only.
Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Trying to debug ILCompiler in Visual Studio was failing with missing assemblies. The problem was caused by recently added libLLVMdep.depproj reference that made NuGet delete certain files from the output tools directory. The fix is to move the .depproj reference to a different part of the build next to other similar .depproj reference where it won't be confusing NuGet.
…s (#27338)

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

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
…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.

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
* 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

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
…th globalization support (#16467)

* Add ReadOnlySpan string-like Equals/CompareTo/IndexOf/Contains API with globalization support

* Address PR feedback.

* Fix unix implementation

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
MichalStrehovsky and others added 4 commits February 28, 2018 21:19
This is a recursive algorithm and there's a pathological test in the CoreCLR test assets that has been timing out ever since the code was introduced.

Made the cache a bit more general purpose, since I'm expecting this to be reused for more things later.
…#27494)

Corrects its Implementation too

Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
* 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

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Add CA2111 SuppressMessage for these MSDN documented public Pointers
@nattress
Copy link
Contributor

nattress commented Mar 1, 2018

What are you blocked on exactly? Does this mean we'll no longer be able to consume uwp6.0 corefx in ProjectN?

@MichalStrehovsky
Copy link
Member Author

MichalStrehovsky commented Mar 1, 2018

What are you blocked on exactly? Does this mean we'll no longer be able to consume uwp6.0 corefx in ProjectN?

We need a new version of System.Memory because the CoreLib change is removing a method the old version relied on.

warning : ILTransform : warning ILT0003: Method 'MemoryExtensions.NonPortableCast(ReadOnlySpan<TFrom>)' will always throw an exception due to the missing method 'Span.NonPortableCast<TFrom, TTo>(ReadOnlySpan<TFrom>)' in assembly 'System.Private.CoreLib'. There may have been a missing assembly, or a dependency on a more recent Windows SDK release.

This won't affect our ability to consume uwp6.0 because none of uwp6.0 has Span.

jcouv and others added 22 commits March 1, 2018 00:01
* Use correct name to fetch embedded resource

* Fix the test project

* Use GetTypeInfo().Assembly
)

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.

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Fixes dotnet/corefx#27554

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
* 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>
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
…ensibility

Implement ValueTask extensibility

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
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.

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
…#16689)

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
…Array (#16692)

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

* Move MemoryExtensions.TryGetString to MemoryMarshal and remove TryGetArray

* Move TryGetString to common MemoryMarshal.cs

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

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
These do unsafe casts on an object, and we don't want a debugger's automatic evaluation accidentally invoking them.  That means either making them methods or adding [DebuggerBrowsable(DebuggerBrowsableState.Never)], and the former seems cleaner.

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
The change in the P/invoke signature that came from CoreCLR triggers a bug in MCG on the TFS side.
The returned data from ICU has 6th month name as 'Adar I' and 7th month name as 'Adar'
We need to adjust that in the list used with non-leap year to have 6th month as 'Adar' and 7th month as 'Adar II'
note that when formatting non-leap year dates, 7th month shouldn't get used at all.

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
* Vectorize String.IndexOf(char) using the same algorithm as SpanHelpers
IndexOf(byte).

* Respond to feedback.

* Vectorize String.LastIndexOf

Clean up IndexOf vectorization.

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.