Age | Commit message (Collapse) | Author |
|
The change in the P/invoke signature that came from CoreCLR triggers a bug in MCG on the TFS side.
|
|
|
|
|
|
|
|
* 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>
|
|
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>
|
|
The change in the P/invoke signature that came from CoreCLR triggers a bug in MCG on the TFS side.
|
|
|
|
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>
|
|
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>
|
|
(#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>
|
|
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>
|
|
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>
|
|
Implement ValueTask extensibility
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>
|
|
Fixes dotnet/corefx#27554
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>
|
|
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>
|
|
* Use correct name to fetch embedded resource
* Fix the test project
* Use GetTypeInfo().Assembly
|
|
|
|
Add CA2111 SuppressMessage for these MSDN documented public Pointers
|
|
* 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>
|
|
Corrects its Implementation too
Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
|
|
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.
|
|
|
|
|
|
* Implement intrinsic call to InitializeArray.
RuntimeHelpers.InitializeArray is implemented as a call to LLVM
intrinsic llvm.memcpy.p0i8.p0i8.i32, which copies from generated global
constant to provided target array.
Currently the base size of the array object is hardcoded to 8, since no
EEType is provided in the intrinsic call.
Fix #5345.
Add testing code for InitializeArray in HelloWasm.
Roslyn generates RuntimeHelpers.InitializeArray for arrays of integral
types with initializer of length greater or equal than 3. Here we use
this feature to generate a call to RuntimeHelpers.InitializeArray for
test.
Catagorize array argument types in InitializeArray
Differently handle vectors, multidimensional arrays and object typed
arrays in InitializeArray intrinsic.
|
|
* GetFullPath and GetRootLength Corrected
* Removed getpathroot
* using span
* "\\" changed to @"\"
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
|
|
* 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
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
|
|
|
|
|
|
|
|
|
|
* 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
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
|
|
This change removes the "standalone exe mode" flag that MRT used for speeding up lookup of the Array class; the change is problematic in optional component context where MRT may end up registering several "single-file" modules.
Thanks
Tomas
[tfs-changeset: 1689848]
|
|
Merge nmirror to master
|
|
|
|
The implementation relies on a new virtual method on `System.ValueType` that provides information about fields on a type. An override of this method is injected by the compiler when needed.
This implementation is different from what Project N does (where we inject actual overrides of both methods). The CoreRT implementation is a bit more space-saving because there is only one method that does fewer things.
This ends up being a 0.9% regression in size of a hello world app, but we do get some correctness with it and a potential to get the reflection stack completely out of the base hello world image (that one will be a huge win). We can get some of the regression back by:
* Getting RyuJIT to generate more efficient code for the offset calculation (dotnet/coreclr#16527)
* Making fewer things reflectable. We're currently generating the data for e.g. OSVERSIONINFO because it's used as a parameter in a method that is reflectable, and therefore the parameter gets boxed, and therefore it needs this data. It also drags in a fixed buffer internal type because it's a valuetype field on OSVERSIONINFO. This alone costs us 100+ bytes.
|
|
Port CoreCLR #16588. This is under #if 0 in CoreRT right now, but it does not hurt to keep it in sync.
|
|
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
|
|
Having a call to `IsByRefLike` in the type unifier meant that an app that uses a simple `typeof()` would require the full reflection stack to be present in the image (all of the custom attribute resolution, method resolution, etc.).
This is a step towards having a more pay for play framework (a hello world EXE really should not have the full reflection stack compiled in it).
|
|
* interruptbile -> interruptible
* legnth -> length
* neccessary -> necessary
* neeed -> need
* occurance -> occurrence
* occuring -> occurring
* otheriwse -> otherwise
* Ouput -> Output
* Ouput -> Output
* peformed -> performed
|
|
Fix #6237
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
|
|
Path tests weren't running so a few issues sneaked in.
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
|
|
* 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
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
|