- 16 4月, 2021 7 次提交
-
-
由 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 33 次提交
-
-
由 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 提交于
-
由 Stephen Toub 提交于
-
由 Matt Thalman 提交于
`LibSystemCommonCrypto` and `LibSystemKernel` are unused by any code so removing them as dead code.
-
由 Aleksey Kliger (λgeek) 提交于
In https://github.com/dotnet/runtime/pull/49738/files#diff-9bd9d0e46241d07dc62110246c89c9f056333eff4b0b089551780a625c871d0dL1982 When the code changed from acessing ca->rows directly, to using table_info_get_rows, the "then" branch here was changed incorrectly. The old code was ```c if (method_index == ca->rows) { ca = &image->tables [MONO_TABLE_PARAM]; param_last = ca->rows + 1; ``` So `param_last` should be set to one past the last row of MONO_TABLE_PARAM, not one past the number of rows in MONO_TABLE_METHOD (ca)
-
由 Jan Kotas 提交于
-
由 Layomi Akinrinade 提交于
* Rename JsonClassInfo to JsonTypeInfo * Move existing metadata types to new Metadata sub-folder/sub-namespace * Add JsonMetadataServices and APIs needed by source generator * Add tests and address feedback * Rename ClassType to ConverterStrategy and clean up usage * Move JsonSerializerContext to S.T.J.Serialization namespace and address doc feedback
-
由 Vladimir Sadov 提交于
* enable compression of assemblies * fix Unix build * map should use converted layout for compressed * enable execution for R2R * fixes for OSX * PR feedback (comments) * more PR feedback * shorter include path to pal_zlib.h * Apply suggestions from code review Co-authored-by: NVitek Karas <vitek.karas@microsoft.com> Co-authored-by: NVitek Karas <vitek.karas@microsoft.com>
-
由 Egor Bogatov 提交于
Inlinee guarded devirtualization candidates that are also tail call candidates can share the return temp with the parent inline. Blocks containing only GT_NOP or only GT_PHI are empty. Co-authored-by: NAndy Ayers <andya@microsoft.com>
-
由 Pent Ploompuu 提交于
-
由 Bruce Forstall 提交于
Tracking: https://github.com/dotnet/runtime/issues/51133
-
由 Bruce Forstall 提交于
Tracking issue: #51209
-
由 Andy Gocke 提交于
Co-authored-by: NAnton Lapounov <anton.lapounov@microsoft.com>
-
由 Fan Yang 提交于
Fixes #51236
-
由 Stephen Toub 提交于
* Enable JsonSerializerOptions cache clearing for hot reload metadata update * Address PR feedback
-
由 Jeremy Barton 提交于
Overall structure of changes * Pull compatibility headers out into separate include files, because opensslshim.h is too big. * Use forward definition of EVP_PKEY_CTX_set_rsa_keygen_bits and friends. * These are in a new apibridge file because they're for bridging up to 3.0, and the existing one was for 1.1(.1) * Some constants needed for this file changed between 1.1 and 3.0, so there are a lot of asserts and redefines. * On OpenSSL 3.0, build a legacy version of ERR_put_error since it has the easier signature to work with. * FALLBACK_FUNCTION doesn't care which version it bound to, if it doesn't find it use a local_ function. * Renamed NEW_REQUIRED_FUNCTION to REQUIRED_FUNCTION_110 because "new" is now "sort of old". * There's a manual sanity test that either ERR_put_error or the three new functions that together replace it are found, so we don't end up in a state where we can't report shim-injected errors. Portable build checker: * Built with OpenSSL 1.0.2 headers (Ubuntu 16.04 default libssl-dev) * Ran with 1.0.2 (Ubuntu 16.04 default libssl) * Ran with 1.1.1 (Ubuntu 18.04 default libssl) * Ran with 3.0 (Ubuntu 16.04 with local build of OpenSSL 3.0 alpha 13) * Built with OpenSSL 1.1.1 headers (Ubuntu 18.04 default libssl-dev) * Ran with 1.0.2 (Ubuntu 16.04 default libssl) * Ran with 1.1.1 (Ubuntu 18.04 default libssl) * Ran with 3.0 (Ubuntu 16.04 with local build of OpenSSL 3.0 alpha 13) * Built with OpenSSL 3.0 headers (Ubuntu 16.04 with local build of OpenSSL 3.0 alpha 13 and some surgery to the extra_libs.cmake) * Ran with 1.0.2 (Ubuntu 16.04 default libssl) * Ran with 1.1.1 (Ubuntu 18.04 default libssl) * Ran with 3.0 (Ubuntu 16.04 with local build of OpenSSL 3.0 alpha 13) 3.0 doesn't run error-free, but it runs with the same error rate from portable and direct builds. All verification was limited to the System.Security.Cryptography.Algorithms.Tests run, but that's generally representative of the bindings.
-
由 Aleksey Kliger (λgeek) 提交于
* wip: allow Property table (0x17) EnCLog entries in pass1 * [mbr] Allow MONO_TABLE_PROPERTY updates in pass2 Note that modifications of getter or setter bodies add new rows to the MethodSemantics table that point to an existing method def (with an updated IL) and to an existing row in the property table. So there is nothing to do. * [mbr] Add pass1 check that new MethodSemantics are pointing at existing methods. We only support modifications of getters/setters, not adding a new getter or setter where there wasn't one previously. (Adding new methods in general fails right now) * address feedback
-
https://github.com/dotnet/xharness由 dotnet-maestro[bot] 提交于
[main] Update dependencies from dotnet/xharness
-
由 Brian Sullivan 提交于
* Use target_size_t for VNForByrefCon * run clang-format * Change assert to use TYP_I_IMPL
-