1
0
Fork 0
mirror of https://github.com/VSadov/Satori.git synced 2025-06-08 11:37:04 +09:00
Commit graph

384 commits

Author SHA1 Message Date
Sven Boemer
e6181728cc
Update Azure Linux tag names (#106884) 2024-08-27 12:06:43 -07:00
Rich Lander
5060359ef5
Switch 8.0 build images to Azure Linux 3.0 (#106170)
* Switch build x64 image to Azure Linux 3.0

* Add remaining (existing) images

* Remove accidental 9.0

* Fix BundleLegacy.TestNetCoreApp3xApp

Stop relying on ICU - this is irrelevant to what the test targets.

---------

Co-authored-by: Elinor Fung <elfung@microsoft.com>
2024-08-23 09:10:59 -07:00
Tarek Mahmoud Sayed
3aec9611c8
[release/8.0] Metrics Feature Switch (#92019)
* Metrics Feature Switch

* Add missed empty lines

---------

Co-authored-by: Carlos Sánchez López <1175054+carlossanlop@users.noreply.github.com>
2023-09-14 10:44:58 -07:00
github-actions[bot]
399f37c681
[release/8.0] [DependencyInjection] introduce feature switch to disable S.R.E (#91352)
* [DependencyInjection] introduce feature switch to disable S.R.E

When recording a new AOT profile for .NET MAUI apps running on Android,
we noticed that System.Reflection.Emit work was being done on a
background thread. The call seen in `dotnet-trace` output:

    11.32ms microsoft.extensions.dependencyinjection!Microsoft.Extensions.DependencyInjection.ServiceLookup.ILEmitResolverBuilder.GenerateMethodBody(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite,System.Reflection.Emit.ILGenerator)

.NET Android apps are unique in that there is a JIT,
`RuntimeFeature.IsDynamicCodeCompiled` is true, System.Reflection.Emit
is possible -- S.R.E is however, not great for startup performance.

Starting threads on Android during startup can also be slow, as Android
will commonly put all but a single core to sleep for battery saving
purposes. We try to avoid starting threads on startup for "hello world"
applications on Android.

To solve this for now, introduce a new feature flag:

    Microsoft.Extensions.DependencyInjection.DisableDynamicEngine

Which, we will provide a value in either the Android or .NET MAUI
optional workload via an MSBuild property. To test, I put this in my
app's `.csproj` file:

    <RuntimeHostConfigurationOption Include="Microsoft.Extensions.DependencyInjection.DisableDynamicEngine"
                                    Condition="'$(DisableDynamicEngine)' != ''"
                                    Value="$(DisableDynamicEngine)"
                                    Trim="true" />

Customers *could* opt to change this flag, but we don't think it will
particularly useful. An example of services realized by .NET MAUI at
startup, via some logging added:

    08-25 13:21:55.647 16530 16530 I DOTNET  : RealizeService called: System.Collections.Generic.IEnumerable`1[Microsoft.Maui.Hosting.IMauiInitializeService]
    08-25 13:21:55.664 16530 16530 I DOTNET  : RealizeService called: System.Collections.Generic.IEnumerable`1[Microsoft.Maui.Hosting.IMauiInitializeScopedService]
    08-25 13:21:55.665 16530 16530 I DOTNET  : RealizeService called: Microsoft.Maui.Dispatching.IDispatcher
    08-25 13:21:55.668 16530 16530 I DOTNET  : RealizeService called: System.Collections.Generic.IEnumerable`1[Microsoft.Maui.LifecycleEvents.LifecycleEventRegistration]
    08-25 13:21:56.057 16530 16530 I DOTNET  : RealizeService called: System.Collections.Generic.IEnumerable`1[Microsoft.Maui.Hosting.HandlerMauiAppBuilderExtensions+HandlerRegistration]
    08-25 13:21:56.115 16530 16530 I DOTNET  : RealizeService called: Microsoft.Extensions.DependencyInjection.IServiceScopeFactory
    08-25 13:21:56.670 16530 16530 I DOTNET  : RealizeService called: Microsoft.Maui.Controls.HideSoftInputOnTappedChangedManager
    08-25 13:21:56.712 16530 16530 I DOTNET  : RealizeService called: System.Collections.Generic.IEnumerable`1[Microsoft.Maui.Hosting.ImageSourcesMauiAppBuilderExtensions+ImageSourceRegistration]
    08-25 13:21:57.700 16530 16530 I DOTNET  : RealizeService using S.R.E: Microsoft.Maui.Controls.HideSoftInputOnTappedChangedManager

`HideSoftInputOnTappedChangedManager` would be realized once per page,
which would not be a huge payoff to use S.R.E for. So the only way the
S.R.E codepath could be useful on Android would be if the customer is
registering lots of services themselves. They might be better off just
using `new()` in that case?

An example of the startup time Android reports with the new flag on/off:

    DisableDynamicEngine=false
    08-25 14:31:37.462  2090  2330 I ActivityTaskManager: Displayed com.companyname.testmaui/crc643c09abdeec717b83.MainActivity: +733ms
    08-25 14:31:39.394  2090  2330 I ActivityTaskManager: Displayed com.companyname.testmaui/crc643c09abdeec717b83.MainActivity: +737ms
    08-25 14:31:41.326  2090  2330 I ActivityTaskManager: Displayed com.companyname.testmaui/crc643c09abdeec717b83.MainActivity: +730ms
    DisableDynamicEngine=true
    08-25 14:32:20.233  2090  2330 I ActivityTaskManager: Displayed com.companyname.testmaui/crc643c09abdeec717b83.MainActivity: +724ms
    08-25 14:32:22.137  2090  2330 I ActivityTaskManager: Displayed com.companyname.testmaui/crc643c09abdeec717b83.MainActivity: +727ms
    08-25 14:32:24.042  2090  2330 I ActivityTaskManager: Displayed com.companyname.testmaui/crc643c09abdeec717b83.MainActivity: +716ms

This was a `dotnet new maui` project, using dotnet/maui/main on a Pixel
5 device.

* Update docs/workflow/trimming/feature-switches.md

Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>

---------

Co-authored-by: Jonathan Peppers <jonathan.peppers@microsoft.com>
Co-authored-by: Jonathan Peppers <jonathan.peppers@gmail.com>
Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
2023-08-31 15:27:06 -07:00
Fan Yang
867e185209
[WASM] Add ILStrip task to wasm app build process (#88926)
* Add ILStrip task to wasm app build process

* Make it work for wasm app building workflow

* Interp: stop inlining stripped methods. ILStrip: set code size to zero for tiny methods

* [mono][aot] Avoid adding some methods to the compiled method file.

* Methods which have 'deopt' set can enter the interpreter during EH.
* Methods which have 'interp_entry_only' set are AOTed, but the AOT
  code is only used to enter the interpreter.

* Only trim the methods that interpreter is able to call the aot'ed verion of it

* Add default value and documentation for WASMStripIL

* Move jit_call_can_be_supported to interp.c

* Minor format fix

* Add a test

* For testing

* Fix typo

* Skip TestUtilities Reference

* Address review feedback

* Change it to true

* Change name to trimming eligible

* Remove testing

* Address review feedback

* Address review feedback from Kate

* Add a var for llvm_only

---------

Co-authored-by: Zoltan Varga <vargaz@gmail.com>
2023-08-10 15:45:07 -04:00
Wasiim Hosenbocus
bd83e17052
Update Workflow instruction for codespace (#89368) 2023-07-30 11:12:59 +02:00
Jeremy Koritzinsky
4a8a0eea8b
Fix the default behavior to trim the RCW interop by default (#89128) 2023-07-19 15:59:34 -07:00
Jeremy Koritzinsky
2811e7c755
Address Sanitizer support in CoreCLR (#74623)
* Enable AddressSanitizer in CoreCLR, Libs, and Host and update runtime-sanitized to run tests with ASAN on Linux and Mac

* Unify on HAS_ADDRESS_SANITIZER define name

Centralize setting up sanitizer flags.

Remove last usage of CLR_CMAKE_ENABLE_ASAN outside of eng/native

Remove unnecessary diffs

Use the cpuid intrinsic and enable ASAN on InitJitHelpers1.

Add comments for the places where we have ASAN disabled

Undo changes to src/coreclr/jit/CMakeLists.txt

Add docs and fix the docs in the build script.

Add docs for the SkipVCEnvInit hook

* Remove CRT runtime changes. We won't need this when we finally onboard to Windows with some changes they have coming down the pipeline, so remove them for now to reduce the diff of this PR.

* Remove suppression now that we've fixed the underlying issue.

* Remove some Windows-only sanitizer CMake that we won't need when ASAN is ready for us to consume on Windows.

* Set schedule for runtime-sanitized pipeline

* Remove workaround in JIT memory set/copy helpers now that the JIT bug has been fixed.

* Add missing helix queues setup template.

* Fix missing command to build nativeaot runtime tests as nativeaot.

* Add a scenario name to trigger the extended timeout in the libraries test helix configuration.

* Remove extraneous whitespace.

* Fix using the cross-targetting ILC when sanitizers are enabled. Also pass through our TargetOS and TargetArchitecture variables to the publish command for our native sanitizers targets to correctly do their extra logic.

* Disable LSAN on the CustomMain test.

* Disable some tests on sanitized runtimes.

* Copy the sanitizer runtime for OSX NativeAOT runtime tests.

* A little cleanup to try to get the build right now that we are always doing cross-builds on Linux.

* Fix crossgen-corelib.proj syntax.

* Fix cross-os dac builds to not include the host architecture in the output path.

* Split the debugger components into a separate component and make the "unsanitized cross components" build into an "unsanitized debugger components" build as it can't be part of the regular cross-components build

* Always write out the host-arch path on Windows and update the cross-dac build script to expect that.

* Change to use the dynamic runtime on Windows, as ASAN in VS is moving to a dynamic-only model.

* Update docker images to include the sanitizer runtimes in the crossrootfs images.

* Fix explicit image tags

* The unsanitized build should be of the target architecture, not the host architecture. As a result, we still need a cross-arch build for the cross-arch use cases when sanitized, as well as an unsanitized target arch build for the debugger tools.

* Turn off using the sigaltstack for NativeAOT tests that don't use the asansupport.cpp default options

* Make sure the shared ASAN runtime is present for the nativeaot/SmokeTests/SharedLibrary test.

* Disable crossgen2 tests with sanitizers as they don't get us interesting coverage.

* Fix custom default options and disable some more crossgen2-based tests.

* Simplify lookup of asan runtime on mac and fix copying the shared runtime for the SharedLibrary NativeAOT test.

* Disable test that's failing for weird reasons.

* Fix one more alloc-dealloc mismatch that only started to show up after test merging increased allocations in the runtime

* Disable the System.Text.Json test suite on sanitized builds as it causes SO failures on Mac

* Fix test exclusion

* PR feedback.

* Fix mac build

* Do review changes

* Add libbootstrapper object files to the platform manifest now that NativeAOT has

* Disable tests that check size on sanitized builds

* Use the built-in `include_guard` option

* Disable use-after-return checking in ASAN. CoreCLR doesn't do well with parallel stacks.

* Only pass the no UAR flag on C and CXX with Clang (not AppleClang).
2023-07-17 20:32:03 -07:00
skyoxZ
7edc4f2ba6
Fix example of building a library. (#87398) 2023-07-10 15:34:06 +02:00
Dan Moseley
fc83305389
Update testing.md (#88364) 2023-07-06 19:34:21 -05:00
Ivan Diaz Sanchez
cd26e63274
Up Minimum CMake Version to 3.20 (#86530)
* Let's see what happens :)

* CMake 3.20 works on my machine???

* Upped the llibraries CMake version to 3.20

* Upped native libs CMake version to 3.20, and updated the requirements docs.

* Add CMake Policy to 3.17.0 for native libs because of wasm.

* Downgraded native libs CMake to 3.17.0 temporarily, while we figure out the funny troublemaker wasm.

* Added a couple notes regarding CMake on Linux and Windows, and upped the corehost and libunwind CMake versions to 3.20

* Reverted external native components CMake versions, and upped tests to 3.20. Only Mono remains now.

* Added mono to the 3.20 gang. Also, changed the condition for wasm.

* Had to condition mono's CMake version as well because of wasm.

* DEBUG-ONLY COMMIT: Added some CMake logging to help me figure out what is set for wasm to think of the appropriate conditional.

* DEBUG-ONLY COMMIT: I think I have the answer for wasm now/

* Restored the DEBUG-ONLY changes and set 3.20 as the universal CMake, as the missing machines have now been updated.

* Updated requirements doc with notes for Debian 11 and lower.
2023-07-03 19:03:12 -07:00
Milos Kotlar
f0b4bb9c62
[mono][infra] Remove iossimulator runtime-staging pipeline (#88036)
* Remove iossimulator runtime-staging pipeline
2023-06-26 20:30:56 +02:00
Eric Mutta
0570583829
Fix broken link in editing-and-debugging.md (#87681) 2023-06-16 06:00:16 -07:00
Fan Yang
625edd9ff2
[Mono] Update Mono build README.md (#87517)
Added one more useful switch `-p:KeepNativeSymbols=true`
2023-06-14 15:58:14 -04:00
Dan Moseley
a0bff0ef92
Update debugging-vscode.md (#87338) 2023-06-13 14:01:37 -07:00
Jeff Handley
eb4959424c
The CLA bot can now be rerun with a comment. Fix broken CLA links. (#86825) 2023-06-12 22:55:57 -07:00
Dan Moseley
8d0b619038
Disable StressTestDeepNestingOfLoops for NonBacktracking engine (#87369)
* Disable hanging RE test

* feedback

* Oops

* Apply suggestions from code review

Co-authored-by: Stephen Toub <stoub@microsoft.com>

* Update testing.md

---------

Co-authored-by: Stephen Toub <stoub@microsoft.com>
2023-06-12 22:05:13 -04:00
Ilona Tomkowicz
6022b3e0c3
[browser][non-icu] HybridGlobalization indexing (#85254)
* A bit faster version of indexing. WIP

* Tiny speedup.

* Fixed IndexOf, ToDo: LastIndexOf.

* All tests pass.

* Updated docs.

* Update docs.

* Slicing + saving previous absolute index instead of pushing the iterator to the start position.

* Refactored.

* Fixed tests on browser.

* Str1 and str2 was confusing.

* Fix CI- correctly trimming Hybrid properties.

* Previous commit should target only Browser.

* Applied @mkhamoyan's suggestion to avoid code duplication.

* Applied @pavelsavara's review.

* Get rid of build errors.

* Revert.
2023-05-18 14:39:34 +02:00
Juan Hoyos
87157cd4e1
Update debugging-runtime.md to mention nativeprereqs (#86174) 2023-05-12 15:02:15 -07:00
Jan Kotas
418aa8ab6b
Delete Windows arm32 support (#86065) 2023-05-10 20:02:38 -07:00
Sven Boemer
9fc6e6ff86
Update linux build instructions (#86062)
To reflect recent series of changes to our official build. This
updates the mentioned images to use floating tags, and clarifies
that the new official build containers all are designed for
cross-building.
2023-05-10 12:54:40 -07:00
Milos Kotlar
d8cf33b287
Add instructions for running the runtime tests on iOS platforms (#86045) 2023-05-10 17:21:43 +02:00
Juan Hoyos
313074f43a
Add documentation for merge on red, build analysis, and v1/v2 tests (#84982)
Co-authored-by: Carlos Sánchez López <1175054+carlossanlop@users.noreply.github.com>
Co-authored-by: Jeremy Koritzinsky <jkoritzinsky@gmail.com>
2023-04-28 13:39:16 -07:00
Will Smith
4719575531
Skip methods in test-merging if they use the named argument 'Skip' for the Fact attributes (#85495)
* Skip methods in test-merging if they use the named argument 'Skip'

* Use ActiveIssueAttribute instead of FactAttribute with Skip. Add documentation about FactAttribute and Skip.
2023-04-28 12:22:08 -07:00
Joseph Musser
19fde3f23c
Fix typo (#85210) 2023-04-22 19:40:51 -07:00
Jasper
62288fd838
Fix typo in debugging-runtime.md (#85060)
I believe this is a typo. The subset isn't recognized by build.cmd and git grep find nothing for corelibnative except this line.
2023-04-19 12:31:41 -07:00
Nicholas Orlowsky
1d2cd206f4
typo fix (#84485) 2023-04-07 18:17:30 -04:00
Adeel Mujahid
de5a04b2d7
Simplify numasupport (#84207)
* Simplify numasupport

* short-circuit

* Cleanup from QUIC readme

* Address CR feedback: early bail for < 2 NUMA nodes

* Fix node numbering, which is 0-based
2023-04-06 16:23:56 -07:00
Jan Kotas
dba282642c
Add missing step to native AOT dev workflow instructions (#84381) 2023-04-05 14:55:43 -07:00
Eirik Tsarpalis
0f11212710
Implement the JsonSerializer.IsReflectionEnabledByDefault feature switch (#83844)
* Implement the STJ.DisableDefaultReflection feature switch.

* Reinstate accidentally stripped attribute

* Address feedback.

* Address feedback.

* Add a trimming test for STJ

* Move trimming test to existing trimming tests folder.

* Add source gen serialization test case to Trimming test.

* Fix style.

* Expose the feature switch as a property on JsonSerializer -- rename feature switch to match namespace.

* Update src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonSerializer.Helpers.cs

Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>

* Update src/libraries/System.Text.Json/tests/System.Text.Json.Tests/TrimmingTests/IsReflectionEnabledByDefaultFalse.cs

Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>

* Address feedback.

* Address feedback.

* Add entry to feature-switches.md

---------

Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
2023-04-05 21:21:06 +01:00
Meri Khamoyan
7e8f4383ae
Remove HybridGlobalization info from linker feature switches (#84073) 2023-03-29 15:50:05 +02:00
Meri Khamoyan
f561a058b1
Initial changes for GetLocaleInfoString (#81470)
Initial changes for globalization hybrid mode.
Implemented GetLocaleInfoStringName and GetLocaleNameNative for osx platforms.
2023-03-28 12:13:28 +04:00
Andrii Kurdiumov
99815734ce
Fix path for packing (#83017)
* Fix path for packing

* Apply PR feedback

* Update docs/workflow/building/libraries/README.md

Co-authored-by: Adeel Mujahid <3840695+am11@users.noreply.github.com>

* Update docs/workflow/building/libraries/README.md

Co-authored-by: Adeel Mujahid <3840695+am11@users.noreply.github.com>

---------

Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
Co-authored-by: Adeel Mujahid <3840695+am11@users.noreply.github.com>
2023-03-10 12:38:02 +01:00
Adeel Mujahid
3b63eb1346
Replace remaining instances of COMPlus with DOTNET (#82985)
* Replace remaining instances of COMPlus with DOTNET

* Fix heading in RyuJIT tutorial
2023-03-05 08:40:20 -08:00
Bruce Forstall
7de1c0771f
Remove dead link (#82972) 2023-03-04 05:33:03 -05:00
Craig Johnson
f91d1d4dfa
Fix juxtaposed command - correct value is noted in eng\build.ps1 (#81572) 2023-02-27 09:48:40 +01:00
Evgeniy
0aca23e9c9
Fix link to container image in linux instructions (#82409)
I suppose head of the URL was redondant — gave me "docker: invalid refence format" when I tried the original command, and worked fine when I removed the first "mcr.microsoft.com/dotnet-buildtools/prereqs:"
2023-02-20 16:28:36 -08:00
Ivan Diaz Sanchez
bf0608f48f
[Continuation] - Enable the fundamentals behind libraries tests compiled via Crossgen2 (#80946)
* Added the documentation regarding the new libraries test modes.

* Enable the fundamentals behind libraries tests compiled via crossgen2.

* Fixed a typo with SINGLE_FILE_TEST_RUNNER.

* Addressed review comments.

* Restored an accidentally deleted comment.

* Fixed wrong Crossgen2 path and added comment with link to an important tracking SDK bug.
2023-02-20 15:07:30 -08:00
Thays Grazia
9fcbeee2e4
The path of androd_sdk was changed. (#82256) 2023-02-17 12:19:35 -03:00
Austin Wise
be84df7642
Tweak NativeAOT repro instructions (#82018)
These work regardless where you copy of dotnet/runtime is checked out.
2023-02-13 12:34:57 +09:00
Jeff Handley
1166bba6d1
Refine corerun instructions. Improve argument parsing in src/tests/build. (#81733)
* Refine corerun instructions. Improve arg parsing in src/tests/build.

* Revert the libraries configuration default. Refine usage and docs.

* Exit argument processing at first unrecognized arg per existing pipeline usage
2023-02-08 13:41:21 -08:00
Michal Strehovský
b6d18292a4
WarningsAsErrors -> TreatWarningsAsErrors (#81508) 2023-02-01 17:54:52 -05:00
Michal Strehovský
9459ac64f1
Add note on WarningsAsErrors (#81451) 2023-02-01 17:22:59 +09:00
Ilona Tomkowicz
f8ab555409
[wasm][debugger][libs] Documentation: How to debug library tests (#77368)
* Draft.

* DevTools as IDE instructions.

* VS Code as IDE instructions.

* Correction: `WebRoot` is not required.

* Added: expect long wait & new pic without webRoot

* Renamed as suggested by @pavelsavara.

* The first bp is not automatic, user has to set it on their own.
2023-01-31 14:54:46 +01:00
Šimon Rozsíval
828edfb2e4
[Android] Bump target SDK version in Android manifest (#80923)
* Set target SDK version

* Update Android docs

* Disable tests that do not pass with target API 31

* Check if the installed Android SDK is up-to-date

* Update skip explanation

* Use latest SDK

* Disable failing System.Net.Security test
2023-01-24 19:51:17 +01:00
Tlakaelel Axayakatl Ceja
657f6654e5
Change github illink links (#80407)
Change github illink links to point from dotnet/linker to dotnet/runtime
Delete scripts that clone illink into runtime since illink now lives in runtime
Create a forward link for error 1012 in illink, that leads users to open an issue in runtime
2023-01-11 11:59:14 -08:00
Viktor Hofer
2ca7cf7140
Lowercase TargetOS (#80164)
Follow-up on #32451
Follow-up on #80074

In #43651, the "Windows" OS name was lowercased to achieve target frameworks with RIDs in them. At that time, the original plan was to lowercase all TargetOS values but that had to be cut because of resources. This PR finishes that and updates build systems, YML, markdowns and managed components.

To not break existing developer workflows, the passed-in -os value is automatically lower-cased in the script entry points and validated in the msbuild entry point.
2023-01-11 17:58:32 +01:00
Eric Erhardt
7c212d2f0d
Update Libraries Feature Switches for DynamicCodeSupport (#80397) 2023-01-09 18:29:19 -08:00
Gregg Miskelly
2f27364836
Add Visual Studio debugging note to libraries README (#80185)
This adds another section to docs/workflow/building/libraries/README.md to reference how to disable sign verification in Visual Studio.
2023-01-04 13:03:01 -05:00
Gregg Miskelly
a92c5bc9d5
Add instructions for disabling VS signature validation (#79777)
In Visual Studio 17.5, Visual Studio will start enforcing signature validation for DAC and DBI. This adds documentation on how to disable this for folks using daily or private builds.
2022-12-18 21:29:18 -05:00