Age | Commit message (Collapse) | Author |
|
Microsoft.NET.ILLink.Tasks
From Version 7.0.100-1.22205.1 -> To Version 7.0.100-1.22213.2
|
|
Microsoft.NET.ILLink.Tasks
From Version 7.0.100-1.22205.1 -> To Version 7.0.100-1.22212.1
|
|
Same is done at SDK level
|
|
|
|
Microsoft.NET.ILLink.Tasks
From Version 7.0.100-1.22205.1 -> To Version 7.0.100-1.22211.1
|
|
|
|
Microsoft.NET.ILLink.Tasks
From Version 7.0.100-1.22205.1 -> To Version 7.0.100-1.22208.1
|
|
The GetSerializationCtor doesn't seem to be used. It's actually not in the build output since it's trimmed away. With the improved linker it produces a warning (correctly), but as it's not needed, it can be removed.
|
|
Microsoft.NET.ILLink.Tasks
From Version 7.0.100-1.22205.1 -> To Version 7.0.100-1.22207.1
|
|
Microsoft.NET.ILLink.Tasks
From Version 7.0.100-1.22205.1 -> To Version 7.0.100-1.22206.2
|
|
|
|
Needed for some perf scenarios.
|
|
* Split Reflection and SourceGen TypeInfos
* Apply PR feedback
* improve exception unwrapping
|
|
* Refactoring.
* Added null-indexing check.
* Cleaning ValueTypeClass.
* Moving public method below private fields.
* Applied @radical's comments about readonly fields and method names simplification.
* Rename and correct switch case error.
Switch case should be based on GetValues result, not GetValueTypeClass.
|
|
|
|
|
|
* System.Runtime no longer needs to enable preview features
* Remove diagnostic suppression around VirtualStaticsInInterfaces
* Remove remaining CA2252 suppressions for VirtualStaticsInInterfaces
|
|
Co-authored-by: Petteri Stenius <petteri.stenius@gmail.com>
|
|
This reverts commit 548bb581b632b40c8caf1aa39514590b7b183926.
|
|
|
|
Co-authored-by: Jose Perez Rodriguez <joperezr@microsoft.com>
|
|
* Update dependencies from https://github.com/dotnet/linker build 20220404.1
Microsoft.NET.ILLink.Tasks
From Version 7.0.100-1.22178.1 -> To Version 7.0.100-1.22204.1
* Update dependencies from https://github.com/dotnet/linker build 20220405.1
Microsoft.NET.ILLink.Tasks
From Version 7.0.100-1.22178.1 -> To Version 7.0.100-1.22205.1
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
|
|
|
|
|
|
The JIT sources pretty much already compiled under this mode except for
one thing that could just be fixed by removing the code. This will catch
some obvious bugs, like passing 'false' as a pointer.
|
|
(#67277)
* [mono][llvm] Remove support for llvm 9.x, the 11.x support is stable enough.
* Use llvm 11.x APIs in some places.
* Remove cmake support for llvm 9.x as well.
|
|
C# now supports defining `checked` variants of the following user-defined operators so that users can opt into or out of overflow behavior as appropriate:
* The `++` and `--` unary operators [§11.7.14](https://github.com/dotnet/csharpstandard/blob/draft-v6/standard/expressions.md#11714-postfix-increment-and-decrement-operators) and [§11.8.6](https://github.com/dotnet/csharpstandard/blob/draft-v6/standard/expressions.md#1186-prefix-increment-and-decrement-operators).
* The `-` unary operator [§11.8.3](https://github.com/dotnet/csharpstandard/blob/draft-v6/standard/expressions.md#1183-unary-minus-operator).
* The `+`, `-`, `*`, and `/` binary operators [§11.9](https://github.com/dotnet/csharpstandard/blob/draft-v6/standard/expressions.md#119-arithmetic-operators).
* Explicit conversion operators.
Motivation:
There is no way for a user to declare a type and support both checked and unchecked versions of an operator. This makes it hard to port various algorithms to use the proposed `generic math` interfaces exposed by the libraries team. Likewise, this makes it impossible to expose a type such as `Int128` or `UInt128` without the language simultaneously shipping its own support to avoid breaking changes.
This change adds names for the new checked operators to the specification.
|
|
These were accidentally left enabled.
|
|
(#67638)
Contributes to #67612
|
|
* Change Regex UnicodeCategoryRanges to use spans
This avoids the overhead of allocating this data in large byte arrays.
* Clean up after merge
|
|
- Today for a set like [\r\n], we'll emit a comparison that compares the char to each of '\r' and '\n', but for a set like [^\r\n], we end up falling back to emitting a lookup table. With this PR, we simply use the existing support for the non-negating case, just negating the result.
- Today for a set like [\p{IsGreek}\p{IsGreekExtended}] that ends up being two ranges, we'll fall back to our lookup table. With this PR, we'll emit it as two range checks.
- Today for a set like [A-Za-z], we'll fall back to our lookup table. As a special case of two-range support, with this PR we'll now recognize that these ranges are just one bit flip away from each other, and we'll employ the normal ASCII casing to do a single range comparison against the input or'd with a mask.
- Today as a fallback, we employ a lookup table stored in a string; this requires a bounds check, dereferencing the string object, doing the math to find the right index, doing the math to find the right bit, etc. With this PR, for sets composed only of ranges where the exclusiveMax - inclusiveMin <= 64, with this PR we'll now emit it as a lookup into a ulong that's done in a branchless fashion and is much faster.
- It appears to be relatively common for folks to use [\d\D], [\w\W], or [\s\S] as a simple way of saying "match anything"; RegexOptions.Singleline changes '.' to mean this as well. We already have special handling for '.' with Singleline as "AnyClass"... this just normalizes those other common representations into the same shape so that everyhing else recognizes them accordingly.
- Today when we see an AnyClass, we emit a nonsense comparison that always results in true (or false for negations); that's because, for a while, the expression given to the matching routine may have had side effects. There are no longer side effects, though, so it's ok to just emit "true" or "false" directly and make the operation cheaper.
- For every optimization we have in MatchCharacterClass, we should always be able to handle negation trivially.
- Handle character classes composed of multiple UnicodeCategories. This helps with composed categories, like \p{N}.
- Fix hard-coded char class strings for \W and \S. There are multiple ways to invert a RegexCharClass string: you can invert the whole string by just setting the invert flag, or you can invert all the individual components, e.g. if the string is composed of only categories, invert each category. The hardcoded string the parser uses when you write \W simply sets the negated bit, but this causes problems if \W is used as [\W], because then the individual components are added into a larger set that doesn't have negation set. And that means \W and [\W] result in different strings, which means any place we special-case the string for \W, we don't recognize [\W]. The same applies to \S. This commit changes the hardcoded string for \W and \S to use the more canonical form. Also, the implementation generally uses "set" and "class" interchangeably, but when specifying the ECMA-related strings, it uses "set" to actually mean "ranges", which is very confusing. I've changed them.
|
|
safe regions (#65994)
Introduce write barriers in key parts of the wasm bindings and migrate most code to use ref/out parameters instead of passing raw managed pointers as arguments or return values.
Introduced MonoObjectRef typescript type and corresponding 'R' signature char (for 'ref/out object')
Marked various old/unsafe code as deprecated
Fixed some incorrect rooting in websocket APIs
Introduced 'volatile' attribute on various C pointers in the bindings
Added GC unsafe/safe regions in key parts of the C bindings
Expanded exported APIs
|
|
* add AssertExtensions.Eqal(string, string) that logs entire content if provided strings are not equal
* log entire content to see which assertion fails
|
|
* Add CipherSuitesPolicy support for MsQuic
* Add tests
* Code review feedback
* Fix test
|
|
|
|
(#67184)
* Changing the logic for how we deal with RegexOptions.IgnoreCase
matching.
* Addressing first round of feedback
* Addressing more feedback.
* - Ensure that Backreferences use the same case behavior that the casing table does when using IgnoreCase.
- Addressing more feedback.
* Apply suggestions from code review
Co-authored-by: Stephen Toub <stoub@microsoft.com>
* Address more feedback
* Fix allocation regression for patterns with a lot of ascii letters
* Skip few tests in Browser and .NET Framework
* Skip one more test that shouldn't be ran on wasm
* Address more PR Feedback
* More feedback
* Skip tests that are failing in NLS-globalization queues
Co-authored-by: Stephen Toub <stoub@microsoft.com>
|
|
* Use ComSmartPtr in tests
See https://github.com/dotnet/winforms/pull/6743#discussion_r837019661 for discussion
Co-authored-by: Aaron Robinson <arobins@microsoft.com>
|
|
OptionsMonitorTest.TestCurrentValueDoesNotAllocateOnceValueIsCached (#67613)
Created a tracking issue so that it can be fixed at a later date and not block the extra-platforms rolling build.
https://github.com/dotnet/runtime/issues/67611
|
|
Fixes https://github.com/dotnet/runtime/issues/61920
Fixed by https://github.com/dotnet/runtime/pull/66739
|
|
reasons (#67593)
* Move tests that touch the network to outerloop only for infra-stability reasons
* PR feedback
|
|
It's currently incompatible with the W^X changes, and there's another rare issue that may cause a crash when checking if a precode target is a jump stub.
Memory impact on x64:
Calling and tiering up ~10 K empty methods causes the following amount of memory to remain.
Methods with stubs: 10139
Memory usage: ~876 KB
Memory usage per method with stub: ~88.5 B
Committed memory at the end after GC: ~9.5 MB
On a larger test case that compiles Roslyn sources 16 times in the same process, the numbers are similar.
Methods with stubs: 22141
Memory usage: ~1913 KB
Memory usage per method with stub: ~88.5 B
Committed memory at the end after GC: 90-95 MB
It should be possible to reduce the leaked memory per method with stub from ~88.5 B to about 10-16 B depending on architecture in the future if necessary.
- Fixes https://github.com/dotnet/runtime/issues/66924
- Fixes https://github.com/dotnet/runtime/issues/66424
|
|
(#65948)" (#67590)
This reverts commit 0d1e04ba2a9ebc9d21a7f65db00407dd0056b547.
|
|
|
|
Fix #67331
|
|
(#67341)
* Call SendResettableCompletionSource.CompleteException in AbortWrite
* Add test
* fixup! Add test
* Use loop to make the test more robust
|
|
* Don't pass --minimize to Xcode 13.3 dsymutil
Fixes https://github.com/dotnet/runtime/issues/66770
New xcode command line tools dropped support for the `--minimize` option (which
is now the default).
The related LLVM change is https://github.com/llvm/llvm-project/commit/5d07dc897707f877c45cab6c7e4b65dad7d3ff6d
* fix build with older Xcodes
use a list of options, not a single option with a space in it
Co-authored-by: Kevin Jones <vcsjones@github.com>
|
|
Use whatever flags already are baked into the SuperPMI collection.
|
|
* Disable `Microsoft.Extensions.Hosting.WindowsServices.Tests` for
.. non-windows platforms.
* UseWindowsServiceTests: Mark the test as windows only
* Fix build
|
|
* Create INumberBase and allow Complex to implement it
* Move DivRem to only be available for IBinaryInteger
* Split apart various floating-point interfaces for better extensibility
* Annotate the generic math interfaces to implement on BigInteger and Complex
* Moving various generic math interfaces into the System.Numerics namespace
* Split various generic math interfaces into their own file for easier discoverability
* IParseable -> IParsable
* Update ISignedNumber and IUnsignedNumber to be "marker" interfaces
* PI -> Pi and IEEERemainder -> Ieee754Remainder
* Removing the various TInteger constraints in favor of using int where feasible
* Moving IDivisionOperators and ISpanFormattable down to INumberBase
* Moving CopySign, IsNegative, MaxMagnitude, and MinMagnitude down to INumber
* Create<TOther> -> CreateChecked<TOther>
* Updating various generic math tests
* Update src/libraries/System.Private.CoreLib/src/System/Numerics/INumber.cs
Co-authored-by: Theodore Tsirpanis <teo@tsirpanis.gr>
* Fixing the reference assembly for System.Numerics.Complex
* Removing generic math support from System.Numerics.Complex until the trimming issue can be resolved
Co-authored-by: Theodore Tsirpanis <teo@tsirpanis.gr>
|
|
|