Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-10-15[ci] Always initialize an AzDO variableAlexander Köplinger
Otherwise the script will not replace the variable and we get confusing error messages like this: ``` [command]/bin/bash --noprofile --norc /home/builder/azdo/_work/_temp/ba0890e7-8c80-4245-b9dc-14253b0d399f.sh /home/builder/azdo/_work/_temp/ba0890e7-8c80-4245-b9dc-14253b0d399f.sh: line 2: llvm: command not found /home/builder/azdo/_work/_temp/ba0890e7-8c80-4245-b9dc-14253b0d399f.sh: line 2: [: =: unary operator expected ```
2019-10-15[ci] Only install android-specific brew packages when building for androidAlexander Köplinger
2019-10-15Bumps corefx to mono/corefx@8e3b279 (#17307)Steve Pfister
Resolves https://github.com/mono/mono/issues/17288 where RequestUri in HttpRequestMessage did not allow file:// based Uri's the same way its constructor did.
2019-10-15Update codeownersRyan Lucia
Get notifications for various files in metadata
2019-10-15Update dependencies from https://github.com/dotnet/corefx build 20191013.1dotnet-maestro[bot]
- Microsoft.Private.CoreFx.NETCoreApp - 5.0.0-alpha1.19513.1
2019-10-15Update dependencies from https://github.com/dotnet/core-setup build 20191014.1dotnet-maestro[bot]
- Microsoft.NETCore.App - 5.0.0-alpha1.19514.1
2019-10-15Update dependencies from https://github.com/dotnet/arcade build 20191011.1dotnet-maestro[bot]
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19511.1 - Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.19511.1
2019-10-15Update dependencies from https://github.com/dotnet/corefx build 20191008.3dotnet-maestro[bot]
- Microsoft.Private.CoreFx.NETCoreApp - 5.0.0-alpha1.19508.3
2019-10-15Update dependencies from https://github.com/dotnet/core-setup build 20191008.2dotnet-maestro[bot]
- Microsoft.NETCore.App - 5.0.0-alpha1.19508.2
2019-10-15Update CoreFX.issues.rspFilip Navara
See https://github.com/mono/mono/pull/17232#issuecomment-541973035.
2019-10-15[netcore] Avoid suspending threads in Environment.Exit, it can hang process ↵Filip Navara
(#17318) CoreCLR doesn't suspend threads on exit (https://github.com/dotnet/corefx/pull/41450#issuecomment-536755093, https://github.com/dotnet/coreclr/pull/1813). Fixes #17317 Fixes #15006 Fixes #15010 Fixes #15181 Unblocks #17232
2019-10-14[ci] Restore previous values for no Xcode in CI_TAGSAlexander Köplinger
It is still used by the non-pipeline PR builds (we should unify this at some point).
2019-10-14Remove broken sin/cos optimization for x86Filip Navara
2019-10-14Remove broken sin/cos optimization for x64Filip Navara
2019-10-14[wasm] Continue loading app even when `.pdb` files are not found (#17266)Kenneth Pouncey
* This adds the ability to continue loading the application even though the .pdb files are not found. When uploading an app built with mono-wasm the `.pdb` may not get committed so they will not exist when trying to load them. - Add new boolean variable to MONO library support to control skipping these files on errors. - `mono_wasm_ignore_pdb_load_errors` default is true - Modify the assembly file fetching routine `mono_load_runtime_and_bcl` within our MONO module. - Allows skipping the .pdb files if the `mono_wasm_ignore_pdb_load_errors` flag is true.
2019-10-14[netcore] Update dotnet sdk version (#17312)Fan Yang
The previous one was broken.
2019-10-14Fix msvc build warning, empty source main-core.c. (#17305)Johan Lorensson
2019-10-14[ci] Fix ios versions in Mono SDKs and fix typoAlexander Köplinger
2019-10-14[loader] Locking and coop related cleanup; fix leakRyan Lucia
2019-10-14[loader] Move PInvoke and DllMap code into separate source fileRyan Lucia
2019-10-14[netcore] Remove unused InternalLoadUnmanagedDllFromPathRyan Lucia
As of https://github.com/dotnet/coreclr/pull/27090
2019-10-14[netcore] Use a single NativeLibrary.cs for all platformsRyan Lucia
2019-10-14[ci] Use Xcode11.1 for XI/XM Mono SDK builds (#17313)Alexander Köplinger
As requested by the xamarin-macios team.
2019-10-14[System.Net.Http] Clean up HttpMessageHandler setup (#17252)Marek Safar
* [System.Net.Http] Clean up HttpMessageHandler setup to avoid reflection and not to be recursive Superseded #15051 and #15922 * [csproj] Update project files
2019-10-12Mirror changes from mono/coreclr (#17297)Dotnet-GitSync-Bot
* Enable fast-paths on Mono for Array (dotnet/coreclr#27144) Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com> * [CoreLib] Remove String fields moved to shared * Stub Array Try* methods
2019-10-12[loader] Fix gnu/lib-names.h define (#17294)Ryan Lucia
2019-10-12[runtime] Add portable cached array creation functions and replace ↵Jay Krell
gcc-specific impl. (#16855) * Remove unused mono_class_get_field_from_name_cached. * Replace gcc-specific: mono_array_class_get_cached mono_array_new_cached mono_array_new_cached_handle with portable forms that are easy enough to use and general enough. Before was "easier" because cache provided for you -- possibly multiple. Before was more general because rank was a parameter -- and had to be a constant. It was always 1.
2019-10-11Enable more hw intrinsics for AOT (#17160)Egor Bogatov
* Enable more hw intrinsics for AOT * Address feedback * does it fix the failure? * fix loadedllvm * Address feedback * fix copy-paste * forgot MONO_LLVM_INTERNAL
2019-10-11[sdks] Android runner: properly shutdown runtime for Mono.Debugger.Soft test ↵Aleksey Kliger (λgeek)
app (#17261) * [sdks] properly shutdown runtime for Mono.Debugger.Soft test app mini_jit_cleanup will cause mono_runtime_try_shutdown to be called before mono_runtime_quit which will set the shutting down flags in the runtime. * [test] Re-enable disabled tests
2019-10-11Update MERP event type to MonoAppCrash (#17131)Kyle White
* Update parameters in MERP WerReportMetadata xml To enable backend analysis, we need to update our parameters to match our back end event type, which is MonoAppCrash. It doesn't make sense to me that the previous implementation constructed the XML here in Mono, but depended on the user (VSMac in this case) to add the "correct" event type. The parameters in the XML, must match exactly what is expected for the given EventType, and so we should ensure they are always in-sync by defining them here. Thus, I removed the usage of `eventType` in `mono_merp_enable` and hard coded the expected eventType. * [merp] Don't pass eventType from managed The eventType must me MONO_MERP_EVENT_TYPE_STR ("MonoAppCrash") - the backend determines the format of the other fields based on the event type, so it doesn't make sense to pass other values from managed since the runtime controls the other fields. For compatability Mono.Runtime.EnableMicrosoftTelemetry will still take a string parameter (now called "unused" instead of "eventType_str") but it will not pass it down to the internal call. * Bump corlib version * [merp] Revert paramerters in WerReportMetadata.xml Still need event type to be `MonoAppCrash` but the parameters will be the same as before.
2019-10-11[tests] Bump corefx to get Azure testhost change (#17275)Alexander Köplinger
* Bump corefx to get Azure testhost change See https://github.com/mono/corefx/pull/360 * Update ClientWebSocketTest as well
2019-10-11Refactoring the ARM intrinsics to match API review and share code with x86 ↵Tanner Gooding
(#25508) * Rewriting the ARM64 HWIntrinsic JIT infrastructure to share with and mirror the x86 infrastructure where possible. * Lowercasing the hwintrinsicarm64 and hwintrinsiclistarm64 files. * Applying formatting patch. * Fixing up some names in the PAL and VM that were missed. * Adding support for AdvSimd.Add * Ensure impSpecialIntrinsic returns nullptr for unsupported base types. * Rewording various method headers and simplifying some code. * Fixing getEmitter to GetEmitter * Adding support for the ld1 instruction * Applying formatting patch * Clarifying a todo comment and removing a stray newline * Fixing the Arm64 impSpecialIntrinsic to not assert for helper intrinsics * Fixing some intrinsic signatures that were incorrect * Adding the initial template files for generating Arm HWIntrinsic tests * Generating the initial batch of Arm HWIntrinsic tests * Replace gtRegNum with GetRegNum() * Fixing the test template alignment checks for Arm * Regenerating the Arm HWIntrinsic tests * Fixing the namespace checked for Arm intrinsics * Changing Base to ArmBase and fixing some Arm hwintrinsic metadata * Fixing the arm emitter and lowering to not assert for hwintrinsics * Fixing the arm intrinsics to not set the number of vector elements for SIMDScalar intrinsics * Updating the AdvSimd.Abs tests to use negative input values * Regenerating the arm hwintrinsic tests * Fixing the arm hwintrinsic codegen to use the element size for simd scalar operations. * Fixing the arm scalar intrinsic tests to check for 0 on upper bits * Regenerating the ARM intrinsic tests * Fixing AdvSimd.AbsScalar and AdvSimd.AddScalar to be recursive * Marking AdvSimd.Arm64 and ArmBase.Arm64 as implemented * Ensure that AdvSimd.Arm64.Abs is marked as variable size Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2019-10-10Update Linker. This fixes a Xamarin.Android breakage (#17272)Jo Shields
2019-10-10[interp] Kill more instructions (#17226)Vlad Brezae
* [interp] Replace STLOC to dead local with MINT_POP * [interp] Optimize MINT_POP It was only used for 0 and 1 values. The implementation for values larger than 1 was broken anyway. * [interp] Remove unnecessary usage of MINT_POP1 When storing a static field from a CEE_STFLD instruction. * [interp] Prevent optimizing away the stack, after a branch We know the contents of the stack following a branch, so we could have optimized away some instructions preceding the branch. We shouldn't do this because the code we are branching to expects a certain stack size. * [interp] Clear instructions which push unused values on stack * [interp] Properly initialize stack when pushing local
2019-10-10[csproj] Update project filesmonojenkins
2019-10-10[System.Net.Http] Make HttpClientHandler on WatchOS always fallbackMarek Safar
to platform handler. This simplifies HttpClientHandler in shared libraries and the "default" socket handler would always throw PNSE anyway
2019-10-10[eglib] Add newline for failure check prints (#17262)Ryan Lucia
2019-10-10Incorrect constrained virtual call in method using gsharedvt for reference ↵Johan Lorensson
type. (#17227) * Incorrect constrained virtual call in method using gsharedvt for reference type. For generic constrained virtual calls using reference type's, the virtual call will be dispatched using instance vtable. When the same virtual call is taking place in a gsharedvt method, mono_gsharedvt_constrained_call gets called that will assist making the call, the problem is that it will use the constrained class for reference types meaning that it will not call the most derived implementation of the method. This difference in the behavior compared to none gsharedvt versions of methods, gives inconsistent results. One way this will reproduce is by using Dictionary<Type, EmptyStruct>. For methods that will take both Type (reference type) and EmptyStruct (value type) like Add, calling that through IDictionary (hiding details from compiler) will use the gsharedvt version of the method. Internally that method will call Type.GetHashCode (), and since Type really is a RuntimeType it overrides GetHashCode. But since mono_gsharedvt_constrained_call will use the constrained class instead of the instance class, the called method will be Object.GetHashCode, that gives a different result. When later ContainsKey is called using the same Type, it only takes a reference value, so not using a gsharedvt version of the method, then the most derived version of GetHashCode will be called, given a different hash, not finding item in dictionary. Fix is to make sure behavior in mono_gsharedvt_constrained_call match behavior for regular constrained virtual calls when having a reference type. This makes sure we always call the most derived version of the method. Commit also adds a test for this specific scenario using a dictionary. * Updated to a more low-level test.
2019-10-10[mini] trace snippet should restore return value (#17251)Bernhard Urban-Forster
* [mini] trace snippet should restore return value This is a problem on architectures with a floating point stack (x86). Without this PR and without `--trace` the managed-to-native wrapper for `Math.Ceiling` has a basic block like this at the end: ``` AFTER LOWER-VTYPE-OPTS 4: [IN: BB6(5) BB3(1), OUT: BB1(3) ] fmove R34 <- R16 ldaddr R35 <- R10 load_membase R37 <- [R35 + 0x0] store_membase_reg [R36] <- R37 il_seq_point il: 0x2d ``` `R16` contains the return value. `ldaddr`/`load_membase`/`store_membase_reg` is the sequence for LMF popping. `mono_spill_global_vars` does this with it: ``` SPILL BLOCK 4: fmove R34 <- R16 ff 34 16 0 loadr8_membase R34 <- [%ebp + 0xffffffd4] 1 nop ldaddr R35 <- R10 ii 35 5 1 add_imm R35 <- %ebp [-36] clobbers: 1 load_membase R37 <- [R35 + 0x0] ii 37 35 1 load_membase R37 <- [R35 + 0x0] store_membase_reg [R36] <- R37 ii -1 37 1 store_membase_reg [%edi] <- R37 il_seq_point il: 0x2d -1 1 il_seq_point il: 0x2d ``` The local register allocator takes care of the FP stack handling: ``` processing: 0 loadr8_membase %fr0 <- [%ebp + 0xffffffd4] [%fr0] processing: 0 load_membase %eax <- [%ebp + 0xffffffdc] [%fr0] processing: 0 store_membase_reg [%edi] <- %eax [%fr0] processing: 0 il_seq_point il: 0x2d [%fr0] ``` At the end of the basic block we have one value left on the FP stack. That's good as we are in the `cfg->bb_exit` basic block, so this is ought to be the return value. Let's enable `--trace=M:System.Math:Ceiling`. It will insert some code in order to copy arguments/return value to some datastructure that can then be printed by the trace code: ``` processing: 0 loadr8_membase %fr0 <- [%ebp + 0xffffffd4] [%fr0] processing: 0 iconst %eax <- [11116832] [%fr0] processing: 0 iconst %eax <- [52] [%fr0] processing: 0 localloc_imm %eax <- [%fr0] processing: 0 localloc_imm %ecx <- [%fr0] processing: 0 store_membase_reg [%eax + 0x30] <- %ecx [%fr0] processing: 0 x86_lea_membase %edx <- %ebp [%fr0] processing: 0 store_membase_reg [%ecx] <- %edx [%fr0] processing: 0 store_membase_imm [%eax + 0x28] <- [11116832] [%fr0] processing: 0 storer8_membase_reg [%ebp + 0xffffffcc] <- %fr0 [] processing: 0 x86_lea_membase %ecx <- %ebp [] processing: 0 store_membase_reg [%eax + 0x2c] <- %ecx [] processing: 0 store_membase_reg [%esp + 0x4] <- %eax [] processing: 0 store_membase_imm [%esp] <- [11116832] [] processing: 0 voidcall [mono_trace_leave_method] clobbers: c [] processing: 0 x86_lea_membase %eax <- %ebp [] processing: 0 load_membase %eax <- [%ebp + 0xffffffdc] [] processing: 0 store_membase_reg [%edi] <- %eax [] processing: 0 il_seq_point il: 0x2d [] ``` At the very beginning we push some value on the FP stack, same as before. However the code inserted by the tracing code will pop that value. Now, when returning to the, it will pop again something from the FP stack, but alas it's gonna be garbage. With this PR it looks like this: ``` processing: 0 loadr8_membase %fr0 <- [%ebp + 0xffffffd4] [%fr0] processing: 0 iconst %eax <- [11116832] [%fr0] processing: 0 iconst %eax <- [52] [%fr0] processing: 0 localloc_imm %eax <- [%fr0] processing: 0 localloc_imm %ecx <- [%fr0] processing: 0 store_membase_reg [%eax + 0x30] <- %ecx [%fr0] processing: 0 x86_lea_membase %edx <- %ebp [%fr0] processing: 0 store_membase_reg [%ecx] <- %edx [%fr0] processing: 0 store_membase_imm [%eax + 0x28] <- [11116832] [%fr0] processing: 0 storer8_membase_reg [%ebp + 0xffffffcc] <- %fr0 [] processing: 0 x86_lea_membase %ecx <- %ebp [] processing: 0 store_membase_reg [%eax + 0x2c] <- %ecx [] processing: 0 loadr8_membase %fr0 <- [%ebp + 0xffffffcc] [%fr0] processing: 0 store_membase_reg [%esp + 0x4] <- %eax [%fr0] processing: 0 store_membase_imm [%esp] <- [11116832] [%fr0] processing: 0 voidcall [mono_trace_leave_method] clobbers: c [%fr0] processing: 0 x86_lea_membase %eax <- %ebp [%fr0] processing: 0 load_membase %eax <- [%ebp + 0xffffffdc] [%fr0] processing: 0 store_membase_reg [%edi] <- %eax [%fr0] processing: 0 il_seq_point il: 0x2d [%fr0] ``` Leaving us the return value on the FP stack before returning. Fixes https://github.com/mono/mono/issues/16410
2019-10-10Fix g_assert_not_reached message regression. (#17263)Jay Krell
Fix g_assert_not_reached message regression.
2019-10-10[tests] Disable tests that crash on android sdks (#17255)Vlad Brezae
Running these tests makes the application crash, probably at shutdown. Even if the tests are reported as passing, check if disabling them fixes the suite timeout on android osx sdks.
2019-10-09Remove varargs from g_assert and g_assert_not_reachable. (#17254)Jay Krell
Remove varargs from g_assert and g_assert_not_reachable (save 200+ bytes per frame in wasm interp). g_assertf unchanged. I have a strong suspicion, this will save approximately 432 - sizeof (InterpFrame) bytes of stack per function call in the WebAssembly interpreter. It will not significantly benefit or hurt any other system. Systems with disabled asserts will receive a small size improvement. WebAssembly has no provision for varargs. Emscripten emulates it. It appears the emulation allocates room in the frame per outgoing varargs call. No stack packing. So each g_assert takes space. Alternative would be to discourage or disable or remove asserts.
2019-10-09[System.Web] Now IsExpired property for FormsAuthenticationTicket compares ↵David Bueno
two dates with same kind (UTC) to avoid unexpected results (#17162) Fixes #17161
2019-10-09[Mono.Posix] Add support for memfd_create() and file sealing (#17225)Steffen Kieß
* [Mono.Posix] Add support for memfd_create() and file sealing Add the linux syscall memfd_create() and add support for file sealing with fcntl(). * Bump API snapshot submodule
2019-10-09[mini] print inserted instruction in verbose logging (#17249)Bernhard Urban-Forster
[mini] print inserted instruction in verbose logging before: ``` fmove R11 <- R9 ff 11 9 1 nop ``` after: ``` fmove R11 <- R9 ff 11 9 0 loadr8_membase R11 <- [%ebp + 0x8] 1 nop ```
2019-10-09[mini] Fix check for FastAllocateString that used old name (#17219)Filip Navara
* Fix check for FastAllocateString that used old name * Fix linker scripts * Update the icall name for FastAllocateString to match managed name * Update size check in managed allocator * One more 64-bit target fix
2019-10-09[sgen] Fix invalid value passed to write barrier (#17236)Vlad Brezae
When doing memory copy dest is the destination address and src is the source address. If we are copying a single reference, we need to emit a write barrier and pass to the write barrier the value, not the pointer where the value is stored.
2019-10-09Add drawing type converters to mobile profiles (#17238)Alexander Köplinger
* Add drawing type converters to mobile profiles Needed for https://github.com/xamarin/xamarin-android/issues/3726 * Bump API snapshot submodule * [csproj] Update project files
2019-10-09Running --enable-msvc-only didn't find jay.vcxproj. (#17228)Johan Lorensson
2019-10-09Optimize ToString() for byte, ushort, uint and ulong (dotnet/coreclr#27056)Egor Bogatov
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>