Age | Commit message (Collapse) | Author | Files | Lines |
|
Fixes #16545
|
|
|
|
Replace `== (RuntimeType)typeof(` with `== typeof`. The type comparison is treated as JIT intrinsic and the extra cast makes the code for it worse.
|
|
|
|
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
|
|
Security transparency is not relevant in .NET Core.
|
|
Fix #6237
|
|
Path tests weren't running so a few issues sneaked in.
|
|
* 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
|
|
|
|
|
|
* 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
|
|
* 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
|
|
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.
|
|
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.
|
|
|
|
https://github.com/dotnet/coreclr/issues/16497
|
|
|
|
|
|
* 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>
|
|
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.
|
|
globalization support (#16467)
* Add ReadOnlySpan string-like Equals/CompareTo/IndexOf/Contains API with globalization support
* Address PR feedback.
* Fix unix implementation
|
|
* 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
|
|
LEA on rhs of block copy can't be contained
|
|
* 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.
|
|
|
|
|
|
Fix for assert during CSE processing
|
|
|
|
Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
|
|
|
|
* Disable inducedgc test when GCStress is enabled.
* Suppress host contract violation in EventPipe::WalkManagedStackForThread.
|
|
Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
|
|
|
|
|
|
* Show the expected stack trace from a rethrown exception.
Fix #15780
* Remove now unused methods
- StackTraceArray::AppendSkipLast
- StackTraceElement::PartiallyEqual
- StackTraceElement::PartialAtomicUpdate
|
|
|
|
Assertion failed '!comp->gtTreeHasSideEffects(tree, GTF_PERSISTENT_SIDE_EFFECTS_IN_CSE)'
Fixes VSO 569605
|
|
Disable tiered compilation for collectible assemblies
- An assembly can be marked collectible with methods not marked as dynamic
- The method desc and code can be deleted and a new method desc reallocated in the same location, code versioning doesn't handle this at the moment
|
|
We don't usually create an LEA on the rhs of a block copy - we check the type of the indir, and if it's struct we avoid the copy. However, in this case, the rhs was the address of a scalar field within a struct, so the indir was not TYP_STRUCT.
|
|
* 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)
|
|
* Moved extensions.cs to shared folder
* added to shared to projItems
* Added new constructor
* Parameter Named Changed
|
|
This change causes crashes due to incorrect TLS variable initialization
on Alpine Linux. The initial-exec model that the variable was modified
to use recently cannot be safely used in shared libraries.
|
|
* Add TryGetOwnedMemory
* Feedback
* spelling
|
|
Implement SSE4.1 LoadAlignedVector128NonTemporal
|
|
* Do not allocate exception for signal from non managed code
If the signal occurs in not managed code we cannot use heap.
We should call signal-safe functions only from signal handler.
Create exception object on stack for checking source of signal.
If signal is from managed code we can use memory allocation to create
persistent exception on heap as copy of volatile exception on stack.
If signal from unmanaged code we do nothing and call base signal handler.
fix https://github.com/dotnet/coreclr/issues/16338
|
|
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>
|
|
Handle TYP_SIMD8 correctly in genCodeForLclFld
|
|
When loading a TYP_SIMD8 local field movsd should be used, not movups. Unlike ins_Move_Extend, ins_Load does the right thing and it's consistent with indirs.
|