Jakob Botsch Nielsen [Fri, 10 Jul 2020 01:33:06 +0000 (03:33 +0200)]
Move tailcall dispatcher into corelib (#38938)
Fix #35559
Aleksey Kliger (λgeek) [Fri, 10 Jul 2020 00:37:36 +0000 (20:37 -0400)]
[mono] Add support for UnmanagedCallersOnlyAttribute (#38728)
* [marshal] Add mono_method_has_unmanaged_callers_only_attribute
* [marshal] Allow calls to mono_marshal_get_managed_wrapped without a delegate class
In that case, create a wrapper based on the signature of the method itself.
* [aot] Allow decode_method_ref to decode NATIVE_TO_MANAGED wrappers without a delegate class
Bump the AOT file format
* [interp] ldftn will return a native-to-managed wrapper to UnmanagedCallersOnly methods
* aot: emit byte when we don't expect a class
* jit: create wrapper creation for ldftn in method-to-ir
Do it at IR generation of the caller, not every time the ldftn is executed
* jit: don't create a jump trampoline for ldftn of a native-to-managed wrapper
The wrapper might be called from a thread that's not attached to the runtime, and the jump trampoline will look at TLS vars that are not initialized
* interp: transform LDFTN into LDC of a create_method_pointer for UnmanagedCallersOnly method
* marshal: throw invalid program exception for instance and generic methods
* Emit IPE throw instead of aborting JIT or interp compilation for bad UnmanagedCallersOnly methods
Instead of throwing while JITing (or transforming), throw when the LDFTN is executed.
* disallow delegate constructor calls on UnmanagedCallersOnly methods
* throw IPE if UnmanagedCallersOnly method has non-blittable args
* disallow DllImport and UnmanagedCallersOnly together
throw NotSupportedException
Co-authored-by: Ryan Lucia <ryan@luciaonline.net>
Santiago Fernandez Madero [Fri, 10 Jul 2020 00:26:59 +0000 (17:26 -0700)]
WASM enable System.Collections.Specialized.Tests (#39012)
Zoltan Varga [Thu, 9 Jul 2020 23:06:22 +0000 (19:06 -0400)]
[wasm] Add beginnings of support for building with ICU. (#38977)
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
Maxim Lipnin [Thu, 9 Jul 2020 23:04:56 +0000 (02:04 +0300)]
[wasm] Modify System.Drawing.Common to throw PNSE on Browser (#38999)
Co-authored-by: Santiago Fernandez Madero <safern@microsoft.com>
Sergey Andreenko [Thu, 9 Jul 2020 22:55:31 +0000 (15:55 -0700)]
Add a repro test for `IsCompatibleType(cseLclVarTyp, expTyp)` (#38972)
* Add a repro test for #35724
* move it to pri1.
Kenneth Pouncey [Thu, 9 Jul 2020 22:46:01 +0000 (00:46 +0200)]
[browser][wasm][tests] Add tests for Map (#38862)
* [browser][wasm][map] Add tests for Map
* Address review comments
Stephen Toub [Thu, 9 Jul 2020 22:09:05 +0000 (18:09 -0400)]
Add and use Environment.ProcessId (#38908)
* Add and use Environment.ProcessId
* Split newly added tests
David Mason [Thu, 9 Jul 2020 21:32:11 +0000 (14:32 -0700)]
Fix GC heap dump (#38893)
#36932 had a typo that caused types to never be logged
Kunal Pathak [Thu, 9 Jul 2020 20:42:38 +0000 (13:42 -0700)]
fix the condition in assert (#38965)
Jeremy Barton [Thu, 9 Jul 2020 20:27:24 +0000 (13:27 -0700)]
Make DSAKeyValueTests.LoadXml accept seed/counter may not roundtrip. (#38952)
Stephen Toub [Thu, 9 Jul 2020 20:07:15 +0000 (16:07 -0400)]
Disable HandlerInvokedForSigQuit test on macOS (#39003)
Santiago Fernandez Madero [Thu, 9 Jul 2020 19:39:04 +0000 (12:39 -0700)]
WASM Enable System.Collections tests (#38976)
Scott Xu [Thu, 9 Jul 2020 19:08:47 +0000 (03:08 +0800)]
Update CadesIssuerSerial.xml (#38436)
remove extra white space
pi1024e [Thu, 9 Jul 2020 19:06:45 +0000 (15:06 -0400)]
More comparisons (#37768)
Alexander Nikolaev [Thu, 9 Jul 2020 18:56:47 +0000 (20:56 +0200)]
HttpStress timeout increased to 60 seconds (#38669)
Jan Vorlicek [Thu, 9 Jul 2020 18:50:14 +0000 (20:50 +0200)]
Silence ARM inline asm warning in libunwind (#38971)
The libunwind headers define unw_getcontext in the libunwind headers for ARM
as inline assembly with stmia instruction storing SP and PC, which clang
complains about as deprecated. However, it is required for atomic restoration
of the context, so disable that warning.
This change silences that warning.
Jan Vorlicek [Thu, 9 Jul 2020 18:48:49 +0000 (20:48 +0200)]
Fix standalone GC on ARM32 (#38970)
* Fix standalone GC on ARM32
The standalone build of GC on ARM32 was missing the FEATURE_64BIT_ALIGNMENT,
which caused aligment failures at runtime for objects that require align
on 8 byte boundary and were not getting it.
This change fixes that. I had to modify the copy of MethodTable that the
standalone GC uses so that the RequireAlign8 flag can be checked.
* Move the FEATURE_64BIT_ALIGNMENT setting to gcenv.object.h
* Fix debug build where an assert required MethodTable::IsValueType
Alexander Köplinger [Thu, 9 Jul 2020 18:45:59 +0000 (20:45 +0200)]
Remove local copying of emsdk_env.sh (#39004)
Recent versions of emsdk stopped supporting the construct_env argument: https://github.com/emscripten-core/emsdk/commit/
819e95cd995147d8b16c600d64e16c880cc407df
Sourcing the normal isn't that slow anyway, it takes about 300ms on my machine
Alexander Köplinger [Thu, 9 Jul 2020 18:45:10 +0000 (20:45 +0200)]
WASM: don't compile brotli sources into System.IO.Compression.Native (#38990)
Brotli isn't supported so we don't need it.
Mitchell Hwang [Thu, 9 Jul 2020 18:43:22 +0000 (14:43 -0400)]
[wasm] Enable System.Threading.Tasks.Extensions tests (#38815)
* [wasm] Enable System.Threading.Tasks.Extensions tests
* Remove synchronous blocking from System.Threading.Tasks.Extensions tests
* [wasm] ManualResetValueTaskSourceTests remove unnecessary and add necessary conditionalfacts
* [wasm] ValueTaskTests clean up ConditionalFacts
* [wasm] Amend ManualResetValueTaskSourceTests tests asserting distinct threads
* [wasm] Skip hanging System.Threading.Tasks.Extensions tests with ActiveIssue
Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>
Co-authored-by: Stephen Toub <stoub@microsoft.com>
SingleAccretion [Thu, 9 Jul 2020 18:24:37 +0000 (21:24 +0300)]
Improve performance of DateTime.Kind property. (#38501)
* Improve performance of DateTime.Kind.
* Remove the unused field.
* Fixing whitespaces.
Co-authored-by: Ben Adams <thundercat@illyriad.co.uk>
* Revert the changes and add AgressiveInlining
* Put the attribute on the getter.
* Update src/libraries/System.Private.CoreLib/src/System/DateTime.cs
Co-authored-by: Ben Adams <thundercat@illyriad.co.uk>
Co-authored-by: Stephen Toub <stoub@microsoft.com>
Mike McLaughlin [Thu, 9 Jul 2020 18:24:28 +0000 (11:24 -0700)]
Various createdump fixes and improvements to help diagnosing problems (#38940)
Better MacOS createdump thread suspend
Remove extra logging
Add trace_printf and flush diag logging
Add process id/name spew
Add stdout flushing to CrashInfo::Trace
Fix issue https://github.com/dotnet/diagnostics/issues/1305
Eric Erhardt [Thu, 9 Jul 2020 18:12:44 +0000 (13:12 -0500)]
Trim NetEventSource when EventSource.IsSupported is false (#38828)
* Trim NetEventSource when EventSource.IsSupported is false
Follow up to #38129. NetEventSource code was still left in even when EventSource.IsSupported is false, since all the usages of NetEventSource are keying off its own static property: NetEventSource.IsEnabled.
Remove NetEventSource.IsEnabled so the linker can trim NetEventSource code when EventSource.IsSupported is false.
* Remove HttpTelemetry.IsEnabled static property so the linker can trim EventSource code when EventSource.IsSupported is false.
* Fix fake NetEventSource to match what is in the product.
lindexi [Thu, 9 Jul 2020 17:55:08 +0000 (01:55 +0800)]
Set memory cache logger field as readonly (#37289)
Steve Pfister [Thu, 9 Jul 2020 17:20:56 +0000 (13:20 -0400)]
[Wasm] Skip System.IO.Compression.Brotli tests b/c the library is PNSE (#38941)
Johan Lorensson [Thu, 9 Jul 2020 17:16:30 +0000 (19:16 +0200)]
Use mono_runtime_delegate_invoke in EventPipeInternal::CreateProvider. (#38989)
Due to issues on some platforms related to mono_delegate_to_ftnptr_impl,
switch to use mono_runtime_delegate_invoke without need for delegate
wrapper generation currently not supported on all platforms.
Eirik Tsarpalis [Thu, 9 Jul 2020 17:10:40 +0000 (18:10 +0100)]
[CBOR] Make Half Read/Write methods public and add unit tests (#38946)
* Make Cbor Half methods public and add unit tests
* address feedback
Stephen Toub [Thu, 9 Jul 2020 16:41:15 +0000 (12:41 -0400)]
Improve terminology used in code (#38960)
* Improve terminology used in code
* Address PR feedback
* Update src/libraries/System.Private.CoreLib/src/System/Resources/RuntimeResourceSet.cs
Co-authored-by: Michal Strehovský <MichalStrehovsky@users.noreply.github.com>
Co-authored-by: Michal Strehovský <MichalStrehovsky@users.noreply.github.com>
Adam Sitnik [Thu, 9 Jul 2020 16:33:38 +0000 (18:33 +0200)]
extend existing test that validates the sent and received bytes with a usage of sync method that uses BufferPtrSendOperation internally (#38935)
dotnet-maestro[bot] [Thu, 9 Jul 2020 16:10:33 +0000 (18:10 +0200)]
[master] Update dependencies from dotnet/arcade mono/linker Microsoft/vstest dotnet/llvm-project dotnet/xharness (#38880)
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
Marek Safar [Thu, 9 Jul 2020 15:38:55 +0000 (17:38 +0200)]
Add feature switch for diagnostics handler in System.Net.Http (#38765)
Stephen Toub [Thu, 9 Jul 2020 15:32:01 +0000 (11:32 -0400)]
Fix a few more license headers (#38973)
* Fix a few more license headers
I missed a few directories outside of src.
* Update Directory.Build.props
Jan Kotas [Thu, 9 Jul 2020 14:33:57 +0000 (07:33 -0700)]
Delete unreachable code in stackwalker (#38978)
Marek Safar [Thu, 9 Jul 2020 13:47:34 +0000 (15:47 +0200)]
Standardize on same illink descriptor name (#38985)
Stephen Toub [Thu, 9 Jul 2020 13:10:36 +0000 (09:10 -0400)]
Update windows-instructions.md
Stephen Toub [Thu, 9 Jul 2020 13:08:39 +0000 (09:08 -0400)]
Delete WebHeaderCollection's event source (#38871)
The logging is verbose, arbitrary, expensive, and duplicative of logging that happens when headers are actually read/written by the underlying networking stack. Delete.
Santiago Fernandez Madero [Thu, 9 Jul 2020 11:12:19 +0000 (04:12 -0700)]
Add browser tfm to test projects that used to run when it derived from Unix (#38954)
* Add browser tfm to test projects that used to run when it derived from Unix
* Don't build System.Net.Mail.Unit.Tests as they are already PNSE
Alexander Köplinger [Thu, 9 Jul 2020 10:33:43 +0000 (12:33 +0200)]
WASM: Enable System.Runtime.Serialization.Formatters tests (#38948)
* WASM: Enable System.Runtime.Serialization.Formatters tests
We need to preserve some assemblies the BinaryFormatter needs and also skip some test cases that would cause PNSE on WebAssembly.
* Disable IsolatedStorage case too
It throws PNSE now.
Viktor Hofer [Thu, 9 Jul 2020 08:58:56 +0000 (10:58 +0200)]
Build refs only for applicable BuildTFMs (#38936)
* Build refs only for applicable BuildTFMs
Viktor Hofer [Thu, 9 Jul 2020 08:57:51 +0000 (10:57 +0200)]
Remove global properties for CoreLib P2P (#38937)
* Remove global properties for CoreLib P2P
Zoltan Varga [Thu, 9 Jul 2020 02:05:55 +0000 (22:05 -0400)]
[wasm] Add pinvokes for System.IO.Compression.dll. (#38925)
Anirudh Agnihotry [Thu, 9 Jul 2020 01:33:44 +0000 (18:33 -0700)]
remove pragma warning from ref source files (#38907)
Aleksey Kliger (λgeek) [Thu, 9 Jul 2020 01:22:16 +0000 (21:22 -0400)]
[metadata] Move rarely used bits out of MonoMethod and give 1 bit back to MonoMethod:slot (#38735)
The `MonoMethod:slot` width was accidentally changed in https://github.com/dotnet/runtime/commit/
8465be73eb40a9c409dc8974b9d6b235a1b5158f
To compensate, we move 3 bits out to image properties
* `verification_success` - rarely used nowadays, protected by the image lock (like all image properties)
* `is_reabstracted`, `is_covariant_override_impl` - infrequently used features of newer C# language features (default interface methods and covariant returns). Setting these assumes the loader lock is held.
Stephen Toub [Thu, 9 Jul 2020 00:35:26 +0000 (20:35 -0400)]
Fix remaining license headers (#38953)
* Fix license in remainder of .cs files
* Fix license header in .vb files
* Fix license header in .py files
* Fix license headers in .c, .cpp, .h
* Fix licensing on .dat files
* Fix license header in generators
* Fix license headers in .asm
* Fix license headers in .xml
* Fix remainder of license headers
* Add license default to .editorconfig
* Add some missing headers
* Fix Doundation to Foundation in some license headers
* Add missing license headers under libraries
MSDN.WhiteKnight [Wed, 8 Jul 2020 23:37:25 +0000 (04:37 +0500)]
Fix TOC in CI Health and investigation (#38914)
Johan Lorensson [Wed, 8 Jul 2020 22:26:00 +0000 (00:26 +0200)]
Fix case where EventPipeInternal::Enable is called with NULL output file. (#38927)
Santiago Fernandez Madero [Wed, 8 Jul 2020 22:18:15 +0000 (15:18 -0700)]
Remove commented libraries windows helix queues (#38947)
* Remove commented libraries windows helix queues
* Remove accidental empty line addition.
Jan Kotas [Wed, 8 Jul 2020 20:32:51 +0000 (13:32 -0700)]
Delete dead code related to finalization (#38906)
WonYoung Choi [Wed, 8 Jul 2020 19:42:19 +0000 (04:42 +0900)]
Add tizen-arm64 RIDs (#38832)
* Add tizen-arm64 RIDs
Since tizen 6.0.0, arm64 will be supported
* Add arm64 arch to all tizen versions
David Wrighton [Wed, 8 Jul 2020 19:40:02 +0000 (12:40 -0700)]
Run CLRTools unittests in PR jobs (#38694)
-Add new job to existing runtime pipeline to run the unit tests that are part of the clr.tools subset
-Avoid publishing anything other than test results from that job
-Run only on Linux-X64 as that's the platform with the most spare availability. These tests do not need to be run on a broad swath of platforms, as they are unittests of pure C#
Jeremy Koritzinsky [Wed, 8 Jul 2020 19:39:12 +0000 (12:39 -0700)]
Fix calling a ThisCall delegate via Reverse P/Invoke. (#38829)
Stephen Toub [Wed, 8 Jul 2020 18:18:32 +0000 (14:18 -0400)]
Delete ClientWebSocket's event source (#38870)
It's raising a single event for failed connects, and actual networking-related failures for failed connects will already be logged by the underlying API used.
By getting rid of the catch and rethrow, we can also avoid an extra layer of async state machine on connect.
Youssef Victor [Wed, 8 Jul 2020 17:54:54 +0000 (19:54 +0200)]
Throw with ParamName=value instead of Encoding (#38820)
* Throw with ParamName=value instead of Encoding
* Update WebClientTest.cs
Anton Firszov [Wed, 8 Jul 2020 17:34:05 +0000 (19:34 +0200)]
SocketHttpHandler: include host+IP information in HttpRequestException (#38131)
Fix #1326 by appending host:port info to HttpRequestException's message when connection fails.
Didn't change the inner SocketException, since it would require subclassing SocketException, which would add unnecessary complexity here.
Tomas Weinfurt [Wed, 8 Jul 2020 17:09:03 +0000 (10:09 -0700)]
ignore loopback NoDelay failure on OSX (#38900)
* ignore loopback NoDelay failure on OSX
* remove extra file
Tomáš Rylek [Wed, 8 Jul 2020 16:17:50 +0000 (18:17 +0200)]
Fix live libraries build config for the runincontext pipeline (#38926)
Steve Pfister [Wed, 8 Jul 2020 16:06:54 +0000 (12:06 -0400)]
[Wasm] Modify System.IO.IsolatedStorage to throw PNSE (#38898)
Tom Deseyn [Wed, 8 Jul 2020 15:33:22 +0000 (17:33 +0200)]
Console.Unix tests: don't run tests when SIGINT/SIGQUIT disposition is ignored (#38334)
* Console.Unix tests: don't run tests when SIGINT/SIGQUIT disposition is ignored
* Add SkipOnMono to HandlerInvokedForSigQuit test
Fan Yang [Wed, 8 Jul 2020 15:26:36 +0000 (11:26 -0400)]
Fix inconsistent copyright for C# files in Mono's corelib (#38664)
* Fix inconsistent copyright for C# files in Mono's corelib
* Update src/mono/netcore/System.Private.CoreLib/src/Mono/RuntimeMarshal.cs
Co-authored-by: Stephen Toub <stoub@microsoft.com>
* Use 2-line version of copyright
Co-authored-by: Stephen Toub <stoub@microsoft.com>
monojenkins [Wed, 8 Jul 2020 14:39:46 +0000 (10:39 -0400)]
[wasm][debugger] DebugDirectoryEntryType = Reproducible means that has debug information (#38869)
Considering DebugDirectoryEntryType = Reproducible as an assembly that has debug information.
Fixes mono/mono#20075
Co-authored-by: thaystg <thaystg@users.noreply.github.com>
Dong-Heon Jung [Wed, 8 Jul 2020 14:31:48 +0000 (23:31 +0900)]
Remove unnecessary codes (#38918)
monojenkins [Wed, 8 Jul 2020 13:47:14 +0000 (09:47 -0400)]
[wasm] Implement support for pinvoke callbacks in the interpeter. (#38839)
Co-authored-by: vargaz <vargaz@users.noreply.github.com>
Stephen Toub [Wed, 8 Jul 2020 13:23:11 +0000 (09:23 -0400)]
Update license headers (#38793)
Alexander Köplinger [Wed, 8 Jul 2020 12:53:18 +0000 (14:53 +0200)]
Add iOS/tvOS/Android to AdditionalBuildTargetFrameworks (#38922)
Saw these missing while reviewing https://github.com/dotnet/runtime/pull/37944.
As far as I can see this is only used when building inside VS but still good to add for consistency.
Stephen Toub [Wed, 8 Jul 2020 11:26:51 +0000 (07:26 -0400)]
Avoid unnecessary CultureInfo.CurrentCulture accesses in Enum (#38866)
* Avoid unnecessary CultureInfo.CurrentCulture accesses in Enum
Enum can only be backed by primitive numerical types, and using the IConvertible interface implementations to convert to numerical types won't pay any attention to culture, so just as there's no need to pass through the supplied provider, there's no need to access CultureInfo.CurrentCulture.
* Address PR feedback
Alexander Köplinger [Wed, 8 Jul 2020 11:23:56 +0000 (13:23 +0200)]
Unignore some Makefiles in src/mono (#38923)
The global .gitignore ignores `Makefile` since it's typically just a build artifact of CMake/automake.
However we have a few real Makefiles in src/mono that were excluded by this, resulting in VSCode's search not looking in them.
Vlad Brezae [Wed, 8 Jul 2020 11:02:05 +0000 (14:02 +0300)]
[interp] Remove usage of some gotos (#38813)
* [interp] Remove usage of some gotos
Their usage resulted in worse code on wasm.
* [interp] Rename method
Seems like something is failing in eglib-remap test
Anirudh Agnihotry [Wed, 8 Jul 2020 10:59:37 +0000 (03:59 -0700)]
Make browser peer for windows_nt and unix (#37944)
Fixes https://github.com/dotnet/runtime/issues/38559
Tomáš Rylek [Wed, 8 Jul 2020 09:48:03 +0000 (11:48 +0200)]
July infra rollout: Move runtime tests out of the coreclr folder (#38058)
* Mechanical move of tests from src/coreclr/tests/src to src/tests
* Minimum changes to make CoreCLR tests build in the new location
(*) Path changes in the test build scripts;
(*) Modify runtime.yml filtering based on Nathan's and Santi's feedback;
(*) Fix runtime pipeline filtering clauses per Santi's PR feedback;
(*) Fix path to Coreclr.TestWrapper.csproj;
(*) Pass unprocessed build args to test wrapper creation;
(*) Fix missing $(TestRoot) on groups in Pri0 test build mode.
Thanks
Tomas
Sergey Andreenko [Wed, 8 Jul 2020 07:46:55 +0000 (00:46 -0700)]
Reenable fixed tests after noRetyping and similar changes. (#38855)
* Reenable GitHub_26491.
Closes #13355
* Reenable crossgen2 tests failing with old retyping/
They were fixed both with and without retyping.
Closes #37883.
* Reenable HVA merge cases.
Closes #37341, closes #37880.
* Reenable GitHub_35821.
Closes #36206, closes #36418.
The issue was fixed by #37499.
* Delete extra lines that are no longer needed.
#37506 was fixed in #38241.
* delete a throwing init.
Jan Kotas [Wed, 8 Jul 2020 07:23:50 +0000 (00:23 -0700)]
Prevent shutdown being blocked by finalization (#38909)
The finalization queue can be long or constantly growing when the finalization thread is not able to
keep up with finalizable object allocation rate. This can lead to shutdown being blocked for a long
time or indefinitely.
The fix is stop the finalization loop once we enter shutdown instead of trying to empty the finalization
queue.
Fixes #314
Kunal Pathak [Wed, 8 Jul 2020 06:34:46 +0000 (23:34 -0700)]
Use the latest base register while accessing the stack (#38834)
* logging
* the fix
* revert lclvars.cpp changes
* Revert "revert lclvars.cpp changes"
This reverts commit
d39af7084687e8fe5e6d4f71674ec84d36a88340.
* wip
* revert lclvars.cpp changes
* deleted inst_RV_ST()
* removing logging, added some asserts
* jit-formatting
* add back case of INS_add and some more asserts
* reset lclvars.cpp
* delete comments and cleanup code
* revert changes inside common.il
* Revert "Disable failing Windows arm32 tests (#38844)"
This reverts commit
311fd810053bcfc4933d1a371323306f8860b3eb.
* review comments
* added standard function header
Tomas Weinfurt [Wed, 8 Jul 2020 03:14:31 +0000 (20:14 -0700)]
fix failing revocation & ssl tests (#38827)
* fix failing tests
* fix casing
* feedback from review
* style update
* retire EndEntityIsServer
Bruce Forstall [Wed, 8 Jul 2020 01:02:57 +0000 (18:02 -0700)]
Fix LookupPromotedStructDeathVars out param initialization (#38770)
Bruce Forstall [Tue, 7 Jul 2020 23:39:59 +0000 (16:39 -0700)]
Disable 2 System.Drawing tests for TailcallStress (#38891)
Issue: https://github.com/dotnet/runtime/issues/38889
Bruce Forstall [Tue, 7 Jul 2020 23:39:18 +0000 (16:39 -0700)]
Disable DisableAiaOptionWorks for TailcallStress (#38888)
Issue: https://github.com/dotnet/runtime/issues/38887
Bruce Forstall [Tue, 7 Jul 2020 23:38:31 +0000 (16:38 -0700)]
Disable pauseonstart test (#38883)
Issue: https://github.com/dotnet/runtime/issues/38847
Bruce Forstall [Tue, 7 Jul 2020 23:26:21 +0000 (16:26 -0700)]
Remove illegal `delete` of `Instr` objects (#38831)
`Instr` objects come from a static pool and should not be deleted
with `delete`. Instead, they are marked no longer used by setting
their `opcode` field to -1.
Fixes #12433
David Wrighton [Tue, 7 Jul 2020 22:18:11 +0000 (15:18 -0700)]
Remove static variable holding unboxing stubs (#38838)
- UnboxingMethodDesc is a type that is not intended to escape JIT
interface
- This fix is a combination of 2 changes.
- First, a change for creation of ldtoken to a generic valuetype method
- Second, moving a bool to indicate whether or not a method is an
unboxing stub into the MethodWithToken data structure instead of
passing it as a side parameter everywhere
- Also, a test case for various generic ldtoken cases is added to
crossgen2smoke
- And, minor fix to make single method compilation of a generic method
function correctly. (There was a typo)
Sergey Andreenko [Tue, 7 Jul 2020 21:56:45 +0000 (14:56 -0700)]
Disable `JitDoOldStructRetyping` by default. (#37745)
* Disable retyping by default.
* Keep block init/copy as baseline.
Total bytes of diff: -21971 (-0.07% of base)
3075 total methods with Code Size differences (1589 improved, 1486 regressed), 184523 unchanged.
Note: it improves code with retyping as well:
808 total methods with Code Size differences (808 improved, 0 regressed), 186790 unchanged.
Found 55 files with textual diffs.
Crossgen CodeSize Diffs for System.Private.CoreLib.dll, framework assemblies for default jit
Summary of Code Size diffs:
(Lower is better)
Total bytes of diff: -22923 (-0.07% of base)
* Don't mark LCL_VAR that is used in RETURN(IND(ADDR(LCL_VAR)) as address taken when possible.
Protect against a promoted struct with a hole like struct<8> {hole 4; int a;};
* Replace 1-field structs with the field for returns.
* Add SSA support.
* Review response.
* isOpaqueSIMDLclVar fix
* Add tests for structs with independently promoted SIMD fields.
* Old retyping fix.
* Don't try to replace SIMD fields.
Egor Chesakov [Tue, 7 Jul 2020 21:16:30 +0000 (14:16 -0700)]
[Arm64] ASIMD ReverseElement8 ReverseElement16 ReverseElement32 (#38850)
Santiago Fernandez Madero [Tue, 7 Jul 2020 20:19:37 +0000 (13:19 -0700)]
Add examples of System.Private.CoreLib iterative workflow (#38885)
* Add examples of System.Private.CoreLib iterative workflow
* Update build.sh
* PR Feedback
Maxim Lipnin [Tue, 7 Jul 2020 20:11:17 +0000 (23:11 +0300)]
[wasm] Add PNSE for System.Net.WebClient and skip test suite (#38857)
Alexander Köplinger [Tue, 7 Jul 2020 20:01:13 +0000 (22:01 +0200)]
Rewrite System.Net.Http.Json functional tests to use a custom HttpMessageHandler (#38733)
All of the tests start a socket-based loopback server which doesn't work on WebAssembly.
We can do the tests using a custom HttpMessageHandler instead of the loopback server as well.
Matt Connew [Tue, 7 Jul 2020 18:15:06 +0000 (11:15 -0700)]
Porting serialization fix from 3.1 (#38715)
Tammy Qiu [Tue, 7 Jul 2020 18:09:27 +0000 (14:09 -0400)]
[wasm] Add zoneinfo data for System.Runtime.TimeZoneInfoTests
Add zoneinfo data for System.Runtime.TimeZoneInfoTests
* Include dotnet.timezones.blat in runtime pack
* Adding enable-zoneinfo to runscriptcommand in tests.mobile.targets
* add mono_wasm_load_data to library-mono.js
Co-authored-by: Larry Ewing <lewing@microsoft.com>
monojenkins [Tue, 7 Jul 2020 17:48:34 +0000 (13:48 -0400)]
[wasm][debugger] Add support for deref'ing pointers (#36260)
Co-authored-by: radical <radical@users.noreply.github.com>
Stephen Toub [Tue, 7 Jul 2020 17:41:06 +0000 (13:41 -0400)]
Tweak BufferPtrSendOperation to address argument confusion (#38868)
Steve Pfister [Tue, 7 Jul 2020 17:22:16 +0000 (13:22 -0400)]
[Wasm]Adjust AppContext.BaseDirectory and enable Microsoft.Extensions tests (#38721)
Adjust AppContext.BaseDirectory to return "/" for wasm because GetEntryAssembly().Location returns an empty string.
This change also enables most of the Microsoft.Extensions.* tests with the exception of DependencyModel and Hosting.
Layomi Akinrinade [Tue, 7 Jul 2020 17:13:51 +0000 (10:13 -0700)]
Add linker annotations for System.Text.Json (#38595)
* Add linker annotations for System.Text.Json
* Review feedback - don't use property accessors in tests and use normal await pattern
* Add annotations to ref & fix immutable collections
* Address review feedback
* Clean up linker tests
* Fix ref file #if directives
* Clean up
* Re-add Hastable.cs
* Remove serialization code from Deserialize overload tests
* Verify collection deserialization is correct
Jan Kotas [Tue, 7 Jul 2020 15:05:20 +0000 (08:05 -0700)]
Delete dead code related to MDAs (#38825)
- Unused QCall
- Unused arguments
Bruce Forstall [Tue, 7 Jul 2020 15:04:43 +0000 (08:04 -0700)]
Disable GitHub_27924 for Windows arm (#38845)
Issue: https://github.com/dotnet/runtime/issues/36681
Bruce Forstall [Tue, 7 Jul 2020 15:03:15 +0000 (08:03 -0700)]
Disable Linux arm64 MinMax_ro test (#38846)
Issue: https://github.com/dotnet/runtime/issues/38799
Bruce Forstall [Tue, 7 Jul 2020 15:01:17 +0000 (08:01 -0700)]
Disable failing Windows arm32 tests (#38844)
Issue: https://github.com/dotnet/runtime/issues/36199
Maxim Lipnin [Tue, 7 Jul 2020 13:35:19 +0000 (16:35 +0300)]
[wasm] Mark System.Net.WebSockets.Tests.WebSocketProtocolCreateTests class with an active issue (#38854)
Marie Píchová [Tue, 7 Jul 2020 13:08:05 +0000 (15:08 +0200)]
Fixed outerloop tests for Sync HttpClient API (#38453)
monojenkins [Tue, 7 Jul 2020 12:11:14 +0000 (08:11 -0400)]
Add eventpipe to dist files (#38858)
make dist fails as mono/eventpipe/Makefile never makes it into the tarball.
Co-authored-by: nealef <nealef@users.noreply.github.com>
Yuchong Pan [Tue, 7 Jul 2020 09:47:07 +0000 (02:47 -0700)]
Changed checks for hardware intrinsics get_IsSupported() (#38835)
monojenkins [Tue, 7 Jul 2020 07:46:22 +0000 (03:46 -0400)]
[interp] Access frame arguments as locals (#38553)
Co-authored-by: BrzVlad <BrzVlad@users.noreply.github.com>