- 16 4月, 2021 24 次提交
-
-
由 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
-
由 Tarek Mahmoud Sayed 提交于
-
由 Jan Vorlicek 提交于
* Update Alpine ARM docker image The Alpine ARM docker image is used for cross compilation. There was a breaking change in Alpine 3.13 - it uses a new MUSL that has 64 bit time_t even on 32 bit platforms. Since the official support for Alpine ARM was not announced yet, it was decided that we will support it only on Alpine >= 3.13 instead of having to build and distribute two different versions of runtime. This change updates the docker image used to build Alpine ARM runtime to a new version that uses Alpine 3.13 rootfs. It is also using Ubuntu 16.04 instead of 18.04 as a host to unify it with the one we use to build for Alpine ARM64. * Update helix queue for Alpine ARM to use Alpine 3.13
-
由 SingleAccretion 提交于
* Added a missing license header * Added a test verifying that checked arithmetic is correct * Added a test verifying that checked casts are correct * Refactored VNEvalShouldFold * Refactored gtFoldExprConst to use helpers and follow the common code style * Fixed the comment stating TYP_BYREF has no zero value * Moved checking of overflow for arithmetic operations from gtFoldExprConst into a separate namespace * Implemented folding of overflow arithmetic in value numbering * Fixed some typos in valuenum.cpp/h * Added identity-based evaluation for overflow arithmetic * Refactored gtFoldExpr some more, moved the overflow checking logic to CheckedOps, implemented overflow checking for floating point -> integer casts * Implemented folding of checked casts in value numbering, started value numbering casts via helpers like normal casts * Fixed the formatting * Made the definition of var_types a standalone header so that it can be safely #included'ed in utils.h * Replaced uses of GTF_CALL_M_SPECIAL_INTRINSIC with the equivalent helpers * Fold cast via helpers in morph * Disable the test for checked casts on Mono
-
由 Alexander Köplinger 提交于
GitHub Actions started doing shallow checkouts so we often ran into the case where applying the patch would fail with an error due to the commit blobs not being available: ``` error: sha1 information is lacking or useless (eng/pipelines/common/xplat-setup.yml). error: could not build fake ancestor ``` Fix this by always checking out the whole history. Since this makes checkout quite slow (~2mins), refactor the action so we post the "Started backporting" comment before doing the checkout so the user isn't confused why nothing happens.
-
由 David Wrighton 提交于
* Fix issue with Win32 resource placement Windows has a bug in its resource processing logic that occurs when 1. A PE file is loaded as a data file 2. The resource data found in the resources has an RVA which has a magnitude greater than the size of the section which holds the resources 3. The offset of the start of the resource data from the start of the section is not zero. As it is impossible to effect condition 1 in the compiler, and changing condition 2 would require bloating the virtual size of the sections, instead require that the resource data is located at offset 0 within its section, by sorting the Win32ResourceNode to be the first node. * Update src/coreclr/tools/aot/ILCompiler.ReadyToRun/ObjectWriter/SectionBuilder.cs Co-authored-by: NMichal Strehovský <MichalStrehovsky@users.noreply.github.com> Co-authored-by: NMichal Strehovský <MichalStrehovsky@users.noreply.github.com>
-
由 Tomáš Rylek 提交于
-
由 ws77.cho 提交于
* Modify TC to compare strings before ':' In order to avoid failure due to modification of #44013, the TC has been modified so that the content after':' is not compared. * Enable OOMException01 Failed TC is fixed at #51280
-
由 Radek Doulik 提交于
-
由 Bruce Forstall 提交于
* Simplify JIT label handling Remove the BBF_JMP_TARGET flag that was set early and attempted to be maintained all through compilation. Instead, use BBF_USE_LABEL to indicate to the emitter where we need labels. Also, stop setting and maintaining BBF_USE_LABEL early. Add a pass over the blocks when preparing for codegen that sets most of the necessary BBF_USE_LABEL flags. This flag will never be set before codegen. A few places set the flag after codegen starts, namely `genCreateTempLabel` and BBJ_COND handling for alignment. Note that this flag must be set before the block is processed for codegen (and an insGroup is created). Together, these changes make it easier to work with the flow graph without worrying about maintaining these bits of information through various optimizations. Add a few more details about alignment processing to the dump. There are a few code asm diffs due to alignment processing not previously creating a label to help compute how large a loop is. There are a lot of textual asm diffs due to there being (mostly) fewer labels, plus some additional insGroup output. This can happen if a block was labeled with `BBF_JMP_TARGET` or `BBF_USE_LABEL` before, but didn't need to be, perhaps after some optimizations. Now, the flag is never added in the first place. There are a large number of GC info diffs. Labels are where GC info state changes are recorded between codegen and the emitter. If we eliminate an unnecessary emitter label, then we also eliminate a capture of the current codegen GC state. Since the emitter is lazy at marking GC deaths, this means that we see a lot of lengthened GC lifetimes -- until the next label, or some other cause of GC kill. Often, you see a register kill followed by register birth just disappear, and the register is maintained alive across the interim. * Remove loop align flag if we decide a loop is no longer a loop
-
由 Tomáš Rylek 提交于
I found out that the crash was caused by an incompletely handled corner case in generic lookup - incomplete comparison of GenericLookupKey matched two generic lookups which in reality involved two different constrained types. While fixing this I added a new variant to RuntimeDeterminedTypeHelpers for comparing MethodWithToken and I fixed null handling that was inconsistent among the individual type variants of the Equals and GetHashCode methods. Thanks Tomas
-
由 Jeremy Koritzinsky 提交于
Add stub definitions of inject debug resources targets to fix runtimeinfo build dependency issues. (#51254)
-
- 15 4月, 2021 16 次提交
-
-
由 Nathan Ricci 提交于
[MONO][WASM] Fix System.ComponentModel.TypeConverter tests by adding missing ILLink dependencies (#50645) Added missing ILLink descriptors for TypeConverter tests.
-
由 Geoff Kizer 提交于
Co-authored-by: NGeoffrey Kizer <geoffrek@windows.microsoft.com>
-
由 Marek Safar 提交于
* Don't call into unsupported APIs on build targets which don't support quic The code could be extracted to HttpConnectionPool.quick.cs but not sure it's worth the split as that would move the majority of the code. Fixes #49201 Fixes #49187 * if-def less version * Quic IsSupported working and not throwing for AnyOS. * Fix for running the newly added UnitTest. * Add missing unsupported targets * Reverted Quic changes. * Unsupported to Supported * Guarded unsupported calls with OperationgSystem.Is...() * Addressed comments. * Analyzer fixed, macOS fixed. * Trimming test. * Removed test. * Guard more unsupported platform calls * Some more analyzer attributes. * Fix for Android, which returns true for IsLinux(). * Skip failing trimming test on wasm * Removed additional UnsupportedOS attributes, referenced issue. Co-authored-by: NMarie Píchová <mapichov@microsoft.com>
-
由 Jeremy Barton 提交于
-
由 Stephen Toub 提交于
-
由 Alexander Köplinger 提交于
We had those in the original mono/mono build.
-
由 Thays Grazia 提交于
-
由 Aleksey Kliger (λgeek) 提交于
* [sdb][coop] Switch to GC Safe before calling debugger transport callbacks Fixes https://github.com/dotnet/runtime/issues/50966 Under hybrid suspend, if we call the debugger callbacks like `transport_recv` in GC Unsafe (cooperative) mode, we could get a GC suspend deadlock: the suspend initiator will be waiting for the debugger thread to self-suspend, but the debugger thread will be blocked in `recv` until it receives a debugger command (which probably will not come since from the debugger's point of view nothing is happening in the debuggee, so there's no event to respond to). The socket transport already had GC safe transitions, but since the runtime allows external embedders to register their own protocols, we need the GC state transitions around the calls to the callbacks, not around the I/O operations. The tricky bit is `transport_connect` - as far as I can tell it's always called after the MonoThreadInfo has been initialized and the current thread has been attached to the runtime - so thread state transitions should work. (The tricky one is `transport_connect` which happens early in startup in some configurations. But in that case `finish_agent_init` is called by `debugger_agent_init` which also calls `mono_gc_base_init` which sets up the thread state and attaches the thread) As followup work, we will need to adjust net7+ watchOS in https://github.com/xamarin/xamarin-macios _not_ to do a transition to GC Safe in its `sdb_send` and `sdb_recv` functions. This is https://github.com/xamarin/xamarin-macios/issues/11220 * add transitions to unsafe in calls back into mono
-
由 Maxim Lipnin 提交于
SocketAddressTest.ToString_UnsupportedFamily_Throws test fails on Android in case of AddressFamily.Packet and AddressFamily.ControllerAreaNetwork because it expects PNSE for both address family types but there is no any exception thrown. This change disables the mentioned test on Android due to different behavior. Also, I'm not sure whether the test has right name. #47911 (comment)
-
由 Thays Grazia 提交于
-
由 Marie Píchová 提交于
* Update msquic revision in docs after certificate work. * New ActiveIssue and a type in comment.
-
由 Maxim Lipnin 提交于
Mark PNSE-throwing methods in System.Net.NetworkInformation.IPGlobalProperties as unsupported on Android (#50855) Part of #47911. This is to annotate the following methods in System.Net.NetworkInformation.IPGlobalProperties as unsupported on Android since they throw PNSE: - GetActiveTcpConnections(); - GetActiveTcpListeners(); - GetActiveUdpListeners();
-
由 Stephen Toub 提交于
* Add InterpolatedStringBuilder * Address PR feedback * Revise based on API review * Address PR feedback * Fix DateOnly/TimeOnly
-
由 Mansoor Saqib 提交于
* Currently the CMAKE_BUILD_TYPE is not being passed in when creating the native library intermediates. * Before the change to Ninja for CMake generation (8c2158f9) the default uninitialized cmake build type was set to Release so the bug was not visible. * After the Ninja change, the default uninitialized cmake build type is set to Debug so it becomes more apparent. * This improves performance of native libs like System.IO.Compression by a considerable amount as they are currently being built in Debug, even when the Release configuration is specified.
-
-
由 Tomáš Matoušek 提交于
-