- 15 11月, 2021 12 次提交
-
-
由 Jakob Botsch Nielsen 提交于
For very large structs (> 64K in size) poisoning could end up generating instructions requiring larger local var offsets than we can handle. This hits IMPL_LIMIT that throws InvalidProgramException. Turn off poisoning for larger structs that require more than 16 movs to also avoid the significant code bloat by the singular movs. This is a less risky version of #61521 for backporting to .NET 6. Fix #60852
-
由 SingleAccretion 提交于
The issue was that VNApplySelectors uses the types of fields when selecting, but that's not valid for "the first field" maps. Mirror how the stores to fields are numbered.
-
由 dotnet-maestro[bot] 提交于
Co-authored-by: Ndotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
-
由 Michal Strehovský 提交于
`__DoCrossgen2` appears to be redundant with `__TestBuildMode=crossgen2`.
-
由 Eirik Tsarpalis 提交于
* Add JsonSerializerOptions.Default * address feedback * address feedback
-
由 dotnet-maestro[bot] 提交于
Co-authored-by: Ndotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
-
由 SRV 提交于
-
由 Adeel Mujahid 提交于
-
由 Tomáš Rylek 提交于
For now there's no functional change to the behavior of the tests, I have just copied the bits to inject from Jeremy's example in his pending PR. I have spot-checked that some of the tests use Main with the command-line args argument. I'm not changing them in this PR, the signature only becomes important once we start actually merging the IL tests and I presume we'll clean that up at that point. Thanks Tomas Contributes to: https://github.com/dotnet/runtime/issues/54512
-
由 Tomáš Rylek 提交于
For now there's no functional change to the behavior of the tests, I have just copied the bits to inject from Jeremy's example in his pending PR. Thanks Tomas Contributes to: https://github.com/dotnet/runtime/issues/54512
-
由 Vladimir Sadov 提交于
* embedded size * next array * read consistency while rehashing * comments * remove CRST_UNSAFE_ANYMODE and COOP mode in the callers * typo * fix 32bit builds * couple changes from review. * Walk the buckets in resize. * remove a `REVIEW:` comment. * Update src/coreclr/vm/dacenumerablehash.inl PR review suggestion Co-authored-by: NJan Kotas <jkotas@microsoft.com> * remove use of `auto` * DAC stuff * Constructor and GrowTable are not called by DAC, no need for DPTR, added a comment about a cast. * SKIP_SPECIAL_SLOTS * More compact dac_cast in GetNext Co-authored-by: NJan Kotas <jkotas@microsoft.com>
-
由 Tomáš Rylek 提交于
For now there's no functional change to the behavior of the tests, I have just copied the bits to inject from Jeremy's example in his pending PR. Thanks Tomas
-
- 14 11月, 2021 5 次提交
-
-
由 Stephen Toub 提交于
* Enable new analyzers in global configs * Address PR feedback
-
由 Zoltan Varga 提交于
If a generic argument is a primitive type, and it has an interface constraint that enums don't implement, then partial sharing for that instance is not useful, since only the specific primitive type instance will be able to use the shared version. Fixes https://github.com/dotnet/runtime/issues/54910.
-
由 Zoltan Varga 提交于
Emit it in the interpreter when a method is inlined or replaced with an intrinsic. This is needed so the AOT profiler can track these methods.
-
由 Andy Ayers 提交于
When both OSR and PGO are enabled: * Enable instrumenting OSR methods, so that the combined profile data from Tier0 plus any OSR variants provide a full picture for subsequent Tier1 optimization. * Use block profiles for both Tier0 methods that are likely to have patchpoints and OSR methods. * Fix phase ordering so partially jitted methods don't lose probes. * A few more fixes for partial compilation, because the number of things we think we might instrument and the number of things we end up instrumenting can differ. * Also improve the DumpJittedMethod output for OSR, and allow selective dumping of a particular OSR variant by specifying its IL offset. The updates on the runtime side are to pass BBINSTR to OSR methods, and to handle the (typical) case where the OSR method instrumentation schema is a subset of the Tier0 method schema. We are still allowing OSR methods to read the profile data. So they are both profile instrumented and profile optimized. Not clear if this is going to work well as the Tier0 data will be incomplete and optimization quality may be poor. Something to revisit down the road.
-
由 Aleksey Kliger (λgeek) 提交于
Implement method name wildcard matching for method descriptions Globbing doesn't work because we don't have g_pattern_match_simple in eglib. But a plain '*' wildcard does work.
-
- 13 11月, 2021 8 次提交
-
-
由 Elinor Fung 提交于
[DllImportGenerator] Treat pointer fields in structs as blittable regardless of what they point at (#61538)
-
由 Genevieve Warren 提交于
-
由 Bruce Forstall 提交于
This was preventing block compaction with loop entry blocks in loops that had been previously optimized away (and thus removed from the loop table). There are a few cases where we now delete dead code that was previously left in the function. There are a number of spurious local weighting and IG textual asm diffs changes, possibly due to how PerfScore is implemented (there are some surprisingly large PerfScore changes in a few cases, despite no change in (most) generated code).
-
由 Zoltan Varga 提交于
These are used for example in Span<T>:.ctor ().
-
由 Zoltan Varga 提交于
[mono][jit] Optimize constrained calls to object.GetHashCode () where the receiver is a gshared type constrained to a primitive type/enum. (#61513)
-
由 Aaron Robinson 提交于
* Remove all DLLIMPORTGENERATOR_ENABLED usage. * Explicitly set EnableDllImportGenerator to true in test project.
-
-
由 Tomáš Rylek 提交于
-
- 12 11月, 2021 10 次提交
-
-
由 Adam Sitnik 提交于
* Environment.SystemPageSize returns cached value * we are no longer shipping MS.IO.Redist, so we can use Array.MaxLength directly * we are no longer shipping MS.IO.Redist, there is no need for File to be partial * we are no longer shipping MS.IO.Redist, there is no need for FileInfo to be partial * there is no need for .Win32.cs and .Windows.cs file anymore
-
由 Radek Doulik 提交于
Measure browser app start times, 2 measurements implemented. First to measure till the JS window.pageshow event, second to measure time when we reach managed C# code. Example ouput: | measurement | time | |-:|-:| | AppStart, Page show | 108.1400ms | | AppStart, Reach managed | 240.2174ms |
-
由 Tanner Gooding 提交于
* Moving Narrow to implemented using SIMDAsHWIntrinsic * Moving Widen to implemented using SIMDAsHWIntrinsic * Fix some handling of Narrow/Widen hwintrinsics * Ensure that Vector.Widen is still treated as an intrinsic * Fixing NI_VectorT128_WidenUpper on ARM64 to actually call gtNewSimdWidenUpper
-
由 anthonycanino 提交于
* XARCH: Remove redudant tests for GT_LT/GT_GE relops. We can now optimize cases such as `(x + y < 0)` or `for (int x = v; x >= 0; x--)` using the flag tracking logic during the emit stage. Notably, cases that would generate... ``` add reg0, reg1 test reg0, reg0 jge LABEL ``` now transform to ``` add reg0, reg1 jns LABEL ``` This transform is valid for signed GE and signed LT only. * Add a few asserts related to flag reuse optimizations.
-
由 Tanner Gooding 提交于
Updating src/tests/Interop/PInvoke/Generics/GenericsNative.Vector* to annotate individual methods as requiring AVX (#61259) * Updating src/tests/Interop/PInvoke/Generics/GenericsNative.Vector* to annotate individual methods as requiring AVX * Always use __m256i on XARCH
-
由 Kevin Jones 提交于
-
由 Yusuke Ito 提交于
-
由 Davis Goodin 提交于
-
由 Bruce Forstall 提交于
Don't run if the JIT-EE GUID has changed, since there won't be any collections to download, so the downloads will fail. Also update the superpmi-asmdiffs trigger comment.
-
由 Elinor Fung 提交于
-
- 11 11月, 2021 5 次提交
-
-
由 dotnet-maestro[bot] 提交于
Co-authored-by: Ndotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
-
由 Peter Sollich 提交于
We reference entry #0 in the pinned plug queue even if there are no pinned plugs at all and thus the pinned plug queue contains left-over data from the mark phase. The fix is to initialize saved_pinned_plug_index to a value that is invalid as a pinned plug queue index, and only use saved_pinned_plug_index as an index if is valid.
-
由 Simon Rozsival 提交于
There are connectivity issues on some physical Android devices. We should disable the affected tests until the issue isn't resolved. Ref #61343
-
由 Jakob Botsch Nielsen 提交于
* We were not recording precise info in inlinees except for at IL offset 0 because most of the logic that handles determining when to attach debug info did not run for inlinees. There are no changes in what the EE sees since we were normalizing debug info back to the root anyway. * Propagate debug info even further than just until rationalization, to make it simpler to dump the precise debug info. This means we create some more GT_IL_OFFSET nodes, in particular when the inlinee debug info is valid but the root info is invalid. This is currently happening for newobj IL instructions when the constructor is inlined. We generate two statements: GT_ASG(GT_LCL_VAR(X), ALLOCOBJ(CLS)); GT_CALL(CTOR, GT_LCL_VAR(X)) and the first statement ends up "consuming" the debug info, meaning we end up with no debug info for the GT_CALL, which eventually propagates into the inline tree. I have held off on fixing this for now since it causes debug info diffs in the data reported back to the EE. The additional nodes in LIR result in 0.15% more memory use and 0.015% more instructions retired for SPMI over libraries. There is also a small fix in gtlist.h for GT_BFIZ when MEASURE_NODE_SIZES is defined. No SPMI diffs.
-
由 Jeremy Koritzinsky 提交于
Fixes #61322 Fixes #61299
-