- 17 4月, 2021 21 次提交
-
-
由 Emmanuel André 提交于
* Handle completed FlushResult on CopyToAsync * Avoid the async state machine if write finishes synchronously * Add test case for resume after target pipe is completed
-
由 Bruce Forstall 提交于
In case `fgOptimizeBranch` gets far enough to calculate the cost of statements it is considering duplicating, then it calls `gtPrepareCost` => `gtSetEvalOrder` to compute a statement's costs. Unfortunately, that can reverse operands (and in this case, did). `fgOptimizeBranch` is called only by `fgReorderBlocks` which is called by `fgInsertGCPolls`, late enough that the tree is already threaded with gtNext/gtPrev links. (The test case inserted multiple GC polls for SuppressGCTransitionAttribute code.) When the operands of the tree were swapped, nobody fixed up these links. The only other caller of `fgReorderBlocks` is `optOptimizeLayout`, which comes before the trees are threaded. The solution is to simply call `fgSetStmtSeq` if needed. No SPMI x86, x64 asm diffs. Fixes #51293, a failure in JIT/Performance/CodeQuality/Burgers/Burgers/Burgers.sh on Linux arm32 under JitStress=1. There is IBC data, and setting `COMPlus_JitDisablePgo=1` also fixes the failure.
-
由 Jakob Botsch Nielsen 提交于
We must take special care to keep the tailcall dispatcher targets alive while tailcalls are in-flight. In particular, given the following callstack: [B]M2() [SPC]DispatchTailCalls [A]M() it could happen that [B]M2() queued a tail call to a function [B]M3(). Since there is a live dispatcher on the call stack, this would result in [B]M2() storing a function pointer pointing to [B]M3() and returning to this dispatcher to let it take care of the tailcall. If B was loaded in a collectible ALC, it would then be possible for there to be nothing keeping this ALC alive, and for the assembly to be unloaded before the dispatcher invoked the function pointer. I was unable to come up with a test case where this happened without making changes to the dispatcher; the window otherwise seems to be too small. To reproduce the problem I thus had to add a Thread.Sleep(50) into the dispatcher, which quickly resulted in an AccessViolationException in the scenario above. With the changes in this commit I was then no logner able to reproduce the problem. Fix #41314
-
由 Mateo Torres-Ruiz 提交于
* Clean test * Remove dir deletion * Create parent dirs
-
由 Carlos Sanchez 提交于
* Caching the ValueTaskSource in AsyncWindowsFileStreamStrategy * Add debug assert to WriteByteSlow for _writePos == _bufferSize * Fix assertion failure * Apply suggestions from code review * Apply suggestions from code review * some pedantic polishing * fix the allocation bug: actually return the instance to the "pool" * don't Dipose the handle if it has default value * reset _result and _source in the Configure method * delay the moment when the ValueTaskSource becomes ready to be reused to the moment after _source.SetException|SetResult is called * apply Stephen suggestions * implement Stephen idea * use Reset in explicit way * remove outdated comment * address code review feedback Co-authored-by: Ncarlossanlop <carlossanlop@users.noreply.github.com> Co-authored-by: NDavid Cantú <dacantu@microsoft.com> Co-authored-by: NAdam Sitnik <adam.sitnik@gmail.com>
-
由 Alexander Köplinger 提交于
Some of the Android runtime tests were recently broken because they got an "entryPointLibName=<test assembly name>" argument in their Main args. This argument is normally used to run a specific test: https://github.com/dotnet/runtime/blob/dd63ea2e6a9cc6f2661b817d15e558fc6605fa17/src/tests/JIT/HardwareIntrinsics/Arm/Shared/Program.cs#L24 After https://github.com/dotnet/runtime/commit/1a98ba0ec20550c9e1ece5fff555d683dec3252b we were passing the `entryPointLibName` down to the managed app args even though it's only supposed to be used to tell the runtime which assembly to run.
-
由 dotnet-maestro[bot] 提交于
* Update dependencies from https://github.com/mono/linker build 20210415.1 Microsoft.NET.ILLink.Tasks From Version 6.0.100-preview.2.21212.5 -> To Version 6.0.100-preview.2.21215.1 * Update dependencies from https://github.com/mono/linker build 20210415.2 Microsoft.NET.ILLink.Tasks From Version 6.0.100-preview.2.21212.5 -> To Version 6.0.100-preview.2.21215.2 Co-authored-by: Ndotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: NAlexander Köplinger <alex.koeplinger@outlook.com>
-
由 SingleAccretion 提交于
Revert "Handle casts done via helpers and fold overflow operations in value numbering (#50450)" (#51401) This reverts commit 730abc90.
-
由 Ivan Diaz Sanchez 提交于
Changed the CompilerIdentifier label from the previous hardcoded message to programmatically retrieve the current version. (#51352)
-
由 Omair Majid 提交于
Use smart pointers to avoid having to manually deallocate memory. - szOutputFileName was never being deallocated - `pAlias` and `exportDirData` were only being deallocated on the success path and not on any of the error paths.
-
由 Eric Erhardt 提交于
* Resolve ILLink warnings in System.ComponentModel.TypeConvert (Final) Contributes to #45623
-
由 David Wrighton 提交于
- Include osx arm64 jit in package - Also use that jit when appropriate - build for all rids - build cross targeting test scenario variant from separate project file to avoid issue with incorrect app host rid - Remove app host from cross targeting x64 crossgen used in test scenarios
-
由 Radek Doulik 提交于
Revert "Include "simple" UTF-8 validation and transcoding logic for interpreted and low-footprint scenarios (#49372)" (#51379) This reverts commit 197a28d3. Context: https://github.com/dotnet/runtime/issues/50260
-
由 erhanatesoglu 提交于
updated repository name from corefx to runtime
-
由 David Wrighton 提交于
- Move processing of likely class histogram into the JIT - Fix cases where the devirtualization logic in crossgen2 behaved incorrectly in the presence of likely class histogram data - Pre-process histogram at crossgen2 time to reduce the size of the pgo data - This removes 3/4 of the data from System.Private.CoreLib
-
由 Jeremy Kuhne 提交于
* Add basic GetContextInfo regression tests. * Implement new GetContextInfo API overloads Implements #47880, adding new, more performant overloads for GetContextInfo. - Add helper for only creating a region if it isn't infinite - Start an internal extensions class for easier mapping of System.Drawing concepts to System.Numerics types - Simplify GraphicsContext * Update WindowsGraphics to use new overloads. * Skip tests when GDI+ isn't available. * Add `[SupportedOSPlatform("windows")]` * Use new Obsolete attribute pattern. * Use Obsoletions.cs and conditionalize in ref. * Address feedback * Conditionalize the obsoletion in the src * Update suppression in tests * Apply obsoletions downlevel using an internal ObsoleteAttribute Co-authored-by: NJeff Handley <jeff.handley@microsoft.com> Co-authored-by: NSantiago Fernandez Madero <safern@microsoft.com>
-
由 Elinor Fung 提交于
-
由 Elinor Fung 提交于
* Use simpler command in example for building individual coreclr test * Remove comment about using 'dotnet msbuild'
-
由 Maryam Ariyan 提交于
-
由 David Wrighton 提交于
* Update to more recent PGO data * Use old pgo data for windows x86 and linx x64 to avoid possible perf loss problems.
-
由 Jeremy Barton 提交于
-
- 16 4月, 2021 19 次提交
-
-
由 Dong-Heon Jung 提交于
-
由 SingleAccretion 提交于
-
由 Vlad Brezae 提交于
* [interp] Replace ldloca + initobj pair with initlocal We do it in the cprop pass because ldloca removal can enable additional copy propagations. * [interp] Replace ldloca + ldobj.vt with mov.vt * [interp] Add superinstructions for multiplication with constant * [interp] Remove redundant opcode * [interp] Update indirects count if removing bblock with ldloca If the var no longer has indirects, we might be able to do cprop through it * [interp] Refactor ldind/stind opcodes Remove some unnecessary opcodes. Always do a null check when dereferencing pointers with ldind. Having an unsafe version of this is really useless performance wise and can only be used in very few cases. * [interp] Add super instructions for ldind/stind with offset * [interp] Remove opcode for conversion from i8 to i4 It is redundant, we replace it with a MOV_8 which will end up being removed by the cprop pass.
-
由 David Pine 提交于
* Added background service exception behavior enum. Update HostOptions and Host accordingly. * Added corresponding unit tests for host when ignoring or stopping. * Call StopAsync rather than FailFast * Call `IApplicationLifetime.StopApplication()` instead of `StopAsync()`. * Moved enum out of abstractions. Encapsulate logging logic in extensions. Define new EventId. Simplify check, avoid null eval. Update triple dash comments per peer review. * Set the default as `StopHost` * Move ref bits from hosting.abstractions to hosting proper. * Address feedback from peer review * Added unit test to verify background service 1 gets started, and runs a bit - and other service can cause stop * Use explicitly controlled timing for unit test and remove args: ex * Convert from Fact, to Theory. Test both enum values. * Separate StartAsync and ExecuteTask, let StartAsync bubble. Adjust unit tests... * Update the background service async exceptions get logged unit test
-
由 Thays Grazia 提交于
* [wasm][debugger] Implement support to modify values. * Apply suggestions from code review Co-authored-by: NLarry Ewing <lewing@microsoft.com> * Adding first test. * Adding more tests, fixing boolean behavior, ignore value change when the new value type is incompatible. * Implement set value on object -> property and attribute. * Fix compilation * Changing what @radical suggested. * Adding tests. * Adding test. * Fix what @radical suggested. * Fix compilation. * Fix what @radical suggested. Co-authored-by: NLarry Ewing <lewing@microsoft.com>
-
由 Kunal Pathak 提交于
* Improve LsraStat - Improve LsraStat by including various register selection heuristics count - Generalize updateLsraStat and dumpLsraStat to operate on array of stats * jit format * Display LSRA stats in csv format * review comments * Include PerfScore in LsraStatsCsv * review comments'
-
由 Andrew Au 提交于
-
由 Bruce Forstall 提交于
* Flow graph "dot" graph output improvements Added optional support for adding EH regions and loops in the loop table to the ".dot" format flow graph display. To enable one or both of these, use: ``` set COMPlus_JitDumpFgEH=1 set COMPlus_JitDumpFgLoops=1 ``` Also, I added a config variable to allow disabling the use of "invisible" edges that forces the graph to be in mostly lexical linear order in the layout. To use this, use: ``` set COMPlus_JitDumpFgConstrained=0 ``` (COMPlus_JitDumpFgConstrained=1 is the default.) * Remove trailing newlines from block label
-
由 Andy Ayers 提交于
The detection of blocks with only PHI assignments was broken by #50806. Fix by using existing helper to find the first non-PHI assignment. Closes #51326.
-
由 Eric Erhardt 提交于
* Remove unnecessary GetTypeInfo() calls. Calls to GetTypeInfo() are unnecessary, and are a hold-over from when System.Reflection was refactored in legacy versions of .NET.
-
由 David Fowler 提交于
- Remove scope pooling - Added an event that we can ask customers to turn on to see if scope in real applications are mostly homogeneous - Add the hash code of the container so that we can detect scope sizes per container instance. - The ConcurrentQueue showed a 48% regression on AMD scenarios and a 4% regression on citrine linux.
-
由 Elinor Fung 提交于
-
由 Mateo Torres-Ruiz 提交于
* Skip test on windows * Delay file existence check * Check file existence if there are additional probbing paths * PR feedback * Add needs_file_existence_checks * Clean symlinks causing CI problems with stat * Switch back to libc * Ignore symlink deletion in osx
-
由 Bruce Bowyer-Smyth 提交于
-
由 John Salem 提交于
-
由 Carlos Sanchez 提交于
* Remove IFileStreamCompletionStrategy. This makes FileStreamCompletionSource only needed by Net5CompatFileStreamStrategy. * Use AwaitableProvider for AsyncWindowsFileStreamStrategy. * No need for ManualResetValueTaskSource class. Remove it to get rid of one allocation and get the actual profiling improvement. Rename FileStreamAwaitableProvider. * Bring back ReadAsync/WriteAsync code to the strategy for simpler code review. Shorter filename for awaitable provider. * FileStreamCompletionSource can now be nested in Net5CompatFileStreamStrategy, and its _fileHandle can now be private. * Remove duplicate error definitions, use centralized Interop.Errors. * Move shared mask values to FileStreamHelpers to avoid duplication. * Use Interop.Errors also in SyncWindowsFileStreamStrategy. * Move misplaced comment, move method location. * Slightly better comment. * Rename FileStreamAwaitableProvider to FileStreamValueTaskSource to keep in sync with the name of FileStreamCompletionSource. * Bring back the raw pointer intOverlapped. * Rename MemoryAwaitableProvider to MemoryFileStreamValueTaskSource. * Remove numBufferedBytes and avoid unnecessary allocation in Read(byte[],int,int). * Rename files of nested types. * Nested async result codes in static class. * Address feedback. * Address suggestions * Bring back RunContinuationAsynchronously=true Co-authored-by: Ncarlossanlop <carlossanlop@users.noreply.github.com>
-
由 Mike McLaughlin 提交于
* Add MachO dump writer to createdump Instead of the hacky ELF core dumps on MacOS now createdump generates true MachO dumps. Setting the COMPlus_DbgEnableElfDumpOnMacOS environment variable is no longer needed. Add special thread info memory region containing the OS thread ids missing from macho core dumps. This allows SOS to map the thread indexes to thread ids. The address (0x7fffffff00000000) of this special memory region is above the highest user address (0x0007FFFFFFFFF000) and below a kernel reserved address (0xffffff8000xxxxxx) which is kind of moot because dumps don't include any kernel regions. lldb seems just fine with this memory region. The changes include ARM64 support also, but since I don't have a M1 device I can't build/test them. I'm hoping Steve can at least review them. Add --verbose/TRACE_VERBOSE support to tone down all the macho dump generation spew. Issue: #48664 * Fix build problem * Update docs * Code review feedback Co-authored-by: NJuan Sebastian Hoyos Ayala <juhoyosa@microsoft.com>
-
由 Kunal Pathak 提交于
* Include condition for forward jump loops * Remove IGF_FINALLY_TARGET and surrounding code Pass DEBUG_ARG(bbnum) to `emitAddLabel()` to print the BB->IG mapping. * Revert "Remove IGF_FINALLY_TARGET and surrounding code" This reverts commit 284c0abc202cca2de22787bf18081076200e5272. * Pass bbNum to emitAddLabel * fix Release build break
-
由 Steve MacLean 提交于
Apple Silicon requires a different distribution template Set options.hostArchitectures to stop requiring Rosetta Adjust minimum required version to 11.0
-