- 27 9月, 2022 20 次提交
-
-
由 Zoltan Varga 提交于
[mono][aot] Prefer specific instances instead of gshared for methods containing static virtual calls. (#76033) These calls cannot be resolved at compile time in gshared methods, so they cannot be inlined etc. They are used in perf sensitive BCL code like SpanHelpers. To fix this, modify the AOT compiler so in addition to the gshared versions, it emits specific instances of these methods if possible. This only affects a small subset of gshared methods so it doesn't lead to a noticable code size increase. Fixes https://github.com/dotnet/runtime/issues/75801.
-
由 Sparin 提交于
ANSI string depends on system encoding charset. Unix's implementation of Marshal.StringToHGlobalAnsi encodes in UTF8. UTF8 characters which are out of 8-bit range (otcet) encodes in multiple bytes (otcets). ASCII characters usually are in 0x00-0x7F range but cyrillic and other characters are not. For example, 'Зфыы123;' (eq. 'Pass123$') will be encoded in 12 bytes instead of 8 Fix #76125
-
由 Stephen Toub 提交于
* Improve IPAddress to/from bytes perf Also cleaned up some unnecessary `!`s with `MemberNotNullWhen`. * Address PR feedback to use shifts instead of shuffle And also simplify fallback. * Avoid non-portable cast for big endian
-
由 Andy Ayers 提交于
One more preparatory step before introducing the new phi-based disambiguation. * handle some cases of ambiguous preds better * split out the jump threading pre checks into a helper * properly support updating switch preds * generalize retry logic a bit to handle more cases
-
由 Stephen Toub 提交于
* Extend RuntimeHelpers.IsBitwiseEquatable to more types Today, RuntimeHelpers.IsBitwiseEquatable is hardcoded to a fixed list of types. This means that almost all of the vectorization we've done with arrays and spans is limited to just those types; developers can themselves use MemoryMarshal.Cast to convert spans of other types to spans of supported one, but it doesn't naturally happen. This extends IsBitwiseEquatable a bit more. We already have a CanCompareBitsOrUseFastGetHashCode helper used by ValueType.Equals to determine whether structs that don't override Equals can be compared with the equivalent of memcmp. This extends that same helper to be used by IsBitwiseEquatable. However, IsBitwiseEquatable also needs to rule out types that implement `IEquatable<T>` (the existing helper doesn't because it's about the implementation of the object.Equals override where the interface doesn't come into play). The upside of this is APIs like Array.IndexOf will now automatically vectorize with more types. The main downside is that types which provide their own equality implementation still don't benefit, which in turn means adding an `IEquality<T>` implementation could in the future be a deoptimization (we should consider some kind of attribute or marker interface a type can use to say "I promise my equality implementation is the same as a bitwise comparison"). We also currently constrain most of our MemoryExtensions methods to types that implement `IEquatable<T>`, so there are only a handful of public methods today that benefit from this. * Fix contract on CanCompareBitsOrUseFastGetHashCode * Add more SequenceEqual tests * Remove duplicative check * Add IsBitwiseEquatable extension to ilc * Address PR feedback * Update src/coreclr/tools/Common/TypeSystem/IL/Stubs/ComparerIntrinsics.cs
-
由 Wei Chen 提交于
* Check for expression bodied method Fixed LoggerMessageGenerator parser to check for expression bodied method and generate a proper diagnostic message. Fix #66080 * Fix expression body in test Fixed invalid expression body in test
-
由 Tom Deseyn 提交于
* Use generated runtime.json when building shared framework packages. * Don't UpdateRuntimeJson on Build. * PR feedback. * Update Microsoft.NETCore.Platforms.csproj Co-authored-by: NViktor Hofer <viktor.hofer@microsoft.com>
-
由 Steve Dunn 提交于
* First pass * More annotations * Rever mistaken change to test * More annotations * More annotations * More annotations * More annotations * More annotations * More annotations * More annotations * More annotations * More annotations * More annotations * More annotations * More annotations * Remove red flag comment * PR feedback * Remove 'red flag' comments * Revert unintended changes to tests * Revert unintended changes * PR feedback: remove redundant !'s from things that can never return null * Added `[MemberNotNullWhen(true, nameof(_cachedXml))]` on implementation. * Updated ref t ypes (with `dotnet msbuild /t:GenerateReferenceAssemblySource`) * Updated ref assembly * PR feedback: add `MemberNotNull` attribute on `Initialize`) * Updated ref again * Put `MemberNotNull` attribute on the getter rather than the property in the reference file. * PR feedback: remove MemberNotNullWhenAttribute from ref * PR feedback: non nullable param to match method in base class * Fix post-merge build errors * PR feedback * PR feedback from @bartonjs - add [DisallowNull] and cascade * PR feedback * PR feedback * PR feedback * Fix build again, by removing the `protected internal` property `CacheValid` * PR feedback * Added back `CacheValid` based on PR comment * Fix issues from recent rebase * Add `DisallowNull` attribute to ref file and remove it from `DefaultGenApiDocIds.txt` * PR feedback * Fix issues from recent merge * Remove some more extraneous damnit operators * Fix NRT analysis errors after prior rebase * PR feedback * PR feedback * PR feedback * PR feedback * PR feedback * CipherReference and CipherValue made to disallow null * Make Uri non-nullable on EnctrypedReference * Add AllowNull attribute on EncryptedType::KeyInfo * AllowNull on EncryptedXml::Recipient * Made baseUri nullable * DisallowNull on PropertlyElement * AllowNull on SignedInfo::CanonicalizationMethod * AllowNull on SignedXml::EncryptedXml * Fix build after recent rebase * Remove redundant damnit operator now that https://github.com/dotnet/runtime/pull/71860 has been merged * PR feedback * Fix build due to change of the CanonicalXmlElement constructor * PR feedback * Remove redundant damnit operators * Fix broken tests * Fix issues after rebase * PR feedback * PR feedback
-
由 Meri Khamoyan 提交于
* #74642 changed isolated storage path for mobile platforms
-
由 Matous Kozak 提交于
* Vector128 AndNot * swap operands for Vector128, block AndNot for integer types * fix AndNot intermediate type for Vector64 * move AndNot to XBINOP from SSE * AndNot intrinsics move check outside ifdef * defined macro * use different tmp variable * Re-use OP_SSE_ANDN code * remove space * missing {} in SN_AndNot case
-
由 SingleAccretion 提交于
* Spilling fixes * Unspilling fixes * Fix multi-reg HWIs
-
由 dotnet-maestro[bot] 提交于
[main] Update dependencies from dotnet/xharness dotnet/runtime-assets dotnet/runtime dotnet/emsdk (#76120) [main] Update dependencies from dotnet/xharness dotnet/runtime-assets dotnet/runtime dotnet/emsdk
-
由 Hyungju Lee 提交于
* Fix bugs found from static analyzer Co-authored-by: NJan Kotas <jkotas@microsoft.com>
-
由 Miepee 提交于
* Fix incorrect SpecialFolder entries for Unix This fixes an incorrect Documents/Personal for Linux+Mac entry, incorrect Videos Mac entry, and an incorrect (Local) ApplicationData Mac entry. Fix #63214 * Don't make Unix tests assume Personal is Home * Use the same value for Mac's (Local)ApplicationData * Use NSPaths for OSX Special Folder The Apple documentation recommends to use these instead of hardcoding the paths, so the paths that had NSPath equivalents have been replaced. * Change System.Native CMakeLists to include OSX for SearchPath `a17e73466ca639388a3d89f4d6be0ab9703802fc` made OSX call the native NSearchPath functions, however a stub was initially called. This fixes it to call the native functions.
-
由 Thays Grazia 提交于
* fix exception while decoding value that has a byref field * Apply suggestions from code review Co-authored-by: NLarry Ewing <lewing@microsoft.com> Co-authored-by: NLarry Ewing <lewing@microsoft.com>
-
由 Kevin Gosse 提交于
-
由 Brennan 提交于
-
由 Nick Stanton 提交于
* Add triple slash in missing areas * Apply suggestions from code review Co-authored-by: NCarlos Sanchez <1175054+carlossanlop@users.noreply.github.com> * Rewrite StringSegmentCompare GetHashCode() summary * implement GetHashCode() feedback * change instances to objects Co-authored-by: NCarlos Sanchez <1175054+carlossanlop@users.noreply.github.com>
-
由 Eirik Tsarpalis 提交于
* Remove hardcoded limit in deserialization constructor arguments. * Use correct opcode for indices >= 128 * Remove unneeeded changes * Add reflection fallback in interpreted runtimes * Revert "Add reflection fallback in interpreted runtimes" This reverts commit e78ea20c532860d21bd0540a97ebfd1cf02370e3. * disable test in interpreted mono * Revert "disable test in interpreted mono" This reverts commit 53f7a913b710471eadad18f50e962f0f967e07aa.
-
- 26 9月, 2022 11 次提交
-
-
由 Matous Kozak 提交于
* Conditional Select for amd64, refactor arm64 code * Add missing newline in mini-ops.h file
-
由 SingleAccretion 提交于
* Fold local SIMD-typed indirs * Introduce "canonical" SIMD handles To be used for nodes which don't have a handle of their own. * Remove base types from GenTreeVecCon
-
由 Ilona Tomkowicz 提交于
-
由 Egor Bogatov 提交于
-
由 Trayan Zapryanov 提交于
* Remove most of string.Trim() usages in Xml solution. * Address feedback * Add checks if input string is null Co-authored-by: NTraian Zaprianov <Traian.Zaprianov@docuware.com>
-
由 Ankit Jain 提交于
* perf-pipeline: Set default value for ExtraSetupArguments Fixes `line 1: ExtraSetupArguments: command not found` when running performance/scripts/ci_setup.py . * perf pipeline: Disable unncessary scheduled builds `dotnet-runtime-perf` runs: 1. batched builds 2. scheduled builds at 2:30am every night For the 'scheduled' case, only wasm/jsc perf jobs are run. And the rest are build jobs - wasm, mono, coreclr, and libraries. The wasm/jsc runs are known to be broken right now, thus they can be disabled. And since there are no other perf jobs, none of the remaining builds are needed, thus the whole scheduled run can be disabled. * perf-pipeline: Collect logs file from perf runs on dotnet-runtime-perf also
-
由 Vladimir Sadov 提交于
* remove m_trackResurrection field * switch to GCHandle.Internal for portability * remove ENABLE_WINRT dead code * move IsTrackResurrection * TracksResurrectionBit * native part * move some parts of implementation to common * tweak a comment * tweak a comment * use libraries naming conventions for _handleAndKind * Apply suggestions from code review Co-authored-by: NJan Kotas <jkotas@microsoft.com> * Remove Mono and NativeAOT implementations. Move the handle field to the top of the class per coding conventions Co-authored-by: NJan Kotas <jkotas@microsoft.com>
-
由 Jan Kotas 提交于
-
由 Rose 提交于
The function has an early return if tmp is ever null, so there is no need to have this check here.
-
由 Stephen Toub 提交于
AddRange is currently implemented as delegating to InsertRange, and InsertRange in turn has a more complicated inner loop as part of adding each item from a source enumerable into the list. By just copying InsertRange's source into AddRange, deleting all the irrelevant stuff, and changing the Insert call to Add, throughput improves measurably.
-
由 Igor Bagdamyan 提交于
-
- 25 9月, 2022 6 次提交
-
-
由 Jan Kotas 提交于
* Disable frequently failing CriticalFinalizer test Contributes to #76041 * Delete coreclr specific exclusion, the test is failing everywhere
-
由 Andy Ayers 提交于
In anticipation that phi disambiguation will end up reusing the core part of this transformation.
-
由 Karel Zikmund 提交于
PR #75369 tried to fix the problem and re-enabled the test, but it is still failing. Tracked by #74115
-
由 Jan Kotas 提交于
Caching typeof is a de-optimization with frozen runtime types
-
由 Marek Safar 提交于
* Clean up of SPC to match ref assembly public surface for Mono and CoreCLR Contributes to #72594 * Remove TypeDependencyAttribute Co-authored-by: NJan Kotas <jkotas@microsoft.com>
-
由 Huo Yaoyuan 提交于
* Basic implementation of total order * Add public api reference * Add basic tests * Apply suggestions from code review Co-authored-by: NTanner Gooding <tagoo@outlook.com> * Update xmldoc * Update comparison logic to save calls * Handle order of NaN * Implement integer comparison semantic * Change NaN semantic in fallback comparison * Adjust test data * Change to struct * Fix ApiCompat * Manually apply suggestion from review * Defensive for custom float-point * Nit * Fix comments * Implement Equals and GetHashCode Co-authored-by: NTanner Gooding <tagoo@outlook.com>
-
- 24 9月, 2022 3 次提交
-
-
由 Jan Kotas 提交于
* Fix native aot test failures * Fix test failure on NativeAOT with non-English locale * Delete duplicate and dead files Fixes #75699 Co-authored-by: NFilip Navara <filip.navara@gmail.com>
-
由 Jakob Botsch Nielsen 提交于
Previously, if there was any diff in a collection, that collection would be shown in all tables (i.e. Overall, FullOpts, MinOpts). The main reason was that we only had "has diffs" information on a per-collection basis, not for each of the categories. This changes SPMI to communicate back for each category how many contexts had diffs in them, and uses this to hide tables/rows without any diffs, and to show this information under details.
-
由 Vlad Brezae 提交于
* Add new convert tests With expression funcs that return int32 instead of short/byte to prevent implicit conversions. * Add back missing conv opcodes when compiling via System.Linq.Expressions The conversion opcodes are still necessary when the sign of the value might change, in which case the conversion opcode will do a sign/zero extend to the full i32 storage used by the IL execution stack. For example, before this change, conversions from ushort to short were ignored. Consider expressions converting the value `ushort.MaxValue` to short (testcase ConvertUShortToShortTest). `ushort.MaxValue` will be pushed to execution stack as a i32 ldc of value 0xffff. The conv.i2 opcode would change the value on the stack to 0xffffffff so it shouldn't be omitted.
-