Adam Sitnik [Tue, 14 Jul 2020 17:06:23 +0000 (19:06 +0200)]
add OSPlatform.macOS, switch to OrdinalIgnoreCase for OSPlatform comparisons (#39209)
* add OSPlatform.macOS, hide OSX
* use OrdinalIgnoreCase for platform name comparisons
* RuntimeInformation.IsOSPlatform(OSPlatform.macOS) must return true on OSX
* add new test cases for IsOSPlatformEarlierThan and IsOSPlatformOrLater
* cache the IsCurrent information
* apply code review suggestion
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
* apply code review suggestion
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Anirudh Agnihotry [Tue, 14 Jul 2020 17:03:52 +0000 (10:03 -0700)]
Adding attribute keyword to all the attributes in the ref (#39255)
dotnet-maestro[bot] [Tue, 14 Jul 2020 16:35:20 +0000 (18:35 +0200)]
[master] Update dependencies from mono/linker dotnet/runtime-assets dotnet/icu (#39158)
* Update dependencies from https://github.com/mono/linker build
20200711.1
Microsoft.NET.ILLink.Tasks
From Version 5.0.0-preview.3.20360.3 -> To Version 5.0.0-preview.3.20361.1
* Update dependencies from https://github.com/dotnet/runtime-assets build
20200710.1
System.ComponentModel.TypeConverter.TestData , System.Drawing.Common.TestData , System.IO.Compression.TestData , System.IO.Packaging.TestData , System.Net.TestData , System.Private.Runtime.UnicodeData , System.Security.Cryptography.X509Certificates.TestData , System.Windows.Extensions.TestData
From Version 5.0.0-beta.20319.2 -> To Version 5.0.0-beta.20360.1
* Update dependencies from https://github.com/dotnet/icu build
20200709.7
Microsoft.NETCore.Runtime.ICU.Transport
From Version 5.0.0-preview.8.20359.5 -> To Version 5.0.0-preview.8.20359.7
* Remove unsupported option
* Bump SDK dependency to bring updated ILLink task
* Update trimmer configuration property names
* Keep debug symbols as they are needed for the tests
* Disable trimming tests on Windows due to weird pdbs handling
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Marek Safar <marek.safar@gmail.com>
Alexander Köplinger [Tue, 14 Jul 2020 16:07:04 +0000 (18:07 +0200)]
WASM: Fix System.Diagnostics.Tracing (#39271)
It was missing a few signatures in wasm_m2n_invoke.g.h that caused it to fail with `WASM-ERR: CANNOT HANDLE INTERP ICALL SIG IIILIIII`
Alexander Köplinger [Tue, 14 Jul 2020 16:01:19 +0000 (18:01 +0200)]
WASM: Disable two GetFunctionPointerForDelegate tests (#39278)
Known issue: https://github.com/dotnet/runtime/issues/39187
Maxim Lipnin [Tue, 14 Jul 2020 14:35:10 +0000 (17:35 +0300)]
[wasm] Enable System.Runtime.Serialization.Primitives test suite (#39264)
Alexander Köplinger [Tue, 14 Jul 2020 14:33:57 +0000 (16:33 +0200)]
WASM: Disable System.Net.Primitives.Pal.Tests.csproj (#39272)
It got reactived but an unrelated PR introduced a test failure for it, disable it again.
Alexander Nikolaev [Tue, 14 Jul 2020 14:18:08 +0000 (16:18 +0200)]
Socket's connect operations tracing (#38620)
Socket's connect start, stop and cancelled events are logged as activities via EventSource.
Contributes to #37428
Alexander Nikolaev [Tue, 14 Jul 2020 14:12:58 +0000 (16:12 +0200)]
WinHttpHandler multiple HTTP/2 connections test is skipped on older Windows (#39266)
Fixes #39258
Eric Erhardt [Tue, 14 Jul 2020 14:02:12 +0000 (09:02 -0500)]
Fix DebuggerTypeProxy on ObjectCollection (#39234)
Using `nameof(DebugView)` doesn't work because DebugView is a nested type, so this isn't the full name of the type. Fixing to use typeof instead.
Johan Lorensson [Tue, 14 Jul 2020 13:09:27 +0000 (15:09 +0200)]
Keep weak gc handle for EventPipe delegate callback in provider. (#39205)
Zoltan Varga [Tue, 14 Jul 2020 11:18:39 +0000 (07:18 -0400)]
[wasm] Fail right away in interp_create_method_pointer () when trying to create a function pointer to a native-to-managed wrapper. (#39260)
The previous method of returning interp_no_native_to_managed doesn't work:
* The runtime expects different function pointers for different methods, returning
the same pointer leads to all kinds of weird errors.
* On wasm, the native caller expects the function to have the right signature, so
calling interp_no_native_managed () will leads a to signature mismatch error which is
hard to debug.
Maxim Lipnin [Tue, 14 Jul 2020 10:18:46 +0000 (13:18 +0300)]
[wasm] Enable System.Runtime.Serialization.Xml and System.Runtime.Serialization.Xml.ReflectionOnly test suites (#39262)
Maxim Lipnin [Tue, 14 Jul 2020 10:15:41 +0000 (13:15 +0300)]
[wasm] Enable System.Runtime.Serialization.Json test suite (#39193)
* [wasm] Enable System.Runtime.Serialization.Json test suite
* Remove System.Runtime.Serialization.Json.Tests project from the exclusion list
* Remove System.Runtime.Serialization.Json.ReflectionOnly.Tests project from the exclusion list
Mitchell Hwang [Tue, 14 Jul 2020 10:09:39 +0000 (06:09 -0400)]
[wasm] Address System.Runtime.Loader.DefaultContext failure (#39204)
* [wasm] Add ActiveIssue to LoadInDefaultContext for wasm
* [libraries] Remove System.Runtime.Loader.DefaultContext project exclusion
Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
Mitchell Hwang [Tue, 14 Jul 2020 10:05:51 +0000 (06:05 -0400)]
[wasm] Address System.Runtime.InteropServices failures on Browser (#39188)
* [wasm] Modify OffsetOf_Decimal_ReturnsExpected for Browser
* [wasm] Add ActiveIssues for GetDelegateForFunctionPointerTests and GetFunctionPointerForDelegateTests
* [libraries] Remove System.Runtime.InteropServices project exclusion
Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
Maxim Lipnin [Tue, 14 Jul 2020 10:03:42 +0000 (13:03 +0300)]
[wasm] Enable System.Net.Http.Unit test suite (#39181)
* [wasm] Enable System.Net.Http.Unit test suite
* Remove System.Net.Http.Unit test project from the exclusion list
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
Alexander Köplinger [Tue, 14 Jul 2020 10:00:37 +0000 (12:00 +0200)]
WASM: Disable tests on System.Diagnostics.StackTrace that fail (#39226)
Alexander Köplinger [Tue, 14 Jul 2020 09:59:01 +0000 (11:59 +0200)]
WASM: Add PNSE for System.Net.NameResolution and disable tests (#39219)
We only support `Dns.GetHostName()` since that didn't throw in the older mono WebAssembly release and can be redirected to `Environment.MachineName`.
Alexander Köplinger [Tue, 14 Jul 2020 09:58:11 +0000 (11:58 +0200)]
WASM: Fix System.Diagnostics.TraceSource tests (#39224)
* WASM: Fix System.Diagnostics.TraceSource tests
One test was using `Assembly.GetEntryAssembly()` which returns null on WebAssembly.
Others are testing that the output contains the stacktrace but it is empty on WASM right now.
* PR feedback
Co-authored-by: Stephen Toub <stoub@microsoft.com>
Co-authored-by: Stephen Toub <stoub@microsoft.com>
Alexander Köplinger [Tue, 14 Jul 2020 09:55:39 +0000 (11:55 +0200)]
WASM: Disable tests in System.ComponentModel.Annotations that rely on globalization (#39228)
Allows the test suite to pass on WebAssembly: `Tests run: 692, Errors: 0, Failures: 0, Skipped: 15. Time: 1.237011s`
Alexander Köplinger [Tue, 14 Jul 2020 09:54:20 +0000 (11:54 +0200)]
WASM: Disable thread related tests on System.IO.Compression (#39231)
They try to test various conditions that only work if you have multiple threads which is not the case on WebAssembly.
Jeff Handley [Tue, 14 Jul 2020 09:22:13 +0000 (02:22 -0700)]
Allow platform-specific attributes on Fields (#39214)
Eric StJohn [Tue, 14 Jul 2020 07:54:22 +0000 (00:54 -0700)]
Remove System.Reflection.DispatchProxy package (#39220)
This library was added to .NETStandard2.1 and thus can no-longer be
changed.
Tanner Gooding [Tue, 14 Jul 2020 05:50:30 +0000 (22:50 -0700)]
Adding LinkedListNode<T>.ValueRef (#39236)
Ivan Povazan [Tue, 14 Jul 2020 05:23:16 +0000 (07:23 +0200)]
Portable PDB support for ilasm (#37702)
Minimum viable support for portable pdb generation from ilasm.
Supporting the following features of the portable pdb format
- Portable PDB CodeView debug directory entry
- Document table
- MethodDebugInformation table
- Local scope table
- Local variable table
This change extends the metadata writer to be able to write the portable pdb format.
- All changes related to portable PDB metadata generation should be controlled with preprocessor directive FEATURE_METADATA_EMIT_PORT_PDB
- New metadata code is not included in the runtime, as the runtime uses a managed parser when it works with portable pdbs
Authored-by: Ivan Povazan <ivan@raincode.com>
Tarek Mahmoud Sayed [Tue, 14 Jul 2020 05:09:24 +0000 (22:09 -0700)]
Add NeutralResourcesLanguageAttribute to corefx libraries (#39135)
imhameed [Tue, 14 Jul 2020 04:05:44 +0000 (21:05 -0700)]
Run CoreCLR runtime tests using Mono with LLVM AOT. (#38547)
- coreclr/build-test.sh now has a new subcommand: 'mono_aot', which builds a
new target, named 'MonoAotCompileTests', added to
coreclr/tests/src/runtest.proj. This target compiles the runtime tests using
Mono LLVM AOT in a simple configuration where the host platform is identical to
the target platform. Parallel compilation happens via a hack: actual
compilation happens in mono/msbuild/aot-compile.proj, a single-target msbuild
file, and runtest.proj invokes this single-purpose project and target using
batching to create multiple parallelizable instances of this project. Future
work: use the MonoAOTCompiler custom task currently used to build the iOS
sample program.
- Avoid using the runtimeVariant string when defining
coreClrProductArtifactName in mono/templates/xplat-pipeline-job.yml. There are
no "runtime variants" of CoreCLR configured with this parameter; instead,
depend on a shared non-runtime-variant build of CoreCLR.
- Mark function DISubprograms as local definitions--this is an LLVM 9
compatibility fix.
- Use --tag=CXX when linking libmonosgen-2.0.so via libtool when LLVM is linked
into Mono.
This makes libtool use the C++ compiler driver when linking Mono--which uses
whatever platform-specific flags are necessary to link against the C++ stdlib.
Previously, libtool would use the C compiler driver, which didn't do this and
would produce shared objects with no explicit dependency on libstdc++.
This problem is normally masked because of the very lax dynamic linking
semantics on ELF, but Mono on our CI setup is built in a CentOS 7 image (which
does not contain a C++11 libstdc++) that has a GCC 7 compatibility package
installed, along with a clang 9 installation that detects headers from the GCC
7 compatibility package. This compatibility package includes a libstdc++ linker
script that links C++11 libstdc++ components statically into the target while
dynamically linking against components present in pre-C++11 libstdc++. The end
result of all of this is that Mono built with this configuration will
dynamically depend on C++11 libstdc++ symbols that should have been statically
linked into the library, and will outright fail to run on machines without a
newer version of libstdc++ available.
- Add tests that fail after LLVM AOT compilation to issues.targets.
Geoff Kizer [Tue, 14 Jul 2020 03:58:36 +0000 (20:58 -0700)]
add write queue to Http2Connection to optimize write handling (#39166)
* add write queue to Http2Connection to optimize write handling
* address feedback
* remove AsyncMutex
* remove AsyncMutex for real
* use Channel<T> instead of custom queue
* make channel options static
Co-authored-by: Geoffrey Kizer <geoffrek@windows.microsoft.com>
Stephen Toub [Tue, 14 Jul 2020 01:39:31 +0000 (21:39 -0400)]
Fix ManagedWebSocket ordering of releasing send buffer and semaphore (#39199)
Once we release the semaphore, we no longer have ownership over _sendBuffer, so we have to release the latter before not after releasing the semaphore.
Yoh Deadfall [Tue, 14 Jul 2020 00:32:00 +0000 (03:32 +0300)]
Added field support to JSON serializer (#36986)
* Added field support to JSON serializer
* Addressed issues
* Added tests
* Addressed issues
Eugene Rozenfeld [Tue, 14 Jul 2020 00:19:20 +0000 (17:19 -0700)]
Inlined GC Polls for call to methods with SuppressGCTransitionAttribute (#39111)
* Inlined GC Polls for call to methods with SuppressGCTransitionAttribute.
* Emit inlined GC Polls for methods with SuppressGCTransitionAttribute
when possible and when optimizing.
* Emit only one GC poll per basic block.
* Move insertion of GC polls to a new phase `fgInsertGCPolls` that runs after
most optimizations so that we don't insert unnecessary GC polls.
* I plan to delete `fgCreateGCPolls` phase that was previously used to insert
GC polls for platforms that don't support hijacking in a subsequent PR.
We currently don't support such platforms.
* Fix `fgCreateGCPoll` to be able to insert inlined GC polls for `BBJ_NONE` and
`BBJ_THROW` basic blocks.
Marek Safar [Mon, 13 Jul 2020 20:58:49 +0000 (22:58 +0200)]
Add documentation about libraries features switches (#39200)
* Add documentation about libraries features switches
* Review feedback
* Casing tweaks
Mitchell Hwang [Mon, 13 Jul 2020 20:30:36 +0000 (16:30 -0400)]
[wasm] Addressing System.Runtime.Extensions failures (#38996)
Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>
Co-authored-by: Steve Pfister <steve.pfister@microsoft.com>
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
Alexander Köplinger [Mon, 13 Jul 2020 18:56:53 +0000 (20:56 +0200)]
Add space after "Other" in OperatingSystem.VersionString (#39180)
Follow-up to https://github.com/dotnet/runtime/pull/39130
Egor Chesakov [Mon, 13 Jul 2020 18:49:35 +0000 (11:49 -0700)]
[Arm64] ASIMD DotProduct and Rounding Double Multiply Add/Subtract (#38957)
* DotProduct
* DotProductBySelectedQuadruplet
* MultiplyRoundedDoublingAndAddSaturateHigh
* MultiplyRoundedDoublingAndAddSaturateHighScalar
* MultiplyRoundedDoublingAndSubtractSaturateHigh
* MultiplyRoundedDoublingAndSubtractSaturateHighScalar
* MultiplyRoundedDoublingBySelectedScalarAndAddSaturateHigh
* MultiplyRoundedDoublingBySelectedScalarAndSubtractSaturateHigh
* MultiplyRoundedDoublingScalarBySelectedScalarAndAddSaturateHigh
* MultiplyRoundedDoublingScalarBySelectedScalarAndSubtractSaturateHigh
David Cantu [Mon, 13 Jul 2020 17:42:13 +0000 (10:42 -0700)]
Support reseolve reference for typeof(object) on deserialize (#38979)
Marek Safar [Mon, 13 Jul 2020 17:12:58 +0000 (19:12 +0200)]
Add always trimmed attributes list for browser config (#39000)
* Add always trimmed attributes list for browser config
Example of size reduction on SPC with the most minimalistic Hello
World sample.
| System.Private.CoreLib | Size (kB) | Delta |
|-|-|-|
| Original | 1358 kB | - |
| Trimmed | 1271 kB | - 87 kB |
* Review feedback
* Combine and embed the ILLink.LinkAttributes.xml file into the assembly.
* Update linker command line to ignore attributes file.
Add ExcludeFromCodeCoverageAttribute.
* PR feedback.
Add note about Obsolete.
Only use assembly fullname="*" for compiler generated attributes.
* Update ILLink.LinkAttributes.wasm.xml
Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
Vladimir Sadov [Mon, 13 Jul 2020 16:55:21 +0000 (09:55 -0700)]
enable GS Cookie on OSX (#39143)
* enable GS Cookie on OSX
* Actual fix
Hugh Bellamy [Mon, 13 Jul 2020 16:29:33 +0000 (17:29 +0100)]
Add Enum generic overloads (#33589)
Kenneth Pouncey [Mon, 13 Jul 2020 12:31:39 +0000 (14:31 +0200)]
[browser][wasm][tests] JavaScript Interop Marshal tests (#38917)
* [browser][wasm][tests] JavaScript Interop Marshal tests
* Add primitive and string marshal tests
* Add tests for object identity across marshaling calls for JS object and managed objects.
- Tests to make sure the objects stay the same and are not created new.
* Add tests and code cleanup
* Add marshal of js function tests
* Add delegate marshaling test
* Fix License text
* More tests
* Fix an error where `mono_method_resolve` is called before BINDING object was initialized
* Add more marshal tests
* Add more tests
* Address review comments
Hugh Bellamy [Mon, 13 Jul 2020 12:31:07 +0000 (13:31 +0100)]
Add some edge case tests for Array.CreateInstance and fix Mono handling (#36604)
Natalia Kondratyeva [Mon, 13 Jul 2020 12:15:24 +0000 (15:15 +0300)]
Fix codepoint splitting in email headers (#39072)
Added EncodeString method that accounts for codepoint boundaries to
Base64Stream and QEncodedStream. Used EncodeString instead of
EncodeBytes where strings were encoded. Refactored EncodeBytes while
its logic remained the same. Extracted encoding logic into ByteEncoder
class.
Fix #1485
Stephen Toub [Mon, 13 Jul 2020 11:13:32 +0000 (07:13 -0400)]
Update deep-dive-blog-posts.md
Alexander Nikolaev [Mon, 13 Jul 2020 09:44:42 +0000 (11:44 +0200)]
WinHttpHandler supports multiple HTTP/2 connections per server (#38758)
New property EnableMultipleHttp2Connections on WinHttpHandler enables multiple HTTP/2 connection to the same server.
Contributes to #35088
Egor Bogatov [Mon, 13 Jul 2020 09:39:21 +0000 (12:39 +0300)]
Fold "cns_str"[cns_index] to ushort constant (#37226)
Vlad Brezae [Mon, 13 Jul 2020 09:04:58 +0000 (12:04 +0300)]
[interp] Add intrinsics for some common operations (#38809)
* [interp] Add intrinsic for Marvin.Block
* [interp] Intrinsify ConvertAllAsciiCharsInUInt32ToUppercase
* [interp] Intrinisfy UInt32OrdinalIgnoreCaseAscii
* [interp] Intrinsify UInt64OrdinalIgnoreCaseAscii
* [interp] Add intrinsic for UInt32ToDecStr
* [interp] Add intrinsic opcode for WidenAsciiToUtf16
* [interp] Rename intrinsics to interp-intrins
There seem to be some build failures on windows. Probably because of conflict with intrinsics source files from mini.
* [interp] Add comments
To prevent bcl and interp intrinsics going out of sync.
Shay Rojansky [Mon, 13 Jul 2020 08:49:23 +0000 (11:49 +0300)]
Nullability annotations for System.Data (#38810)
Following
ec73c56fb803b89f5e41b4c85c5be9f6bd1a5bab.
A few corners have been left annotated because of dependencies.
Ryan Lucia [Mon, 13 Jul 2020 05:39:57 +0000 (01:39 -0400)]
[mono] Disable config dir lookups on netcore (#38818)
Adeel Mujahid [Sun, 12 Jul 2020 20:29:15 +0000 (23:29 +0300)]
Cleanup dead code under undefined constants (#39155)
Shay Rojansky [Sun, 12 Jul 2020 19:34:44 +0000 (22:34 +0300)]
Add SqlState and IsTransient to DbException (#39157)
Closes #35601
Closes #34817
Michal Strehovský [Sun, 12 Jul 2020 16:51:00 +0000 (18:51 +0200)]
Sync shared compiled files (#39162)
Shay Rojansky [Sun, 12 Jul 2020 13:56:20 +0000 (16:56 +0300)]
Add async System.Data resultset and database schema APIs (#39098)
Closes #38028
Frederik Carlier [Sun, 12 Jul 2020 03:09:37 +0000 (05:09 +0200)]
Remove unused DeviceIoControl P/Invoke declaration (#38877)
Stephen Toub [Sun, 12 Jul 2020 03:03:25 +0000 (23:03 -0400)]
Remove dead SUPPORT_THREAD_ABORT code in PLINQ (#39148)
Edison Henrique Andreassy [Sat, 11 Jul 2020 19:41:52 +0000 (16:41 -0300)]
Remove catch ThreadAbortException (#39136)
David Mason [Sat, 11 Jul 2020 19:03:57 +0000 (12:03 -0700)]
Update DacHeapWalker to know about POH in SVR mode (#39139)
* add POH for svr
* Use the correct alignment for objects on the POH
Andy Ayers [Sat, 11 Jul 2020 17:37:06 +0000 (10:37 -0700)]
JIT: retype byrefs passed to unmanaged callers as native int (#39105)
Make the jit more robust in cases where the IL producer is passing a byref
to an unmanaged caller, by retyping the argument as native int.
Allows the jit to produce self-consistent GC info and avoid the issues
seen in #34279, at least for byrefs.
Closes #39040.
Ilia [Sat, 11 Jul 2020 17:27:26 +0000 (20:27 +0300)]
Add missing PAL_CS_NATIVE_DATA_SIZE & DAC_CS_NATIVE_DATA_SIZE defs for macOS ARM64 (#39141)
Related issue: #39010
Ilia [Sat, 11 Jul 2020 17:27:05 +0000 (20:27 +0300)]
Fix build configs for macOS ARM64 on DTK (#39142)
Related issue: #39010
Eric StJohn [Sat, 11 Jul 2020 16:33:01 +0000 (09:33 -0700)]
Update packaging verion (#39101)
Simon Nattress [Sat, 11 Jul 2020 11:51:51 +0000 (04:51 -0700)]
Update R2RTest to compile the Serp application in two composite images (#39138)
Alexander Köplinger [Sat, 11 Jul 2020 01:49:23 +0000 (03:49 +0200)]
Fix creating OperatingSystem with PlatformID.Other (#39130)
Creating an OperatingSystem with PlatformID.Other would result in an exception about an unexpected enum value.
https://github.com/dotnet/runtime/pull/38790 was missing some tests that verified this behavior.
John Salem [Sat, 11 Jul 2020 01:14:32 +0000 (18:14 -0700)]
Move printf in PauseOnStart (#39095)
* Only print to the console from the runtime when PauseOnStart has waited long enough
* Fix typo
Alexander Köplinger [Sat, 11 Jul 2020 00:20:10 +0000 (02:20 +0200)]
WASM: Fix System.Formats.Asn1 tests (#39104)
Disable tests that rely on crypto APIs which don't work on WebAssembly right now which allows the test suite to pass: `Tests run: 3406, Errors: 0, Failures: 0, Skipped: 0. Time: 5.296689s`
Also enables a few test suites in tests.proj.
Bruce Forstall [Fri, 10 Jul 2020 23:59:10 +0000 (16:59 -0700)]
Add GCStress testing for libraries tests on checked CoreCLR (#38235)
* Add GCStress testing for libraries tests on checked CoreCLR
Disable GCStress0x3 for now, as that causes many timeouts in
these tests.
* Increase timeout for GCStress scenarios
* Disable scheduled runs for libraries gcstress runs
There are currently too many failures in these jobs
so we don't want to run them on a schedule yet.
* Add tracking issue for disabling GCStress=3
Sergey Andreenko [Fri, 10 Jul 2020 22:52:29 +0000 (15:52 -0700)]
Fix STOREIND optimization. (#39066)
* add 1 repro test.
* temporary disable the tranformation.
Marek Safar [Fri, 10 Jul 2020 22:06:56 +0000 (00:06 +0200)]
Update Environment.OSVersion for browser platform (#38790)
* Update Environment.OSVersion for browser platform
* Reflect api review
Jeremy Barton [Fri, 10 Jul 2020 21:28:58 +0000 (14:28 -0700)]
Fix precondition on OSX 10.15 mutable store tests
Steve Pfister [Fri, 10 Jul 2020 20:54:48 +0000 (16:54 -0400)]
[Wasm] Enable System.IO.Compression.ZipFile tests (#39092)
Found that the emscripten VFS does not write user specified file attributes, so skip
part of ZipFile_Create.InvalidDates that expects this to be supported.
Co-authored-by: Steve Pfister <steve.pfister@microsoft.com>
Eric Erhardt [Fri, 10 Jul 2020 20:53:12 +0000 (15:53 -0500)]
Preserve AsyncValueTaskMethodBuilder.ObjectIdForDebugger (#39084)
These internal properties are used by the debugger, so they should be preserved when debugging is supported.
Mateo Torres-Ruiz [Fri, 10 Jul 2020 20:52:54 +0000 (13:52 -0700)]
Remove type pattern from descriptor (#39047)
* Remove type pattern from descriptor
* Use CLR type name
Co-authored-by: Layomi Akinrinade <layomia@gmail.com>
Co-authored-by: Layomi Akinrinade <layomia@gmail.com>
Alexander Köplinger [Fri, 10 Jul 2020 20:45:11 +0000 (22:45 +0200)]
WASM: Add PlatformNotSupportedException for System.Net.Ping (#39091)
The library isn't supported on WebAssembly.
Alexander Köplinger [Fri, 10 Jul 2020 20:43:16 +0000 (22:43 +0200)]
Rewrite System.Text.Json stream tests to be async friendly and enable on WASM (#38663)
The tests dealing are using a (De)SerializationWrapper so the same code can be used both for String and Stream types.
It does that by wrapping the async Stream serialization calls in `Task.Run().GetAwaiter().GetResult()` to turn them into sync calls.
However that doesn't work on WebAssembly since we can't wait on tasks as there's only a single thread.
To fix this inverse the wrapper so the synchronous String calls are turned into async and use normal awaits for the Stream calls.
This allows the test suite to pass on WebAssembly: `Tests run: 8349, Errors: 0, Failures: 0, Skipped: 11. Time: 475.528706s`
Alexander Köplinger [Fri, 10 Jul 2020 20:18:39 +0000 (22:18 +0200)]
WASM: Add PlatformNotSupportedException for System.IO.Pipes (#39089)
* WASM: Add PlatformNotSupportedException for System.IO.Pipes
The library isn't supported on WebAssembly.
* Make test TFMs match src TFMs
Kevin Jones [Fri, 10 Jul 2020 19:46:39 +0000 (15:46 -0400)]
Span BasicSymmetricCipher and other symmetric crypto internals
Alexander Köplinger [Fri, 10 Jul 2020 19:10:03 +0000 (21:10 +0200)]
WASM: Disable tests for System.Diagnostics.Process and .FileVersionInfo (#39088)
Both of these libraries throw PNSE on WebAssembly.
Adam Sitnik [Fri, 10 Jul 2020 19:04:47 +0000 (21:04 +0200)]
add IsOSPlatformOrLater and IsOSPlatformEarlierThan methods (#39005)
* add tests for IsOSPlatformOrLater and IsOSPlatformEarlierThan methods
* add IsOSPlatformOrLater and IsOSPlatformEarlierThan methods
* add xml docs that explain what the API does and what input is supported
* address code review feedback
* numbers in the middle of the platform name are not supported
David Wrighton [Fri, 10 Jul 2020 18:56:38 +0000 (11:56 -0700)]
Tweak crossgen2 test compilation modes (#39025)
- Change crossgen2 test coverage to compile every assembly in the application, not just the primary assembly
- Disable by default compilation with the --inputbubble flag. Instead, only use it if LargeVersionBubble is set to 1
- Add a specific error return code from crossgen2 for the case where all input assemblies are determined to be native binaries. This is used to support this scripting change
Prashanth Govindarajan [Fri, 10 Jul 2020 18:20:26 +0000 (11:20 -0700)]
Intrinsics support for WidenFourAsciiBytesToUtf16AndWriteToBuffer (#38597)
Santiago Fernandez Madero [Fri, 10 Jul 2020 18:19:05 +0000 (11:19 -0700)]
Cleanup WASM ICU PackageReference usage to use generated property (#39053)
Tanner Gooding [Fri, 10 Jul 2020 17:58:28 +0000 (10:58 -0700)]
Add X64/Arm64 nested classes to System.Runtime.Intrinsics where missing (#38460)
* Ensure that Arm64 and X64 classes exist in the appropriate places for the HWIntrinsics
* Adding the new Arm64 and X64 instruction sets
* Add a new test validating the IsSupported heirarchy is correct
* Updating the JIT to support the new Arm64 and X64 instruction sets
* Add missing new keywords
* Fixing a member name
* Adding Runtime_34587 to the mono exclude list
Jo Shields [Fri, 10 Jul 2020 17:37:37 +0000 (13:37 -0400)]
Produce arm64-native Mono LLVM runtime packs (#38562)
Produce arm64-native Mono LLVM runtime packs (i.e. for running the SDK on ARM64, not publishing to ARM64 from x64)
Mitchell Hwang [Fri, 10 Jul 2020 17:28:03 +0000 (13:28 -0400)]
[wasm] Addressing System.Runtime.InteropServices.RuntimeInformation.Tests failures (#39073)
Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>
Alexander Köplinger [Fri, 10 Jul 2020 17:26:49 +0000 (19:26 +0200)]
Bump version for Microsoft.DotNet.XunitExtensions again (#39080)
The recent darc update from https://github.com/dotnet/runtime/commit/
9dc660148121c128dc960bf090b83fe67af3bc6f removed my https://github.com/dotnet/runtime/commit/
4aea0a14f930eff557bb6e4f30b99be8a583d475 which is necessary to correctly detect WASM/Browser as using the Mono interpreter.
dotnet-maestro[bot] [Fri, 10 Jul 2020 17:01:29 +0000 (17:01 +0000)]
Update dependencies from https://github.com/mono/linker build
20200710.3 (#39076)
Microsoft.NET.ILLink.Tasks
From Version 5.0.0-preview.3.20359.3 -> To Version 5.0.0-preview.3.20360.3
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Aaron Robinson [Fri, 10 Jul 2020 16:46:55 +0000 (09:46 -0700)]
Update IL tools (#39049)
* Update IL tools
Enable calling convention tests with updated IL tooling.
* Disable new calling convention tests on mono
Sergey Andreenko [Fri, 10 Jul 2020 15:44:15 +0000 (08:44 -0700)]
fix which test should be Pri1. (#39062)
Jan Kotas [Fri, 10 Jul 2020 15:36:28 +0000 (08:36 -0700)]
Fix g_TrapReturningThreads to be accessed as 32-bit in asm and JIT code on arm64 (#39058)
Brian Sullivan [Fri, 10 Jul 2020 15:33:25 +0000 (08:33 -0700)]
Prerequisite work item for the CSE of GT_CNS_INT for ARM64 work item (#39021)
* Prerequisite work item for the CSE of GT_CNS_INT work item (zero code diffs in the framework libraries)
Mark nodes that use the division by constant optimization with GTF_DIV_BY_CNS_OPT
Don't perform const prop on expressions marked with GTF_DONT_CSE, as this would undo a constant CSE
Fix for bug in AssertionProp where we assign the wrong value number when folding a conditional
When dumping the BasicBlocks print hascall when the block is marked with BBF_HAS_CALL
Call CheckDivideByConstOptimized when early prop inserts a constant node
added methods: UsesDivideByConstOptimized, CheckDivideByConstOptimized and MarkDivideByConstant
Propagate any side effect flags in the gtCallAddr field of an indirect call node
Call CheckDivideByConstOptimized when morphing a divide or remainder nodes
Don't allow changing a floating point GT_DIV into a GT_MUL in fgMorph after the global morph phase
In loop hoisting, set BBF_HAS_CALL if we hoist a tree that contains a call
When hoisting something that requires a physical register, clear that requirement in the hoisted copy
* Code review feedback
* Remove two asserts in lower because it will always make an optimization for UDIV and UMOD with a power of two divisor.
Kevin Jones [Fri, 10 Jul 2020 15:26:54 +0000 (11:26 -0400)]
Create copies of mutable properties on X509Certificate2
Export(Cert) returned the original byte array from the PAL. If a
caller mutated the result of the export, they would be mutating the
underlying representation of RawData in the PAL. To be consistent
with Windows and Linux, we return a copy in the PAL.
Fix OpenSSL PAL to prevent side effects between mutable
SubjectName.RawData and Subject properties (similarly for Issuer)
Zoltan Varga [Fri, 10 Jul 2020 14:26:46 +0000 (10:26 -0400)]
[wasm] Fix linker dependency in the pinvoke callback table. (#39070)
Encode methods as class name+method name instead of their token.
Jan Kotas [Fri, 10 Jul 2020 13:41:34 +0000 (06:41 -0700)]
Simplify IsWow64Process interop (#39059)
Fixes #38910
Stephen Toub [Fri, 10 Jul 2020 13:37:42 +0000 (09:37 -0400)]
Put back missing EditorBrowsableState.Nevers on PlatformID (#39065)
Stephen Toub [Fri, 10 Jul 2020 13:31:21 +0000 (09:31 -0400)]
Delete NetEventSource.Enter/Exit events (#38874)
They're super verbose, very inconsistent, costly, and not helpful (they appear to be trying to provide tracing of the full flow of calls, but they fail to do even that).
Mitchell Hwang [Fri, 10 Jul 2020 12:41:06 +0000 (08:41 -0400)]
[wasm] Enable System.Threading.Channels.Tests (#38849)
* [wasm] Enable System.Threading.Channels.Tests and skip hangs
* [wasm] Skip failing tests in System.Threading.Channels.Tests
Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>
Vlad Brezae [Fri, 10 Jul 2020 12:00:14 +0000 (15:00 +0300)]
[interp] Add debug option which reports the hottest methods (#39045)
* [interp] Reenable computed goto on desktop
Which I accidentaly removed recently.
* [interp] Add debug option which reports the hottest methods
Zoltan Varga [Fri, 10 Jul 2020 11:21:19 +0000 (07:21 -0400)]
[wasm] Implement pinvoke callback support. (#38932)
* [wasm] Implement pinvoke callback support.
* Allow void return types.
* Fix name mangling for assembly names.
* Handle MonoPInvokeCallbackAttribute as well for now.
Maxim Lipnin [Fri, 10 Jul 2020 11:18:05 +0000 (14:18 +0300)]
[wasm] Modify System.Net.NetworkInformation to throw PNSE (#38928)
Alexander Köplinger [Fri, 10 Jul 2020 09:26:54 +0000 (11:26 +0200)]
Add OSPlatform entries for iOS/tvOS/watchOS/Android (#36704)
* Add OSPlatform entries for iOS/tvOS/watchOS/Android
Implements the non-controversial new OSPlatform members from https://github.com/dotnet/runtime/issues/33331
* Add tests for new OSPlatform entries