Zoltan Varga [Sun, 7 Feb 2021 00:32:50 +0000 (19:32 -0500)]
Cleanup assembly loading code. (#47958)
* Cleanup the assembly loading code.
* Remove the 'problematic' assembly code.
Co-authored-by: Aleksey Kliger (λgeek) <alklig@microsoft.com>
Zoltan Varga [Sun, 7 Feb 2021 00:02:48 +0000 (19:02 -0500)]
Remove the remainder of the appdomain unload code. (#47955)
* Remove the remainder of the appdomain unload code.
* Restore public API functions.
Bruce Forstall [Sat, 6 Feb 2021 20:45:46 +0000 (10:45 -1000)]
Add crossgen2 automated SuperPMI collection of Core_Root libraries (#47818)
* Add crossgen2 automated SuperPMI collection of Core_Root libraries
Linux is excluded; there are uninvestigated crashes doing crossgen2 Linux collections.
I added logic to copy the runtime ".dotnet" directory to Helix machines to use as the
driver for crossgen2, but that doesn't work for cross-platform scenarios (e.g., Windows
x64 .dotnet, x86 Core_Root), so it's commented out for now and the same-Core_Root corerun.exe
is used as the crossgen2 driver.
Add `-collection_type` argument to superpmi-setup.py
Allow copying of .json files to Helix; needed by crossgen2.
Changed superpmi pipeline to run with DEBUG level logging from superpmi.py so it's
easier to see what happened when looking at Helix logs (without having to find and separately
download the superpmi.log file).
Changed superpmi.py to write stdout/stderr files to log on failure, so we can see why
crossgen2 failed.
Fix creation of log file directories when `-log_file` argument specified
Excluded many more native files from superpmi collection setup.
Fixes #47541
Extra:
1. If `-temp_dir` is specified to superpmi.py, normalize it to
an absolute path.
2. Add a superpmi.py collect `-exclude` option to avoid collecting
assemblies known to fail (and cause pop-up failures: see #47552).
(This isn't used by the automated collection, but is generally useful.)
3. Stop logging too-verbose message about CORINFO_SIG_INST handle
array illegal values, since it's "by design" for crossgen2
4. Force lower-casing of JIT-EE version string, for consistency.
Zoltan Varga [Sat, 6 Feb 2021 20:20:20 +0000 (15:20 -0500)]
Remove security code. (#47957)
Stephen Toub [Sat, 6 Feb 2021 16:23:13 +0000 (11:23 -0500)]
Fix tests failing xunit analyzers after dependency update (#47954)
Zoltan Varga [Sat, 6 Feb 2021 15:49:33 +0000 (10:49 -0500)]
Clean up the threading code. (#47948)
Remove unused fields/functions.
Zoltan Varga [Sat, 6 Feb 2021 15:49:08 +0000 (10:49 -0500)]
Cleanup System.Reflection.Emit code. (#47945)
* Remove unused fields from ref.emit classes.
* Remove MonoDynamicImage->run/save, they are always TRUE/FALSE.
* Remove more code.
Stephen Toub [Sat, 6 Feb 2021 14:00:19 +0000 (09:00 -0500)]
Avoid unnecessary Range usage in TranscodingStream (#47893)
- Enables MemoryExtensions.AsSpan(T[], Range) to be trimmed in a default Blazor wasm app.
- Use of span.Slice(int) is more efficient than span[int..]
- Use of AsSpan(int, int) is more efficient than AsSpan(Range)
Stephen Toub [Sat, 6 Feb 2021 12:47:46 +0000 (07:47 -0500)]
Re-remove NetEventSource.IsEnabled property (#47917)
We'd removed this almost a year ago, but it came back almost immediately and accidentally as a result of two PRs that raced with each other.
Stephen Toub [Sat, 6 Feb 2021 12:31:12 +0000 (07:31 -0500)]
Tweak dependency injection's StackGuard (#47890)
- Use TryEnsureSufficientExecutionStack rather than EnsureSufficientExecutionStack, allowing the latter to be trimmed in a default Blazor wasm app.
- Use ValueTuple instead of Tuple, allowing the latter to be trimmed in a default Blazor wasm app
- Clean up awaiter usage in RunOnEmptyStackCore
Stephen Toub [Sat, 6 Feb 2021 12:28:16 +0000 (07:28 -0500)]
Replace string.Trim(null) with string.Trim() in corelib (#47885)
The former just checks the input, and if it's null, calls the latter.
Stephen Toub [Sat, 6 Feb 2021 12:27:37 +0000 (07:27 -0500)]
Remove use of string.GetHashCode(StringComparison) (#47883)
All of our call sites to it pass in a const StringComparison; GetHashCode will then turn around and decide which property on StringComparer to use, and then call GetHashCode on the relevant instance... we may as well just pick the instance directly, which not only saves the lookup and enables devirtualization, it also enables better trimming, as string.GetHashCode(StringComparison) ends up rooting all of the StringComparer properties in case you pass in the appropriate StringComparison.
Andrew Au [Sat, 6 Feb 2021 03:26:13 +0000 (19:26 -0800)]
The min address within the segment should be computed using max (#47926)
Stephen Toub [Sat, 6 Feb 2021 01:34:13 +0000 (20:34 -0500)]
Remove string.Insert/Remove usage from Uri.GetCanonicalPath (#47924)
For a rare path, GetCanonicalPath is removing one character from a string and then inserting a replacement character. Thanks to span, we can replace the two string allocations with a single char[] allocation and avoid these Remove/Insert calls, which are the only ones keeping string.Remove and string.Insert from being trimmed out of a default Blazor wasm app.
Marco Rossignoli [Sat, 6 Feb 2021 00:59:53 +0000 (01:59 +0100)]
Fix NameValueHeaderValue.CheckValueFormat (#794)
Fixes NameHeaderValue validation to be in line with RFC.
Resolves #1504
Aleksey Kliger (λgeek) [Sat, 6 Feb 2021 00:31:20 +0000 (19:31 -0500)]
[reflection] Remove sre-save and DISABLE_REFLECTION_EMIT_SAVE (#47915)
* [reflection] Remove sre-save and DISABLE_REFLECTION_EMIT_SAVE
* remove old sre-save entrypoint declarations too
Ryan Lucia [Fri, 5 Feb 2021 23:52:05 +0000 (18:52 -0500)]
mono: remove ENABLE_NETCORE and associated framework code (#47925)
* mono: remove ENABLE_NETCORE and associated framework code
* Remove g_assert_not_netcore
* No more locales.h
* No more filewatcher.h
* Fix Windows build
* Remove g_assert_netcore
I don't see anything calling this
* Add now-needed include
Zoltan Varga [Fri, 5 Feb 2021 22:55:27 +0000 (17:55 -0500)]
Fix the mono cmake build to work without mono.proj. (#47913)
Newell Clark [Fri, 5 Feb 2021 22:47:17 +0000 (17:47 -0500)]
Fix violations system private xml (#47874)
* Set diagnostic severity
* Fix violations in System.Private.Xml
* Revert .editorconfig
Eric Erhardt [Fri, 5 Feb 2021 20:07:48 +0000 (14:07 -0600)]
Remove a couple LINQ usages in Microsoft.Extensions (#47873)
* Remove a couple LINQ usages in Microsoft.Extensions
* Respond to PR feedback.
Aleksey Kliger (λgeek) [Fri, 5 Feb 2021 18:38:37 +0000 (13:38 -0500)]
[mbr] Fix link in README (#47914)
Elinor Fung [Fri, 5 Feb 2021 18:03:38 +0000 (10:03 -0800)]
Add example for installing/launching emulator to Android test doc (#47889)
Eric Erhardt [Fri, 5 Feb 2021 18:00:37 +0000 (12:00 -0600)]
Change ParameterDefaultValue to use GetUninitializedObject instead of Activator.CreateInstance (#47722)
* Change ParameterDefaultValue to use GetUninitializedObject instead of Activator.CreateInstance
Activator.CreateInstance has the ability to call a parameterless constructor (if one is defined) on a value type. This is incorrect for ParameterDefaultValue. It is more correct to call GetUninitializedObject, which is the same as using `default(T)`.
* Add test for struct with default constructor
Thays Grazia [Fri, 5 Feb 2021 17:15:12 +0000 (14:15 -0300)]
[mono][debugger]Reverting major version change (#47872)
Eric Erhardt [Fri, 5 Feb 2021 16:51:55 +0000 (10:51 -0600)]
Resolve ILLink warnings in System.Linq.Expressions (Round 2) (#47803)
* Resolve ILLink warnings in System.Linq.Expressions (Round 2)
Contributes to #45623
* Suppress ToString warning in ExpressionStringBuilder
N [Fri, 5 Feb 2021 16:28:32 +0000 (11:28 -0500)]
Removed unneeded variable (#44896)
Larry Ewing [Fri, 5 Feb 2021 16:28:10 +0000 (10:28 -0600)]
[browser] Fix the exit code in the sample (#47884)
Fix typo in browser sample so it doesn't log an error
Zoltan Varga [Fri, 5 Feb 2021 11:39:15 +0000 (06:39 -0500)]
Remove more unused files from netcore/. (#47882)
* Remove more unused files from netcore/.
* Remove unused gen-xunit-runner.
Jonathan Chambers [Fri, 5 Feb 2021 11:31:27 +0000 (06:31 -0500)]
Ensure mono_gc_thread_detach is always called. (#47816)
The previous logic would not call `mono_gc_thread_detach` for a number of scenarios. One example:
```
start_wrapper
- mono_thread_info_attach - thread is now live in mono threads layer
- start_wrapper_internal
-- mono_thread_attach_internal - mono attached to vm thread layer. GC handle is set via mono_thread_info_set_internal_thread_gchandle
-- mono_thread_detach_internal - detached from vm thread layer. GC handle cleared via call to mono_thread_info_unset_internal_thread_gchandle
- mono_thread_info_exit
-- mono_thread_info_detach
--- unregister_thread
---- thread_detach callback - checks if gc handle is valid and returns if not via mono_thread_info_try_get_internal_thread_gchandle. We've already cleared above so we never call mono_gc_thread_detach.
```
This change ensures `mono_gc_thread_detach` is always called even the GC handle for the thread has already been cleared.
Jan Vorlicek [Fri, 5 Feb 2021 09:34:34 +0000 (10:34 +0100)]
Fix covariant returns when overriding method of non-parent ancestor (#47846)
There is a problem in the
ClassLoader::ValidateMethodsWithCovariantReturnTypes that results in
failed verification of valid override in case the return type of the
method being overriden is generic in canonical form and it is defined
in an ancestor class that is not the parent.
The problem is that we attempt to use instantiation of the parent class
instead of the ancestor class that contains definition of the method
being overriden.
This change fixes it by locating the proper ancestor MethodTable and
using it.
Jan Jahoda [Fri, 5 Feb 2021 04:03:09 +0000 (05:03 +0100)]
Limit unique SNI to 63 chars in tests (#47854)
* Limit SNI to 63 chars
* Split SNI to more DNS labels
Stephen Toub [Fri, 5 Feb 2021 03:37:13 +0000 (22:37 -0500)]
Enable Console.OpenStandard* to be trimmed in default Blazor wasm app (#47878)
Stephen Toub [Fri, 5 Feb 2021 03:36:58 +0000 (22:36 -0500)]
Enable SequenceMarshal to be trimmed from default Blazor wasm app (#47879)
Andy Ayers [Fri, 5 Feb 2021 01:53:41 +0000 (17:53 -0800)]
JIT: fix interaction of PGO and jitstress (#47876)
We always need to run the profile data phase so that jit stress can inject
random profile counts if it so chooses.
Also, clean up a few dumping nits -- don't dump the profile query status until
we get around to trying to incorporate counts; summarize schema records before
asserting that we must have block counts, etc.
Closes #47839
Gleb Balykov [Fri, 5 Feb 2021 00:05:37 +0000 (03:05 +0300)]
Fix armel build (#47771)
Zoltan Varga [Thu, 4 Feb 2021 23:59:14 +0000 (18:59 -0500)]
Remove the src/mono/netcore directory, move its contents to src/mono. (#47847)
* Remove the src/mono/netcore directory, move its contents to src/mono.
* Fix docs and make targets.
* Remove the netcore dir itself.
* Fix samples.
Elinor Fung [Thu, 4 Feb 2021 23:16:53 +0000 (15:16 -0800)]
Update build-runtime to disable PGO when not building release (#47865)
Adam Sitnik [Thu, 4 Feb 2021 22:05:22 +0000 (23:05 +0100)]
make TestUserCredentialsPropertiesOnWindows stable on Windows Server Core (#47031)
* kill the process first, then remove the access and then remove the user
this is to try to make TestUserCredentialsPropertiesOnWindows stable on Windows Server Core
* is UnauthorizedAccessException thrown from finally swallowing a different exception (throw in the catch block)?
* I was right, the first call to SetAccessControl was throwing
What if we don't give the user rigts to execute it at all?
Eric Erhardt [Thu, 4 Feb 2021 20:47:56 +0000 (14:47 -0600)]
Resolve ILLink warnings in System.Security.Cryptography.Primitives (#47853)
* Resolve ILLink warnings in System.Security.Cryptography.Primitives
Contributes to #45623
Zoltan Varga [Thu, 4 Feb 2021 20:14:43 +0000 (15:14 -0500)]
* Initial arm64e support. (#47819)
* Fix the c++ build.
* Remove some unused prototypes.
Aleksey Kliger (λgeek) [Thu, 4 Feb 2021 20:01:17 +0000 (15:01 -0500)]
[mono] Compile runtime with MBR support by default on Android and Browser (#47785)
Contributes to https://github.com/dotnet/runtime/issues/44806
Omair Majid [Thu, 4 Feb 2021 18:35:49 +0000 (13:35 -0500)]
Add missing dlclose on error (#47487)
If the symbol is not found, close the library before returning false.
Otherwise, the library is not stored anywhere and never cleaned up.
David Wrighton [Thu, 4 Feb 2021 18:05:47 +0000 (10:05 -0800)]
Fix dynamic pgo (#47790)
* Fix dynamic pgo schema data copy
Zoltan Varga [Thu, 4 Feb 2021 18:03:56 +0000 (13:03 -0500)]
Remove ENABLE_MINIMAL options which are disabled on netcore already. (#47817)
Adeel Mujahid [Thu, 4 Feb 2021 18:01:10 +0000 (20:01 +0200)]
Remove unused unicode header inclusion (#47840)
`unicode/uclean.h` was added in bdc8955 for `u_init()` when the PR was
WIP: https://github.com/dotnet/runtime/pull/37971/commits
By the time PR was merged, `u_init()` was removed, so this header is
not required by any configuration.
Steve MacLean [Thu, 4 Feb 2021 15:51:27 +0000 (10:51 -0500)]
Fix createdump on Apple Silicon (#47835)
Karel Zikmund [Thu, 4 Feb 2021 15:10:40 +0000 (16:10 +0100)]
Update CODEOWNERS (#47851)
Removing Ahson as he is not on BCL team anymore
Zoltan Varga [Thu, 4 Feb 2021 14:51:39 +0000 (09:51 -0500)]
Fix DISABLE_JIT support on amd64. (#47827)
Alexander Köplinger [Thu, 4 Feb 2021 14:49:48 +0000 (15:49 +0100)]
Disable Android arm64 runtime tests (#47852)
See https://github.com/dotnet/runtime/issues/47850
dotnet-maestro[bot] [Thu, 4 Feb 2021 14:42:19 +0000 (15:42 +0100)]
[master] Update dependencies from dotnet/xharness dotnet/runtime-assets dotnet/arcade (#47797)
* Update dependencies from https://github.com/dotnet/runtime-assets build
20210202.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.Runtime.TimeZoneData , System.Security.Cryptography.X509Certificates.TestData , System.Windows.Extensions.TestData
From Version 5.0.0-beta.21062.1 -> To Version 5.0.0-beta.21102.1
* Update dependencies from https://github.com/dotnet/arcade build
20210201.7
Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.ApiCompat , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.GenFacades , Microsoft.DotNet.GenAPI , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.SharedFramework.Sdk
From Version 6.0.0-beta.21081.1 -> To Version 6.0.0-beta.21101.7
* Update dependencies from https://github.com/dotnet/xharness build
20210203.1
Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Xunit
From Version 1.0.0-prerelease.21102.1 -> To Version 1.0.0-prerelease.21103.1
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
dotnet-maestro[bot] [Thu, 4 Feb 2021 13:05:26 +0000 (14:05 +0100)]
[master] Update dependencies from mono/linker (#47709)
* Update dependencies from https://github.com/mono/linker build
20210201.1
Microsoft.NET.ILLink.Tasks
From Version 6.0.0-alpha.1.21079.1 -> To Version 6.0.0-alpha.1.21101.1
* Update dependencies from https://github.com/mono/linker build
20210201.2
Microsoft.NET.ILLink.Tasks
From Version 6.0.0-alpha.1.21079.1 -> To Version 6.0.0-alpha.1.21101.2
* Update dependencies from https://github.com/mono/linker build
20210203.1
Microsoft.NET.ILLink.Tasks
From Version 6.0.0-alpha.1.21079.1 -> To Version 6.0.0-alpha.1.21103.1
* Add warnings to baseline
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Mateo Torres Ruiz <matorre@microsoft.com>
Co-authored-by: Marek Safar <marek.safar@gmail.com>
Steve MacLean [Thu, 4 Feb 2021 09:58:08 +0000 (04:58 -0500)]
Apple silicon debugger (#47834)
* Use PAL_JITWriteEnable in debug/ee/controller.cpp
* Fix breakpoint exception handling on macos
* Fix Arm64SingleStepper for osx W^X
* Fix DebuggerHeapExecutableMemoryPage for W^X
* Fix DebuggerEval::DebuggerEval() during W^X
Johan Lorensson [Thu, 4 Feb 2021 07:53:32 +0000 (08:53 +0100)]
Handle NativeLibrary.GetExport/Free on libs not loaded through NativeLibrary.*Load* on Mono. (#47705)
Handle NativeLibrary.GetExport on libs loaded with Interop.Kernel32.LoadLibraryEx.
https://github.com/dotnet/runtime/pull/47013 changed how kernel32.dll
and Ws2_32.dll gets loaded on Windows. Instead of loading using
NativeLibrary.Load these system libraries are now loaded directly using
LoadLibraryEx, but symbols are still handled through NativeLibrary.
This short-circuits some logic in Mono that assumes all libraries gets
loaded through NativeLibrary.Load.
Fix adds ability to use passed in HMODULE when not finding a matching
library in our native library cache and use it directly, inline with CoreClr behavior.
* Handle NativeLibrary GetExport/Free using IntPtr library OS handle xplat.
* Disable additional System.Drawing.Common tests due to missing COM support.
Anton Firszov [Thu, 4 Feb 2021 06:10:40 +0000 (07:10 +0100)]
fix #47561 (#47575)
Buyaa [Thu, 4 Feb 2021 05:09:07 +0000 (21:09 -0800)]
Update the analyzer version in runtime and enable the TFM attributes on browser build (#47789)
* Remove logic for removing TFM target supported attributes for browser build, use latest analyzer
Jan Kotas [Thu, 4 Feb 2021 03:08:30 +0000 (19:08 -0800)]
Fix error message in R2R log (#47811)
Simon Nattress [Thu, 4 Feb 2021 00:54:57 +0000 (16:54 -0800)]
Pass opaque method signature handle between JIT/CG2 (#47779)
* Crossgen2 presently abuses the `CORINFO_SIG_INFO` pSig field to pass a handle representing a managed method signature object which the JIT passes back to us later in compilation. This field is for byte arrays and causes problems with SuperPMI which rightly doesn't know how to interpret a zero-length buffer whose pointer is set.
* Introduce a new field ,`methodSignature` where we pass the handle back to the JIT. This pattern saves us from allocating and pinning a byte buffer for signatures, something the native code VM and Crossgen1 don't have to worry about.
* Add strongly typed `ObjectToHandle` and `HandleToObject` methods for `CORINFO_MODULE_STRUCT_` <=> `MethodIL` and `MethodSignatureInfo` <=> `MethodSignature`.
* Add SuperPMI support for CORINFO_SIG_INFO.methodSignature
Co-authored-by: Bruce Forstall <brucefo@microsoft.com>
Alexander Köplinger [Wed, 3 Feb 2021 23:27:48 +0000 (00:27 +0100)]
Add more sources to tasks.proj build semaphore (#47804)
* Add more sources to tasks.proj build semaphore
With the Apple/AndroidAppBuilders we now have additional sources besides *.cs so we need to add them to the semaphore,
otherwise changes in these files wouldn't cause a rebuild.
* Review feedback
Omair Majid [Wed, 3 Feb 2021 22:01:45 +0000 (17:01 -0500)]
Fix weight computation in jit (#47470)
This appears to be a typo. weight1 is from dsc1 and weight2 is from
dsc2. If we checking whether dsc1 is a register arg, we should be
adjusting weight1, not weight2.
Eirik Tsarpalis [Wed, 3 Feb 2021 21:07:03 +0000 (21:07 +0000)]
Add missing docs for ConcurrentDictionary.Comparer (#47807)
* add missing docs for ConcurrentDictionary.Comparer
* Update src/libraries/System.Collections.Concurrent/src/System/Collections/Concurrent/ConcurrentDictionary.cs
Co-authored-by: Stephen Toub <stoub@microsoft.com>
Co-authored-by: Stephen Toub <stoub@microsoft.com>
Jessica Petty [Wed, 3 Feb 2021 20:20:06 +0000 (12:20 -0800)]
Add rich nav specific pipeline to enable Rich Navigation (#43374)
* Add new Rich Nav specific pipeline, temporarily enable RichNav in CI
* Temporarily fix template issue in arcade to test build
* Fix typo in build-job.yml
* Add Rich Nav package feed
* Thread 'enableRichCodeNavigation' parameter through, respond to PR feedback
* Remove change from templates
* Simplify templating and building after insight from Santiago
* Respond to pull request feedback from Santiago
* Specify environment manually, enable for allConfigurations
* Flow environment parameter through to build script
* HACK HACK HACK: replace normal CI with Rich Nav
* Increase timeout to 4 hours
* Empty commit to force another build
* Push empty commit to re-trigger build
* empty commit to force build
* fix build pipeline - remove script that no longer exists
* Add missing task
* Try changing the platform that is building this
* Update Rich Nav pipeline, revert changes to runtime pipeline
Steve Pfister [Wed, 3 Feb 2021 19:36:21 +0000 (14:36 -0500)]
Add Mac Catalyst RIDs (#47645)
First step in being able to build different mac catalyst runtimes
Resolves https://github.com/dotnet/runtime/issues/47518
Charles Stoner [Wed, 3 Feb 2021 19:02:41 +0000 (11:02 -0800)]
Updates for conditional expression type breaking change (#47738)
Newell Clark [Wed, 3 Feb 2021 18:35:57 +0000 (13:35 -0500)]
Bug fix issue 30351 (#46436)
Added overrides for async methods on IndentedTextWriter that call the respective async methods on the underlying TextWriter.
David Wrighton [Wed, 3 Feb 2021 18:20:05 +0000 (10:20 -0800)]
Add ability to update the friend assembly set of an assembly with Reflection Emit (#47784)
- Add routine/lock for updating friend assemblies
- Unify all assembly handling custom attribute updates in the runtime
- This adjusts the handling of the DebuggableAttribute, which in the past would have worked even if it was applied to anything via the CustomAttributeBuilder apis
Co-authored-by: Krzysztof Wicher <kwicher@microsoft.com>
Sergei Papikian [Wed, 3 Feb 2021 16:56:10 +0000 (19:56 +0300)]
Added ConcurrentDictionary.Comparer property (#47787)
* fix #31350
* fix ref file
* fix getter
* added tests
Huo Yaoyuan [Wed, 3 Feb 2021 15:21:39 +0000 (23:21 +0800)]
Vector.As<TFrom, TTo> (#47150)
* Implement Vector.As using Unsafe.As.
* Ref source for Vector.As.
* Mark managed impl with intrinsic and aggressive inlining.
* Hwintrinsic definition
* Hwintrinsic impl
* Add missing break.
* Make extension method.
* Add test for unsupported As types.
* Add test for op_explicit and cast.
* Reorder intrinsic checks.
Adeel Mujahid [Wed, 3 Feb 2021 12:59:39 +0000 (14:59 +0200)]
Fix throw decl for math functions (#47687)
Marek Habersack [Wed, 3 Feb 2021 11:03:59 +0000 (12:03 +0100)]
[AOT] Make native linker name configurable (#47747)
Context: https://github.com/android/ndk/wiki/Changelog-r22#announcements
Context: https://github.com/xamarin/xamarin-android/pull/5475
Context: https://github.com/mono/mono/pull/20814
This commit fixes a problem where the AOT compiler hard-codes the native
linker executable name to a platform-specific value but such an
executable does not exist in the toolchain being used, thus making the
AOT compiler fail to link the final binary.
The specific use case here is the new Android NDK r22 which not only
deprecates GNU binutils, but also removes architecture-prefixed `ld`
binary (e.g. `aarch64-linux-android-ld` no longer exists). Instead, the
NDK provides a non-prefixed `ld` binary and two prefixed ones:
`$arch-ld.gold` and `$arch-ld.bfd`. However, since the AOT compiler
hardcodes `ld` as the linker name on Linux systems, the AOT compilation
fails when attempting to link the final executable. Which, in turn,
breaks some Xamarin.Android AOT tests.
This commit fixes the issue by adding a new `ld-name` option to the AOT
compiler allowing one to specify just the name of the linker binary to
use. The rest of the toolchain mechanics doesn't change.
SingleAccretion [Wed, 3 Feb 2021 07:54:33 +0000 (10:54 +0300)]
Add missing logging to gtFoldExpr (#47757)
* Add missing logging to the folding functions
* Use DISPTREE and JITDUMP in more places
Frank Racis [Wed, 3 Feb 2021 07:39:08 +0000 (02:39 -0500)]
Fix race condition reloading file configuration (#47503)
Data was being cleared before file was reloaded, causing gap where
invalid configuration could be read. Now data is only cleared if
reload fails.
Fix #36244
Hugh Bellamy [Wed, 3 Feb 2021 07:36:45 +0000 (07:36 +0000)]
Remove DeviceContext HWND handling (#47081)
* Remove DeviceContext HWND handling
* Remove IDeviceContext from DeviceContext
Bruce Forstall [Wed, 3 Feb 2021 03:48:08 +0000 (17:48 -1000)]
Fix SuperPMI collection with crossgen2 (#47751)
* Fix SuperPMI collection with crossgen2
Crossgen2 abuses the `CORINFO_SIG_INFO.pSig` field by treating
it as an opaque handle/pointer, and not a pointer to an array
of signature bytes. Work around this by detecting this case
and storing/restoring the pointer instead of a signature byte
array.
Also, add and improve some dump functions.
Mostly fixes https://github.com/dotnet/runtime/issues/47540
(Fixes it to about the same level of failures in crossgen1
compilations.)
* Fix clang build break
Add logging variables, but leave them under #if 0
Fix handling of getCallInfo throwing an exception.
Brian Sullivan [Wed, 3 Feb 2021 01:31:05 +0000 (17:31 -0800)]
Fix an issue with GTF_CALL_M_EXP_RUNTIME_LOOKUP using gtCallMoreFlags instead of incorrectly using gtFlags. (#47788)
nathan-moore [Wed, 3 Feb 2021 01:09:55 +0000 (20:09 -0500)]
Remove some extra assertion merges (#47375)
Larry Ewing [Tue, 2 Feb 2021 23:08:41 +0000 (17:08 -0600)]
[Wasm] Silence some warnings (#47773)
* Silence warning in driver.c
* Clean up more warnings
Tom Deseyn [Tue, 2 Feb 2021 22:29:41 +0000 (23:29 +0100)]
unwindLazyState: initialize ContextFlags (#47760)
Kevin Jones [Tue, 2 Feb 2021 21:38:55 +0000 (16:38 -0500)]
Fix DisableAiaOptionWorks test for macOS and remove ActiveIssue
Carlos Sanchez [Tue, 2 Feb 2021 21:27:26 +0000 (13:27 -0800)]
Backport docs for System.IO.Compression.Brotli (#46716)
* Backport docs for System.IO.Compression.Brotli
* Addressed PR suggestions and fixed additional bugs.
* Address feedback.
Enable GenerateDocumentationFile.
* BrotliStream.ReadByte docs.
* BrotliStream.Flush docs.
* BrotliStream.WriteByte docs.
* Replace appname includes to plain text.
Co-authored-by: carlossanlop <carlossanlop@users.noreply.github.com>
Elinor Fung [Tue, 2 Feb 2021 20:27:24 +0000 (12:27 -0800)]
Add doc about running host tests (#47744)
Jeremy Koritzinsky [Tue, 2 Feb 2021 19:58:47 +0000 (11:58 -0800)]
Change C# names of P/Invokes of objc_msgSend to be call-site specific. (#47608)
* Change C# names of P/Invokes of objc_msgSend to be call-site specific.
* Rename to match suggested pattern
* Follow Xamarin convention in all objc_msgSend cases.
* Fix typo
* Rename to match convention.
Pent Ploompuu [Tue, 2 Feb 2021 19:31:43 +0000 (21:31 +0200)]
Optimize System.DateTime (#45479)
dotnet-maestro[bot] [Tue, 2 Feb 2021 18:51:31 +0000 (19:51 +0100)]
[master] Update dependencies from dotnet/icu dotnet/arcade dotnet/runtime dotnet/llvm-project dotnet/xharness (#47762)
* Update dependencies from https://github.com/dotnet/icu build
20210118.1
Microsoft.NETCore.Runtime.ICU.Transport
From Version 6.0.0-alpha.1.21061.1 -> To Version 6.0.0-alpha.1.21068.1
* Update dependencies from https://github.com/dotnet/arcade build
20210118.2
Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.ApiCompat , Microsoft.DotNet.GenAPI , Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.GenFacades , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.Helix.Sdk
From Version 2.5.1-beta.21062.10 -> To Version 2.5.1-beta.21068.2
* Update dependencies from https://github.com/dotnet/arcade build
20210119.2
Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.ApiCompat , Microsoft.DotNet.GenAPI , Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.GenFacades , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.Helix.Sdk
From Version 2.5.1-beta.21068.2 -> To Version 2.5.1-beta.21069.2
* Update dependencies from https://github.com/dotnet/arcade build
20210121.2
Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.ApiCompat , Microsoft.DotNet.GenAPI , Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.GenFacades , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.Helix.Sdk
From Version 2.5.1-beta.21069.2 -> To Version 2.5.1-beta.21071.2
* Update dependencies from https://github.com/dotnet/runtime build
20210124.3
Microsoft.NETCore.DotNetHost , Microsoft.NETCore.DotNetHostPolicy , Microsoft.NETCore.ILAsm , runtime.native.System.IO.Ports , Microsoft.NET.Sdk.IL , System.Runtime.CompilerServices.Unsafe , System.Text.Json
From Version 6.0.0-preview.2.21076.5 -> To Version 6.0.0-preview.1.21074.3
* Update dependencies from https://github.com/dotnet/xharness build
20210125.1
Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Xunit
From Version 1.0.0-prerelease.21068.3 -> To Version 1.0.0-prerelease.21075.1
* Update dependencies from https://github.com/dotnet/xharness build
20210125.2
Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Xunit
From Version 1.0.0-prerelease.21075.1 -> To Version 1.0.0-prerelease.21075.2
* Update dependencies from https://github.com/dotnet/xharness build
20210126.1
Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Xunit
From Version 1.0.0-prerelease.21075.2 -> To Version 1.0.0-prerelease.21076.1
* Update dependencies from https://github.com/dotnet/llvm-project build
20210125.1
runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk
From Version 9.0.1-alpha.1.21068.1 -> To Version 9.0.1-alpha.1.21075.1
* Update dependencies from https://github.com/dotnet/icu build
20210125.1
Microsoft.NETCore.Runtime.ICU.Transport
From Version 6.0.0-alpha.1.21068.1 -> To Version 6.0.0-alpha.1.21075.1
* Update dependencies from https://github.com/dotnet/arcade build
20210122.6
Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.ApiCompat , Microsoft.DotNet.GenAPI , Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.GenFacades , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.Helix.Sdk
From Version 2.5.1-beta.21071.2 -> To Version 2.5.1-beta.21072.6
* Update dependencies from https://github.com/dotnet/xharness build
20210126.2
Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Xunit
From Version 1.0.0-prerelease.21076.1 -> To Version 1.0.0-prerelease.21076.2
* Update dependencies from https://github.com/dotnet/icu build
20210126.3
Microsoft.NETCore.Runtime.ICU.Transport
From Version 6.0.0-alpha.1.21075.1 -> To Version 6.0.0-preview.2.21076.3
* Update dependencies from https://github.com/dotnet/arcade build
20210126.1
Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.ApiCompat , Microsoft.DotNet.GenAPI , Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.GenFacades , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.Helix.Sdk
From Version 2.5.1-beta.21072.6 -> To Version 2.5.1-beta.21076.1
* Update dependencies from https://github.com/dotnet/arcade build
20210128.12
Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.ApiCompat , Microsoft.DotNet.GenAPI , Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.GenFacades , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.Helix.Sdk
From Version 2.5.1-beta.21076.1 -> To Version 2.5.1-beta.21078.12
* Update dependencies from https://github.com/dotnet/xharness build
20210131.1
Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Xunit
From Version 1.0.0-prerelease.21076.2 -> To Version 1.0.0-prerelease.21081.1
* Update dependencies from https://github.com/dotnet/runtime build
20210201.2
Microsoft.NETCore.DotNetHost , Microsoft.NETCore.DotNetHostPolicy , Microsoft.NETCore.ILAsm , runtime.native.System.IO.Ports , Microsoft.NET.Sdk.IL , System.Runtime.CompilerServices.Unsafe , System.Text.Json
From Version 6.0.0-preview.1.21074.3 -> To Version 6.0.0-preview.2.21101.2
* Update dependencies from https://github.com/dotnet/icu build
20210201.12
Microsoft.NETCore.Runtime.ICU.Transport
From Version 6.0.0-preview.2.21076.3 -> To Version 6.0.0-preview.2.21101.12
* Update dependencies from https://github.com/dotnet/llvm-project build
20210201.1
runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk
From Version 9.0.1-alpha.1.21075.1 -> To Version 9.0.1-alpha.1.21101.1
* Update dependencies from https://github.com/dotnet/arcade build
20210131.1
Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.ApiCompat , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.GenFacades , Microsoft.DotNet.GenAPI , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.SharedFramework.Sdk
From Version 6.0.0-beta.21078.12 -> To Version 6.0.0-beta.21081.1
* Update dependencies from https://github.com/dotnet/xharness build
20210202.1
Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Xunit
From Version 1.0.0-prerelease.21068.3 -> To Version 1.0.0-prerelease.21102.1
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Marek Safar [Tue, 2 Feb 2021 18:50:57 +0000 (19:50 +0100)]
Delay initialization of SocketsHttpHandler specific HTTP2+ data (#40516)
Eric Erhardt [Tue, 2 Feb 2021 16:48:04 +0000 (10:48 -0600)]
Resolve ILLink warnings in System.Linq.Expressions (Round 1) (#47585)
* Resolve ILLink warnings in System.Linq.Expressions (Round 1)
Contributes to #45623
* Address PR feedback
* PR feedback
Alexander Köplinger [Tue, 2 Feb 2021 16:26:31 +0000 (17:26 +0100)]
Clean up old Makefile-based build system from src/mono (#47758)
* Clean up old Makefile-based build system from src/mono
Everything is using CMake now.
* Fix extraction of MONO_CORLIB_VERSION from configure.ac
Move the version into CMakeLists.txt
dotnet-maestro[bot] [Tue, 2 Feb 2021 15:53:25 +0000 (16:53 +0100)]
Update dependencies from https://github.com/dotnet/icu build
20210201.12 (#47754)
Microsoft.NETCore.Runtime.ICU.Transport
From Version 6.0.0-alpha.1.21061.1 -> To Version 6.0.0-preview.2.21101.12
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Dong-Heon Jung [Tue, 2 Feb 2021 14:15:21 +0000 (23:15 +0900)]
Set GetCurrentManagedThreadId (#47742)
- Set to 0x112 as in readytorun.h
- Resolve assertion in LoadDynamicInfoEntry vm/jitinterface.cpp
Anton Firszov [Tue, 2 Feb 2021 12:48:41 +0000 (13:48 +0100)]
Respect offset in Socket.ReceiveMessageFrom(saea) on Windows (#47642)
Fixes #47637, and adds ReceiveSent_UDP_Success test to both ReceiveFrom and ReceiveMessageFrom
dotnet-maestro[bot] [Tue, 2 Feb 2021 12:41:16 +0000 (13:41 +0100)]
Update dependencies from https://github.com/dotnet/llvm-project build
20210118.1 (#47161)
runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk
From Version 9.0.1-alpha.1.21064.1 -> To Version 9.0.1-alpha.1.21068.1
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Aleksey Kliger (λgeek) [Tue, 2 Feb 2021 12:31:23 +0000 (07:31 -0500)]
[mbr] Update samples to use hotreload-delta-gen (#47740)
Update build and README to use `hotreload-delta-gen` from [hotreload-utils](https://github.com/dotnet/hotreload-utils)
Maxim Lipnin [Tue, 2 Feb 2021 11:22:45 +0000 (14:22 +0300)]
Replace MonoPInvokeCallbackAttribute with UnmanagedCallersOnlyAttribute in iOS sample (#47220)
Co-authored-by: Aleksey Kliger (λgeek) <akliger@gmail.com>
Ryan Lucia [Tue, 2 Feb 2021 11:21:17 +0000 (06:21 -0500)]
[mono] Remove MonoListItem from Corelib (#47174)
Stephen Toub [Tue, 2 Feb 2021 11:20:56 +0000 (06:20 -0500)]
Fix ReadWriteTimeout_CancelsResponse test (#47737)
Ove Bastiansen [Tue, 2 Feb 2021 10:07:29 +0000 (11:07 +0100)]
adding span version of ReceiveMessageFrom (#46285)
* adding span version of ReceiveMessageFrom
fix #43933
* Started using new testsetup for the receivemessagefrom
* removed code duplication in socketpal.windows
* removed unused buffers parameter
* adding non-zero offset to the ReceiveMessageFrom test
* added documentation
* offset fix for EAP tests
* fixing pr comments
Peter Sollich [Tue, 2 Feb 2021 08:51:02 +0000 (09:51 +0100)]
Fix plan phase policy bug with regions (#47622)
This fixes a problem where accidentally too much code was excluded with USE_REGIONS.
This caused the compaction decision to be inconsistent between heaps, with some heaps doing compacting and some heaps doing mark&sweep. This is a problem, because the relocation phase relies on relocation information stored in the free space between used objects, and the free space is being overwritten by the sweep. It's an issue only for object pointers between heaps, but these are very common.
Andrew Au [Tue, 2 Feb 2021 06:33:15 +0000 (22:33 -0800)]
Move statics to POH (#47651)
Jeremy Koritzinsky [Tue, 2 Feb 2021 01:23:13 +0000 (17:23 -0800)]
Produce a .version file for Microsoft.NETCore.App in the runtime layout. (#47717)
* Produce a .version file for Microsoft.NETCore.App in the runtime layout.
* Update src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.Runtime.sfxproj
* Update src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.Runtime.sfxproj
Aleksey Kliger (λgeek) [Tue, 2 Feb 2021 01:20:30 +0000 (20:20 -0500)]
[mbr] Add a global has_updates flag (#47716)
Use it to take the slow path in metadata lookups when there's at least one
delta applied.
Andy Ayers [Tue, 2 Feb 2021 01:14:15 +0000 (17:14 -0800)]
JIT: fix issues with profile incorporation phase (#47723)
Change #47646 did not remove the code in `fgMakeBasicBlocks` that set profile
data. That masked some flaws in `fgIncorporateProfileData`:
* it should process all blocks; nothing has been imported yet
* it must honor a constraint that some handler blocks can't be rare.
This fixes the above, and removes the early profile setting.