Kenneth Pouncey [Thu, 2 Jul 2020 21:57:45 +0000 (23:57 +0200)]
[browser][wasm] Wasm websockets support (#37962)
* [browser][wasm] Initial addition of WebSockets support
* Clean up usings
* Create and use a WebSocketHandle.Browser.cs module
* Add conditional TARGETS_BROWSER so as not to throw Proxy PNSE during ClientWebSocket creation.
* Update WebSockets code
* Removing debug line
* Remove `ThrowIfReadOnly` method to address review comments
* Address review comments
- change accessor of _requestedSubProtocols to private
- condition more code in WebSocketHandle.Managed.cs to not access _requestedSubProtocols
* Address review comments
* Address review comments
* Change to be PlatformNotSupportedException
* Add ConnectAsync implementation to create a new instance of the BrowserWebSocket implementation.
* Address review comments
* Address subprotocols comments
* Remove internal custom class ActionQueue class in favor of using a Channel.
* Fix object leak.
- Lambdas are not being released automatically.
* Add doc for the constant that is being used.
- Address review comment
* Clean up SendAsync method.
- Validate the message type.
- Validate the array segment that is passed as the message.
* Add validation to ReceiveAsync for invalid buffer.
- remove unnecessary null checks from message buffering.
* Address review comments
* Address review comments about TCS
* Address camel case by using enum
* Address abort request
* Handle nullable
* Address review comment for removing cancellationtoken registration to the connect source.
* Use non-generic TaskCompletionSource
* Cleanup var usage
* Add string to .resx
* Inline dispose
* Fix WebSocket opening exception
* Remove the asynchronous completion from SendAsync.
* Fix object leak, exception on close and address review comments
* Handle race condition
* Address TaskCompletionSource on connect review comments
* Update src/libraries/System.Net.WebSockets.Client/src/System/Net/WebSockets/BrowserWebSockets/BrowserWebSocket.cs
Co-authored-by: campersau <buchholz.bastian@googlemail.com>
* Update src/libraries/System.Net.WebSockets.Client/src/System/Net/WebSockets/BrowserWebSockets/BrowserWebSocket.cs
Co-authored-by: campersau <buchholz.bastian@googlemail.com>
* Fix Connect not completing task on error.
* Cleanup reference
* Remove redundant error check of memorystream buffer.
* cleanup
* Update src/libraries/System.Net.WebSockets.Client/src/System.Net.WebSockets.Client.csproj
Co-authored-by: Maxim Lipnin <mlipnin@gmail.com>
* Update src/libraries/System.Net.WebSockets.Client/src/System.Net.WebSockets.Client.csproj
Co-authored-by: Maxim Lipnin <mlipnin@gmail.com>
* Update src/libraries/System.Net.WebSockets.Client/src/System.Net.WebSockets.Client.csproj
Co-authored-by: Maxim Lipnin <mlipnin@gmail.com>
* Update src/libraries/System.Net.WebSockets.Client/src/System.Net.WebSockets.Client.csproj
Co-authored-by: Maxim Lipnin <mlipnin@gmail.com>
* Fix typo
* clean up buffer code
* Modify callbacks to use lambda function.
- These are now released properly after reference counting went in.
* Fix object leak of delegate and clean up deprecated code.
* extract lambda into method
* Update src/libraries/System.Net.WebSockets.Client/src/System/Net/WebSockets/BrowserWebSockets/BrowserWebSocket.cs
Co-authored-by: Stephen Toub <stoub@microsoft.com>
* Update src/libraries/System.Net.WebSockets.Client/src/System/Net/WebSockets/BrowserWebSockets/BrowserWebSocket.cs
Co-authored-by: Stephen Toub <stoub@microsoft.com>
* Update src/libraries/System.Net.WebSockets.Client/src/System/Net/WebSockets/BrowserWebSockets/BrowserWebSocket.cs
Co-authored-by: Stephen Toub <stoub@microsoft.com>
* Review comments addressed
Co-authored-by: campersau <buchholz.bastian@googlemail.com>
Co-authored-by: Maxim Lipnin <mlipnin@gmail.com>
Co-authored-by: Stephen Toub <stoub@microsoft.com>
Maoni Stephens [Thu, 2 Jul 2020 19:21:49 +0000 (12:21 -0700)]
Trivial fix and renaming (#38687)
+ When allocating in UOH free list we should do >= (min_obj_size) instead of >.
+ Renamed loh_a_fit_segment_end_p to uoh_a_fit_segment_end_p (should have been part of the refactoring work)
Alexis Christoforides [Thu, 2 Jul 2020 17:26:44 +0000 (13:26 -0400)]
Enable some System.Runtime.Loader tests for Mono (#38581)
Contributes to https://github.com/mono/mono/issues/15142
Egor Chesakov [Thu, 2 Jul 2020 17:14:07 +0000 (10:14 -0700)]
[Arm64] ASIMD InsertScalar and rename to ShiftLeftAndInsert ShiftRightAndInsert (#38680)
* Implements InsertScalar
* Uses InsertScalar to implement Vector128<T>.WithLower() and Vector128<T>.WithUpper()
* Renames ShiftLeftLogicalAndInsert to ShiftLeftAndInsert and ShiftRightLogicalAndInsert to ShiftRightAndInsert
Alexander Köplinger [Thu, 2 Jul 2020 14:22:18 +0000 (16:22 +0200)]
Bump xharness to bring in https://github.com/dotnet/xharness/pull/282 (#38706)
Nicolas Portmann [Thu, 2 Jul 2020 13:27:04 +0000 (15:27 +0200)]
Use full MD5 to compare bitmap rotate results (#38699)
Mitchell Hwang [Thu, 2 Jul 2020 12:25:08 +0000 (08:25 -0400)]
[wasm] Add assembly level skip for System.Net.Requests on Browser (#38674)
Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>
Alexander Köplinger [Thu, 2 Jul 2020 12:19:20 +0000 (14:19 +0200)]
WASM: Add an internal method to pump the threadpool (#38690)
This can by used by the xharness xunit runner to make sure async tasks are executed.
We also need to tweak how `ThreadPoolTaskScheduler` handles `TaskCreationOptions.LongRunning` since the usual mode of starting a new thread doesn't work, instead we treat it like the option wasn't set and queue the task on the threadpool.
Kenneth Pouncey [Thu, 2 Jul 2020 11:23:30 +0000 (13:23 +0200)]
[browser][wasm][bindings] Handle case where AsyncStateMachineBox`1 is… (#38655)
* [browser][wasm][bindings] Handle case where AsyncStateMachineBox`1 is returned
- There are cases where AsyncStateMachineBox`1 is returned instead of instead of Task`1 within the bindings. This was causing exceptions with Promise processing.
* Use `is_subclass_of` instead of strings to recognize Tasks
Shay Rojansky [Thu, 2 Jul 2020 10:45:23 +0000 (12:45 +0200)]
NRT annotations for main System.Data.Common types (#689)
Tomas Weinfurt [Thu, 2 Jul 2020 03:36:34 +0000 (20:36 -0700)]
Initial support for SslStreamCertificateContext (#38364)
* initial support for SslStreamCertificateContext
* update openssl pal
* feedback from review
* fix unit tests
* fix platforms
* update ref
Mike McLaughlin [Thu, 2 Jul 2020 02:30:12 +0000 (19:30 -0700)]
Fix SOS/managed debugging failures from PR #36847 (#38689)
Add PAL_GetApplicationGroupId() that returns null for Linux.
Zoltan Varga [Thu, 2 Jul 2020 02:15:25 +0000 (22:15 -0400)]
[wasm] Ignore missing assemblies in the wasm app builder. (#38672)
Bruce Forstall [Thu, 2 Jul 2020 02:14:59 +0000 (19:14 -0700)]
Fix interpreter build (#38673)
Fix interpreter build
buyaa-n [Thu, 2 Jul 2020 01:36:56 +0000 (18:36 -0700)]
Turn on argument exception analyzer on runtime, fix warnings found (#38578)
* Turn on argument exception analyzer on runtime, fix failures found
Nicolas Portmann [Thu, 2 Jul 2020 00:37:54 +0000 (02:37 +0200)]
Align native SpecializeComparer with managed ComparerHelpers (#38681)
* Align SpecializeComparer with ComparerHelpers
* Align SpecializeEqualityComparer with ComparerHelpers
Levi Broderick [Thu, 2 Jul 2020 00:35:16 +0000 (17:35 -0700)]
Remove dead code paths in System.Transactions.Local (#38685)
Tomas Weinfurt [Wed, 1 Jul 2020 23:50:34 +0000 (16:50 -0700)]
add two SslStream tests for custom validation (#38182)
* add two SslStream tests for custom validation
* use BuildPrivatePki
* feedback from review
* disable on windows
William Li [Wed, 1 Jul 2020 23:48:42 +0000 (16:48 -0700)]
Add platform-specific attributes (#38604)
* Add platform-specific attributes
Spec https://github.com/dotnet/runtime/issues/33331
* Convert to xml doc
* Update src/libraries/System.Private.CoreLib/src/System/Runtime/InteropServices/MinimumOSAttribute.cs
Co-authored-by: Jeremy Barton <jbarton@microsoft.com>
* Update src/libraries/System.Private.CoreLib/src/System/Runtime/InteropServices/ObsoletedInPlatformAttribute.cs
Co-authored-by: Jeff Handley <jeffhandley@users.noreply.github.com>
* Address code review
* Add to ref assembly, test and fix build errors
* Fix spacing, revert unwanted changes
* Namespace was wrong, updated
Co-authored-by: Jeremy Barton <jbarton@microsoft.com>
Co-authored-by: Jeff Handley <jeffhandley@users.noreply.github.com>
Co-authored-by: Buyaa Namnan <bunamnan@microsoft.com>
Tomáš Rylek [Wed, 1 Jul 2020 22:14:27 +0000 (00:14 +0200)]
Disable the two remaining CG2 composite failure buckets (#38299)
David Wrighton [Wed, 1 Jul 2020 22:06:24 +0000 (15:06 -0700)]
Fix type layout with explicitly sized structs and classes (#38632)
- Mimic the alignment and other algorithms present in coreclr
- Add tests to crossgen2smoke to cover these scenarios
- Update type system unit tests so that they can run in VS
- Fix issue #38450
Manish Godse [Wed, 1 Jul 2020 21:50:19 +0000 (14:50 -0700)]
fix for cg2 + sealed default interface methods (#38575)
* move the interface check to be before versionbubble
* updating fix to check for TypicalMethod of the target
* Adding a comment to clarify the check
* uncoditinoally invoke GetTypicalMethodDef
* Add a smoke test.
* moving the interface check to before version bubble
Also adding a cross module test.
Tomas Weinfurt [Wed, 1 Jul 2020 20:45:12 +0000 (13:45 -0700)]
add TargetHostName to SslStream (#38202)
* add TargetHostName to SslStream
* fix unit tests
* feedback from review
Maxim Lipnin [Wed, 1 Jul 2020 20:41:59 +0000 (23:41 +0300)]
[wasm] Make Common.Tests pass (#38667)
* Make Common.Tests pass
* Remove Common test project from the exclusion list
Alexis Christoforides [Wed, 1 Jul 2020 20:14:30 +0000 (16:14 -0400)]
[mono] Implement getting the type modifiers for DynamicMethod parameters (#38646)
* [mono] Implement getting the type modifiers for DynamicMethod parameters
Fixes https://github.com/dotnet/runtime/issues/36271
* Remove unused parameter from type_array_from_modifiers()
Přemek Vysoký [Wed, 1 Jul 2020 19:40:33 +0000 (21:40 +0200)]
Bump Helix SDK with breaking change in XHarness SDK (#38665)
There is a small breaking change in the SDK about how we run the XHarness tool - we are no longer installing the full .NET SDK to install the tool on every agent but rather installing it on the build machine and then shipping it as-is as Helix correlation payload. We then only need the .NET runtime to be installed on the Helix agents saving us bandwidth and cycles
Carol Eidt [Wed, 1 Jul 2020 19:37:52 +0000 (12:37 -0700)]
Fix scalar check when fixing up struct return. (#38644)
Fix #38455
Alexander Köplinger [Wed, 1 Jul 2020 17:37:55 +0000 (19:37 +0200)]
Mono: reenable tests in System.ComponentModel.Composition.Registration that were fixed (#38658)
Closes https://github.com/dotnet/runtime/issues/32744
Santiago Fernandez Madero [Wed, 1 Jul 2020 17:09:30 +0000 (10:09 -0700)]
Include System Directory in search dirs for app local ICU (#38649)
Eirik Tsarpalis [Wed, 1 Jul 2020 17:07:33 +0000 (18:07 +0100)]
Tidy up ARM tools installation instructions (#38676)
Egor Bogatov [Wed, 1 Jul 2020 16:12:56 +0000 (19:12 +0300)]
[mono] Change default output encoding for ConsolePal.WebAssembly.cs to utf8 (#38641)
* Change default output encoding to utf8 for wasm
Aleksey Kliger (λgeek) [Wed, 1 Jul 2020 16:04:16 +0000 (12:04 -0400)]
[docs] Fix wasm testing example directories (#38624)
And use a testsuite that passes for the example
Stephen Toub [Wed, 1 Jul 2020 12:50:39 +0000 (08:50 -0400)]
Add ExcludeFromCodeCoverageAttribute.Justification property (#38520)
* Add ExcludeFromCodeCoverage.Justification property
Delete some ExcludeFromCodeCoverages that aren't warranted, and add justifications almost everywhere else (only not doing so where a project builds for targets without the member).
* Update src/libraries/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Types/PointerType.cs
Co-authored-by: Levi Broderick <GrabYourPitchforks@users.noreply.github.com>
Co-authored-by: Levi Broderick <GrabYourPitchforks@users.noreply.github.com>
Zoltan Varga [Wed, 1 Jul 2020 11:00:44 +0000 (07:00 -0400)]
[wasm] Rename obsolete --llvm-lto 1 argument, lto is already enabled when -s WASM_OBJECT_FILES=0 is used. (#38370)
Anirudh Agnihotry [Wed, 1 Jul 2020 07:06:44 +0000 (00:06 -0700)]
fixes genapi for project with corelib reference (#38656)
Sergey Andreenko [Wed, 1 Jul 2020 05:25:48 +0000 (22:25 -0700)]
Fix 'varDsc->lvExactSize == 12' assert. (#38484)
* Require struct handler to be set after for CSE.
* Reenable the test.
* fix for empty cache
* Update the comment.
Anton Lapounov [Wed, 1 Jul 2020 05:16:37 +0000 (22:16 -0700)]
Add native runtime components to Crossgen2 package. (#38600)
For Windows, add clrcompression.dll to the package. For Linux, add { libSystem.IO.Compression.Native.so, libSystem.Native.so, libSystem.Net.Security.Native.so, libSystem.Security.Cryptography.Native.OpenSsl.so } to the package and also remove the corresponding static libraries with the .a extension from crossgen2.deps.json.
Kenneth Pouncey [Wed, 1 Jul 2020 04:42:58 +0000 (06:42 +0200)]
[browser][wasm][tests] Add tests for TypedArrays (#38612)
* [browser][wasm][tests] Add tests for TypedArrays
* Address review comments
Dong-Heon Jung [Wed, 1 Jul 2020 02:41:48 +0000 (11:41 +0900)]
Enable PInvoke stub compilation for R2R (#35229)
R2R doesn't generate PInvoke stub for arm because of crossbitness issue.
This patch enables PInvoke stub compilation for R2R,
and updates native size, field offset, and so on based on target machine's bitness.
Eugene Rozenfeld [Wed, 1 Jul 2020 01:16:41 +0000 (18:16 -0700)]
Jit liveness fix. (#38591)
`fgComputeLifeUntrackedLocal` can be called multiple times for the same
`lclVarNode` since `fgLocalVarLiveness` may call
`fgInterBlockLocalVarLiveness` multiple times. Therefore,
`m_promotedStructDeathVars` may be updated more than once for the same
node.
Fixes #38496.
Aaron Robinson [Wed, 1 Jul 2020 00:35:10 +0000 (17:35 -0700)]
Block P/Invokes with UnmanagedCallersOnlyAttribute (#38493)
* Block support for a P/Invoke marked with UnmanagedCallersOnly.
* Update crossgen2.
Maryam Ariyan [Tue, 30 Jun 2020 23:31:59 +0000 (16:31 -0700)]
[EventSourceLogger] Adding FormattedMessage for json message (#38509)
Egor Chesakov [Tue, 30 Jun 2020 23:10:26 +0000 (16:10 -0700)]
[Arm64] ASIMD ExtractNarrowingSaturate and ExtractNarrowingSaturateUnsigned (#38371)
* ExtractNarrowingSaturateLower and ExtractNarrowingSaturateUpper
* ExtractNarrowingSaturateUnsignedLower and ExtractNarrowingSaturateUnsignedUpper
* ExtractNarrowingSaturateScalar and ExtractNarrowingSaturateUnsignedScalar
Günther Foidl [Tue, 30 Jun 2020 23:09:08 +0000 (01:09 +0200)]
Optimize TextEncoder.FindFirstCharacterToEncodeUtf8 (#284)
Jose Perez Rodriguez [Tue, 30 Jun 2020 23:05:32 +0000 (16:05 -0700)]
Adding default string for stacktrace Word_At (#38634)
* Adding default string for stacktrace Word_At
* Also adding defaults to other resources used on the stacktrace ToString method
* Apply suggestions from code review
Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
Sergey Andreenko [Tue, 30 Jun 2020 23:03:42 +0000 (16:03 -0700)]
Enable warning 5038 on VS. (#38499)
* Enable w35038 on VS.
* fix for a contract.h
* FIx other places.
* another fix.
Jan Kotas [Tue, 30 Jun 2020 22:38:21 +0000 (15:38 -0700)]
Add missing string resources to the ILVerify tool (#38630)
Fixes #38623
monojenkins [Tue, 30 Jun 2020 22:19:25 +0000 (18:19 -0400)]
Adding qcalls-def.h to Makefile.am (#38621)
Fixes mono/mono#20049
Co-authored-by: thaystg <thaystg@users.noreply.github.com>
Vladimir Sadov [Tue, 30 Jun 2020 20:36:19 +0000 (13:36 -0700)]
Do not override CoreCLRArtifactsPath if RuntimeIdentifier is empty (#38602)
Drew Scoggins [Tue, 30 Jun 2020 20:28:11 +0000 (13:28 -0700)]
Add exclusion category argument to interpreter runs (#38633)
* Add exclusion category argument to interpreter runs
* Add for Windows as well
Jeremy Barton [Tue, 30 Jun 2020 20:13:03 +0000 (13:13 -0700)]
Spanify S.S.C.X509Certificates and S.S.C.Pkcs inputs
S.S.C.Pkcs.ContentInfo..ctor(byte[]) didn't get spanified because it holds
a reference to the array, and returns it via a property.
Levi Broderick [Tue, 30 Jun 2020 20:10:48 +0000 (13:10 -0700)]
Obsolete Encoding.UTF7 property and UTF7Encoding ctors (#37535)
- Disallow Encoding.GetEncoding("utf-7", ...) from returning an Encoding instance
- Minor code cleanup by removing unused ifdefs
- A compat switch is available to re-enable Encoding.GetEncoding("utf-7", ...)
Aleksey Kliger (λgeek) [Tue, 30 Jun 2020 19:50:00 +0000 (15:50 -0400)]
[wasm] Set a stack trace limit of 1000 for CI testing with V8 (#38625)
The default 10 is not enough stack frames to make sense of failures
Jose Perez Rodriguez [Tue, 30 Jun 2020 19:24:39 +0000 (12:24 -0700)]
Adding generation of substitution files for trimming out resources when feature switch is present (#38397)
* Adding generation of substitution files for trimming out resources when feature switch is present
* Adding support for CoreLib as well and fix issue with SR returning empty string
* Cache result of AppContext Switch lookup
* Fixing allConfigurations leg and addressing feedback
* Fixing thread safety issue by removing caching
* Addressing feedback
* Apply suggestions from code review
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
* Addressing feedback and adding tests
* Fix typo
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Jarret Shook [Tue, 30 Jun 2020 18:38:33 +0000 (11:38 -0700)]
Disable test based off of #38455 (#38580)
Vlad Brezae [Tue, 30 Jun 2020 17:52:17 +0000 (20:52 +0300)]
Properly disable test on mono (#38615)
Fix issue link for wasm specific limitation.
Elinor Fung [Tue, 30 Jun 2020 17:41:53 +0000 (10:41 -0700)]
Fix packaging of PDBs for host binaries (#38589)
xtqqczze [Tue, 30 Jun 2020 17:37:30 +0000 (18:37 +0100)]
Markdown: Close anchor tags correctly (#38619)
David Wrighton [Tue, 30 Jun 2020 17:08:34 +0000 (10:08 -0700)]
Add type layout stress mode to crossgen2/runtime (#38579)
- New command line parameter --verify-type-and-field-layout
- Intended for use diagnosing bugs in crossgen2 only, not for general
production use
- New r2r precode fixups Verify_TypeLayout and Verify_FieldOffset
- These allows the compiler to specify that a particular type/field
layout must match with the runtime calculation.
- If there is a mismatch, the runtime will failfast, even on release
builds
- Add use of new switch to crossgen2smoke test
- Fix encoding bug in FieldFixupSignature. Check_FieldOffset and
Verify_FieldOffset use unsigned offsets, not signed offsets
Sung Yoon Whang [Tue, 30 Jun 2020 17:06:53 +0000 (10:06 -0700)]
Remove AsyncCausalityTracer by logging into TplEventSource directly (#38313)
* Add AsyncCausalityTracer
* cleanup
* Handle multiple sessions
* CR feedback
* Remove AsyncCausalityTracer and replace it with direct calls to TplEventSource
Jan Kotas [Tue, 30 Jun 2020 16:45:01 +0000 (09:45 -0700)]
Remove decimal alignment quirk from the type loader (#38603)
System.Decimal fields did not match Win32 DECIMAL type for historic reasons. It required type loader to have a quirk to artificially inflate System.Decimal alignment to match the alignment of Win32 DECIMAL type to make interop work well.
This change is fixing the System.Decimal fields to match Win32 DECIMAL type and removing the quirk from the type loader since it does not belong there.
The downsides are:
- Slightly lower code quality on 32-bit platforms. 32-bit platforms are not our high performance targets anymore.
- Explicit implementation of ISerializable is required on System.Decimal for binary serialization compatibility.
Fixes #38390
xtqqczze [Tue, 30 Jun 2020 15:36:34 +0000 (16:36 +0100)]
Markdown: remove unused definitions (#38618)
* Update glossary.md
Remove unused markdown definitions introduced in https://github.com/dotnet/corefx/pull/38103
* Update source-generator-pinvokes.md
Remove unused markdown definitions introduced in https://github.com/dotnet/runtime/pull/33742
Kunal Pathak [Tue, 30 Jun 2020 15:07:30 +0000 (08:07 -0700)]
ARM64: Eliminate redundant opposite mov (#38179)
* Added IsOppositeOfPrevMov()
Added IsOppositeOfPrevMov() that will skip generating redundant mov.
* review comments
* Refactor code into IsRedundantMov()
* dont optimize beyong IG boundary
* add check to not cross IG boundary
* Add more checks:
- Change IG boundary check to exclude extended IGs.
- Check the operand size before removing redundant movs.
* fix the check
* review comments
* Add check to ensure if src/dst are both scalar or both vector
* minor comment
* Add check for insFormat
* fix the typo
* minor comments
Alexander Köplinger [Tue, 30 Jun 2020 13:58:27 +0000 (15:58 +0200)]
Disable two System.Linq.Parallel tests that fail on WASM due to forced parallelism (#38617)
Vlad Brezae [Tue, 30 Jun 2020 13:04:01 +0000 (16:04 +0300)]
[interp] Small improvements around ByReference ctor (#38561)
* [interp] Add stfld opcode for storing valuetypes without refs
* [interp] Remove MINT_VTRESULT use with byrefernce ctor intrinsic
Mitchell Hwang [Tue, 30 Jun 2020 12:38:00 +0000 (08:38 -0400)]
[wasm] Add assembly level skip for System.Threading.Tasks.Extensions (#38554)
Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>
Johan Lorensson [Tue, 30 Jun 2020 12:31:40 +0000 (14:31 +0200)]
Port EventPipeBuffer, EventPipeBufferList, EventPipeBufferManager to Mono. (#37756)
* Port EventPipeBuffer.
* Port EventPipeBufferList.
* Port EventPipeManager.
* Merge internals source files. Changed GETTER_SETTER to only mandate use
of inlined functions when calling betweeen source files for different types.
Upgraded all use within each source file for direct struct access.
* Changed function entry error checkin strategy. Only apply active checks
on outer library API, ep.h, and use EP_ASSERT for all other functions.
* Dropped requires_lock_held in function naming, switch to comment in header
or in forward declare for functions that validates that lock is held.
* Removed currently unused GETTER/SETTERS.
* Moved more comments into sources from corresponding CoreCLR EventPipe
sources.
* Add EventPipeBuffer/EventPipeBufferManager unit tests.
* Align to changes in native CoreCLR eventpipe* sources.
* Add support starting default file session using env variables.
* Disable eventpipe callback on WASM due to platform issues with delegates.
Vlad Brezae [Tue, 30 Jun 2020 11:56:09 +0000 (14:56 +0300)]
[interp] Intrinsify ClearWithReferences (#38569)
Alexander Nikolaev [Tue, 30 Jun 2020 11:51:43 +0000 (13:51 +0200)]
SDK base images upgraded to 5.0 and docker-compose logging fixed (#38389)
It does the following:
1. Upgrades the base image versions of HttpStress and SslStress tests containers to `nightly/sdk:5.0`
2. Wraps over `docker-compose` call to prevent it from accidentally reporting progress to `stderr `instead of `stdout` and thus breaking CI pipeline (see docker/compose#7346)
Vlad Brezae [Tue, 30 Jun 2020 11:21:07 +0000 (14:21 +0300)]
[wasm] Disable test on browser (#38613)
It OOMs due to excessive allocations
monojenkins [Tue, 30 Jun 2020 10:02:24 +0000 (06:02 -0400)]
Bring back previous debug_abbrev offset behavior on Apple platforms (#38454)
https://github.com/mono/mono/pull/19794 broke on iOS. Analyzing the result showed that, while the assembly was generated as expected, the linked result was different. Analyzing the LLVM code (which triggered the original fix) seems to imply that, on Apple platforms, they will not generate a label for it, only doing the 0-offset as we were doing before. Therefore, match the LLVM behavior by bringing back our previous logic when targetting Mach, otherwise use the new way of doing things.
Fixes mono/mono#8806 (again)
Co-authored-by: mathieubourgeois <mathieubourgeois@users.noreply.github.com>
Stephen Toub [Tue, 30 Jun 2020 09:35:49 +0000 (05:35 -0400)]
Remove some stale pragma warning disables (#38551)
monojenkins [Tue, 30 Jun 2020 08:13:39 +0000 (04:13 -0400)]
[wasm] Optimize interp->native transitions. (#38483)
* Generate tables of signatures/transition functions.
* Add mono_wasm_get_interp_to_native_trampoline () function to look up the transition function
for a signature.
* Cache the transition function in a imethod->method_data slot.
Previously, we were calling a mono_wasm_interp_to_native_trampoline () function and a generated
icall_trampoline_dispatch () function which added a lot of overhead.
<!--
Thank you for your Pull Request!
If you are new to contributing to Mono, please try to do your best at conforming to our coding guidelines http://www.mono-project.com/community/contributing/coding-guidelines/ but don't worry if you get something wrong. One of the project members will help you to get things landed.
Does your pull request fix any of the existing issues? Please use the following format: Fixes #issue-number
-->
Co-authored-by: vargaz <vargaz@users.noreply.github.com>
Swaroop Sridhar [Tue, 30 Jun 2020 07:10:45 +0000 (00:10 -0700)]
Disable Bundle_can_be_renamed_while_running test (#38300)
Disable the test due to non-deterministic failure in the CI.
Enabling tracked by: #38013
Fixes: #35068
Elinor Fung [Tue, 30 Jun 2020 05:17:09 +0000 (22:17 -0700)]
Remove dead code in binder (#38557)
Simon Nattress [Tue, 30 Jun 2020 03:08:47 +0000 (20:08 -0700)]
Disable reverse eventpipe test (#38583)
The exclude list entry path was incorrect
Andy Ayers [Tue, 30 Jun 2020 02:26:10 +0000 (19:26 -0700)]
Fix sizeof tests for arm and x86 (#38577)
On these tests the arm class layout happens to match the x64/arm64 layout and
is different than the x86 layout.
So, introduce arm specific test projects for these tests.
Also in the recent test build conversion one project was overlooked, so update
that project to work with this new scheme as well.
Remove all exclusions for these and older variants of these tests.
Closes #37470.
Yuchong Pan [Tue, 30 Jun 2020 02:04:41 +0000 (19:04 -0700)]
Fixed IL bad format bug (#38560)
monojenkins [Tue, 30 Jun 2020 01:41:43 +0000 (21:41 -0400)]
Fix mono/mono#20022 - changing the signature of mono_handle_native_crash() for s390x (#38428)
* Fix exception-s390x so mono_handle_native_crash() is called according to the changes made in mono/mono#19973
* Make roslyn the default compiler for s390x
Co-authored-by: nealef <nealef@users.noreply.github.com>
Dan Moseley [Tue, 30 Jun 2020 00:30:37 +0000 (17:30 -0700)]
Remove defunct comment (#38558)
Alexander Köplinger [Mon, 29 Jun 2020 23:58:08 +0000 (01:58 +0200)]
Update xharness to latest version with WASM fixes (#38576)
Addresses an issue that caused the testResult.xml to be empty on Helix runs.
Adds options to only execute a specific class/method to the WASM runner.
Kevin Jones [Mon, 29 Jun 2020 23:40:09 +0000 (19:40 -0400)]
Use shared instances of OID where possible
Simon Nattress [Mon, 29 Jun 2020 23:37:52 +0000 (16:37 -0700)]
[Crossgen2] Remove legacy behavior around non-virtual interface calls (#38564)
Resolves https://github.com/dotnet/runtime/issues/37400
The regression test was not failing in Crossgen2 because somewhere along the way when we eyeball ported `getCallInfo` the ordering of these two if block was switched, so Crossgen2 was always treating such calls as non-virtual.
Stephen Toub [Mon, 29 Jun 2020 22:06:21 +0000 (18:06 -0400)]
Disable P/Invoke analyzer (#38550)
Andy Gocke [Mon, 29 Jun 2020 21:01:39 +0000 (14:01 -0700)]
Update lead specification for AppModel items (#38532)
Stephen Toub [Mon, 29 Jun 2020 20:24:17 +0000 (16:24 -0400)]
Update analyzers version to remove pragma (#38512)
Steve Pfister [Mon, 29 Jun 2020 19:50:33 +0000 (15:50 -0400)]
[Wasm] Disable tests for HostFileChangeMonitor (#38386)
The HostFileChangeMonitor relies on FSW, which is not supported on wasm. This change disables the tests that were failing because of it.
Kenneth Pouncey [Mon, 29 Jun 2020 19:22:55 +0000 (21:22 +0200)]
[browser][wasm][tests] Add tests for DataView (#38498)
Andrew Boyarshin [Mon, 29 Jun 2020 19:21:54 +0000 (02:21 +0700)]
Implement BigInteger.GetBitLength (#37870)
Mitchell Hwang [Mon, 29 Jun 2020 18:57:30 +0000 (14:57 -0400)]
[wasm] Add assembly level skip for System.Threading.Tassk.Dataflow (#38470)
Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>
Maxim Lipnin [Mon, 29 Jun 2020 18:55:43 +0000 (21:55 +0300)]
Add throwing PNSE to System.Security.Cryptography on WASM (#38379)
Since the entire set of System.Security.Cryptography.* tests has been disabled on WASM recently in https://github.com/dotnet/runtime/pull/37723, we need to let everyone know that those areas are not quite supported on WASM at the moment. In that case System.Security.Cryptography classes could throw PlatformNotSupportedException until some solution comes (https://github.com/dotnet/runtime/issues/37669)
Michal Strehovský [Mon, 29 Jun 2020 18:44:53 +0000 (20:44 +0200)]
Relax assert in ResolveTokenInScope (#38542)
`ResolveTokenInScope` now gets called with `typeOrMethodContext` that is a non-generic method. Make sure the method is on the same type.
Aaron Robinson [Mon, 29 Jun 2020 18:16:10 +0000 (11:16 -0700)]
Stop using std::map since it races with the finalizer during shutdown. (#38375)
Stephen Toub [Mon, 29 Jun 2020 17:33:44 +0000 (13:33 -0400)]
Remove unnecessary char[] from ProcessStartupHooks() (#38544)
Marek Safar [Mon, 29 Jun 2020 16:46:34 +0000 (18:46 +0200)]
Clean descriptor for Mono's SPC (#38442)
- Remove names pointing to non-existent members
- Fix spaces in method signatures which break matching rules
- Remove duplicate entries
- Format file for consistency
Stephen Toub [Mon, 29 Jun 2020 16:10:43 +0000 (12:10 -0400)]
Use HttpClient.Send in HttpWebRequest.GetResponse (#38511)
Stephen Toub [Mon, 29 Jun 2020 16:10:09 +0000 (12:10 -0400)]
Reimplement CertificateAssetDownloader.DownloadAsset with HttpClient.Send (#38502)
* Reimplement CertificateAssetDownloader.DownloadAsset with HttpClient.Send
* Address PR feedback
Eirik Tsarpalis [Mon, 29 Jun 2020 15:52:08 +0000 (16:52 +0100)]
[CBOR] Use System.Half for encoding and decoding half-precision data items (#38466)
* remove unused usings and remove #nullable declarations
* Wire half-precision float support to System.Half
* address feedback
* add test for ReadSingle handing double-precision encodings
Layomi Akinrinade [Mon, 29 Jun 2020 15:02:39 +0000 (08:02 -0700)]
JsonSerializer - Prevent Stack and Queue types from being pulled in if not used in calling app (#38458)
* JsonSerializer - Prevent Stack and Queue types from being pulled in if not used in calling app
* Add comment about type fetch indirection
* Load types based on target frameworks
xtqqczze [Mon, 29 Jun 2020 14:36:28 +0000 (15:36 +0100)]
Update windows requirements.md (#38546)
* Remove VS 16.6 Preview 2 requirement
* Clarify wording on Visual Studio community edition