1
0
Fork 0
mirror of https://github.com/VSadov/Satori.git synced 2025-06-09 09:34:49 +09:00
Commit graph

134777 commits

Author SHA1 Message Date
Adeel Mujahid
e4c4ab464c
Add fedora in install script (#104860)
* Add fedora in install script

* Update linux-requirements.md

---------

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
2024-07-14 09:37:16 -07:00
Jakob Botsch Nielsen
c15c5d7e67
SPMI: Add a buffer to FileWriter and add a --parallelism option to superpmi.py (#104789)
* SPMI: Add a buffer to FileWriter

We are spending a significant amount of time writing the details CSV
file now that the list of metadata has grown quite a bit. This was
especially noticeable during asmdiffs where we write a column for both
the base and diff JIT for each metadata key.

A lot of that cost was coming down to the fact that `FileWriter` was
unbuffered. This adds a buffer to it to cut down on the number of
syscalls performed.

Ideally we would probably switch to std::ostream now that using STL
should be doable, but I'm not adventurous enough to make that change
right now.

* Add --parallelism to superpmi.py
2024-07-14 17:32:40 +02:00
Egor Bogatov
9d3a3c5385
Check RemoteExecutor.IsSupported (#104862) 2024-07-14 13:48:42 +02:00
Anton Firszov
5ab200cd23
HTTP Metrics: Uncoditionally report server.port (#104741)
Since `server.port` is required, we should not omit it for default ports in `http.client.request.duration`.

For consistency, this PR also makes  `http.client.connection.duration` and `http.client.open_connections` REQUIRED, meaning port will be uncoditionally present in those metrics too.

Resolves #94829.
2024-07-13 23:33:15 +02:00
Kevin Jones
74af205a64
Add toolchain instructions for Fedora (#104859)
* Add toolchain instructions for Fedora

* Put Ubuntu / Debian first

* Fix table of contents

---------

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
2024-07-13 10:14:15 -07:00
mikelle-rogers
283de5b5ad
Fix arm64 MacOS and Linux Managed Debugging (#104847)
* check to see if XSTATE is defined on ARM64

* fix for the linux arm32 case

---------

Co-authored-by: Mikelle Rogers <mikellerogers@Mikelles-MacBook-Pro.local>
2024-07-13 11:15:31 -04:00
Aman Khalid
ab46c54fef
ARM64-SVE: Add TrigonometricSelectCoefficient, TrigonometricStartingValue (#104681)
* Implement ftssel, ftsmul

* Skip test for invalid inputs
2024-07-13 07:09:30 -07:00
Tanner Gooding
6d3cb53af9
Decompose some bitwise operations in HIR to allow more overall optimizations to kick in (#104517)
* Decompose some bitwise operations in HIR to allow more overall optimizations to kick in

* Ensure that we actually remove the underlying op

* Ensure the AND_NOT decomposition is still folded during import for minopts

* Ensure we propagate AllBitsSet into simd GT_XOR on xarch

* Ensure that we prefer AndNot over TernaryLogic

* Cleanup the TernaryLogic lowering code

* Ensure that TernaryLogic picks the best operand for containment

* Ensure we swap the operands that are being checked for containment

* Ensure that TernaryLogic is simplified where possible

* Apply formatting patch
2024-07-13 07:01:55 -07:00
Aman Khalid
5336e1815c
ARM64-SVE: Add AddSequentialAcross (#104640)
* Add AddSequentialAcross

* Skip inactive lanes

* Generate mask data

* Tweak test validation

* Remove CndSel scenarios
2024-07-13 06:49:55 -07:00
Jakob Botsch Nielsen
7f881716e5
JIT: Remove GTF_BOOLEAN (#104779) 2024-07-13 12:13:48 +02:00
Anton Firszov
ee5770d500
Activities for Http Connections, Dns, Sockets and SslStream (#103922)
Final design: https://github.com/dotnet/runtime/pull/103922#issuecomment-2221811114
2024-07-13 12:07:10 +02:00
Ahmet Ibrahim Aksoy
ac0eeb015a
[HTTP/3] Add null check in case we can't get H/3 inboundControlStream (#104797)
* Add null check for inboundControlStream on Closing Path

* Enable disabled H/3 test
2024-07-13 09:16:54 +02:00
Noah Falk
46338d5a5f
Extend usage of GC_ALLOC_ALIGN8 (#104781)
In the past we added FEATURE_64BIT_ALIGNMENT to support 8 byte alignment
requirements on ARM, but for performance we also like to 8 byte align
double arrays on other architectures. The GC has a GC_ALLOC_ALIGN8 flag
that does that but it was only being used in the ARM case and we had
a more complicated workaround being used elsewhere. This change expands
GC_ALLOC_ALIGN8 so it is supported on all architectures and converges
all our aligned double arrays to use that approach.

GC_ALLOC_ALIGN8 only implies that the initial allocation is 8 byte
aligned, not that it will stay aligned after relocation. On ARM it will
stay aligned because RESPECT_LARGE_ALIGNMENT is defined but
on other 32 bit architectures it is not guaranteed to stay aligned.
2024-07-12 22:45:07 -07:00
ThomasGoulet73
bcd705a2c9
Enable fixed disabled System.Text.Json tests (#104771)
* Enable fixed disabled tests

* Fix SerializeSortedDictionary
2024-07-13 06:05:56 +01:00
Eirik Tsarpalis
369db9a68e
Ensure that the correct VC++ toolset is selected in all build environments (#104763)
* Second attempt at fixing ARM64 cross compilation

* Update eng/native/init-vs-env.cmd

Co-authored-by: Jan Kotas <jkotas@microsoft.com>

* Remove x86 branch

* Revert to using __HostArch when determining toolset.

* Address feedback.

* Update eng/native/init-vs-env.cmd

Co-authored-by: Jan Kotas <jkotas@microsoft.com>

* Update eng/native/init-vs-env.cmd

Co-authored-by: Jan Kotas <jkotas@microsoft.com>

* Revert "Update eng/native/init-vs-env.cmd"

This reverts commit a1b95c1942c244ae10f2113fc89dfa821dba4fff.

* Revert "Update eng/native/init-vs-env.cmd"

This reverts commit 1eeadb38d28a4f484382ae345e57684f8c56da6e.

* Set the correct arm64 assembler host

---------

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
2024-07-13 05:40:18 +01:00
Eirik Tsarpalis
53a362469f
Expose JsonElement.DeepEquals (#104579)
* Expose JsonElement.DeepEquals

* Remove unnecessary check.

* Refine equality semantics of duplicate properties and address feedback.

* Rename GetObjectSize -> GetObjectCount

* Address feedback

* Update src/libraries/System.Text.Json/src/System/Text/Json/Document/JsonElement.cs

* Update src/libraries/System.Text.Json/src/System/Text/Json/Document/JsonElement.cs

* Update src/libraries/System.Text.Json/src/System/Text/Json/Document/JsonElement.cs

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

* Update src/libraries/System.Text.Json/src/System/Text/Json/Document/JsonElement.cs

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

* Update src/libraries/System.Text.Json/src/System/Text/Json/Document/JsonElement.cs

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

* Update src/libraries/System.Text.Json/src/System/Text/Json/Document/JsonElement.cs

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

* Update src/libraries/System.Text.Json/src/System/Text/Json/ValueQueue.cs

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

* Update src/libraries/System.Text.Json/src/System/Text/Json/ValueQueue.cs

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

* Address feedback

* Uses non-allocating unescaping when both inputs are escaped.

---------

Co-authored-by: Stephen Toub <stoub@microsoft.com>
2024-07-13 05:39:12 +01:00
Andy Ayers
a69b4c8eb1
JIT: defer creating throw helper code until we know it's needed (#104819)
* JIT: defer creating throw helper code until we know it's needed

Defer creation of throw helper code until the stack level setter analysis has\
determined the throw helper is needed. Defer finalizing the outgoing arg size
as well.

The throw helper support now goes through the steps:
* early on phases can request that a throw helper block get created
* we create the blocks (but not the code) before final block layout so
they get proper placement
* lowering adds references to throw helpers that are actually needed
* stack level setter then materializes code for the needed helpers, and
removes the blocks for the unneeded ones
* we can then finalize the outgoing arg space size

Closes #104658.
2024-07-12 20:07:20 -07:00
Elinor Fung
663dc18eba
Update thread contract doc to align with implementation and other contract docs (#104832) 2024-07-12 19:34:34 -07:00
Katelyn Gadd
0ea0e3287e
[mono] Skip exact interface matches when an interface has variance (#103757)
* When searching for a variant interface, use a special 'variant search table' that contains only variant interfaces in the correct search order, and perform the search by doing two passes per class
* Add missing interfaces to set of array special interfaces in mono
* Don't dereference random memory if get_virtual_method fails in interp
* Add regression test
* Update reason why variance test is disabled
2024-07-12 16:27:13 -07:00
Eirik Tsarpalis
e56ebd16a7
Make build.ps1 default to the OS architecture (#104792)
* Make build.ps1 default to the OS architecture

* Make help message consistent with build.sh
2024-07-12 23:16:38 +01:00
Ahmet Ibrahim Aksoy
c3b4850689
Fix WinHttp StreamingTest backward compat version (#104722)
* Add WS2022 to OsSupport check for Bidirectional Streaming

* Enable the disabled test

* Add helper property to PlatformDetection.Windows for WS2022

* Use helper property for WS2022
2024-07-12 23:46:12 +02:00
Jakob Botsch Nielsen
cc8bfa5c57
JIT: Remove FEATURE_SET_FLAGS, clean up arm32 flags (#104778)
- Remove `FEATURE_SET_FLAGS`
- Remove `GenTree::gtRequestSetFlags`
- Remove all manipulation of `GTF_SET_FLAGS` from morph
- Switch arm32 to be similar to other backends: only set
  `GTF_SET_FLAGS`  on IR nodes that need to set flags that upcoming
  nodes may use. Do not set it for IR nodes whose internal codegen sets
  and uses flags.
2024-07-12 23:23:27 +02:00
Sven Boemer
9407c9cfa8
Fix type parsing issues in ILLink and ILC (#104060)
- Fixes https://github.com/dotnet/runtime/issues/98955

   We will now produce a warning when a non-assembly-qualified type
   flows into a string location annotated with
   DynamicallyAccessedMembers, and we don't try to look up or mark the
   type (since we don't know which assemblies will be searched at
   runtime by the Type.GetType call).

- Fixes https://github.com/dotnet/runtime/issues/103906

   The ILLink intrinsic handling for `Type.GetType` will now look in
   corelib for generic arguments, matching native AOT.

This replaces the existing warning IL2105. This uses a new warning
instead of repurposing IL2105, because we already documented IL2105
and older versions of ILLink will produce it. Best to avoid any
confusion about them.
2024-07-12 14:07:32 -07:00
Emmanuel André
856a0a6f5e
STJ: Support serialization callbacks for collection and dictionary types (#104120)
* STJ: Support serialization callbacks for collection and dictionary types

* Fix tests

* Update src/libraries/System.Text.Json/src/System/Text/Json/Serialization/Converters/Collection/JsonCollectionConverter.cs

Co-authored-by: Eirik Tsarpalis <eirik.tsarpalis@gmail.com>

* Update src/libraries/System.Text.Json/src/System/Text/Json/Serialization/Converters/Collection/JsonDictionaryConverter.cs

Co-authored-by: Eirik Tsarpalis <eirik.tsarpalis@gmail.com>

* Reverse Kind logic to be more future proof

* Trigger callbacks before writing any JSON or metadata content

* Add JsonTypeInfo tests

* Call OnSerializing before any writing operation

* Keep result as variable name for partial operations

* Prevent setting OnDeserialize callback on immutable types

* Avoid using reflection when possible

* Set IsImmutableType for all converters overriding ConvertCollection

* Rename to IsImmutableCollectionType

* Remove extra empty lines

* Rename exception message

* Rename immutable -> convertible and fix issue around callback use for struct types

---------

Co-authored-by: Eirik Tsarpalis <eirik.tsarpalis@gmail.com>
2024-07-12 20:02:19 +01:00
Roman Konecny
45f3250677
Fix cancelability of DNS queries (#104420)
* Fix cancelability of DNS queries
* Properly cascade cancelation info for connect by name exceptions
2024-07-12 20:52:56 +02:00
Eirik Tsarpalis
42b2fc819b
Document arm PreferredMachine settings (#104812)
* Document PreferredMachine workaround for x64 compiler toolset

* Update docs/workflow/requirements/windows-requirements.md

Co-authored-by: Jan Kotas <jkotas@microsoft.com>

* Address feedback

* Address feedback

* simplify

---------

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
2024-07-12 19:13:50 +01:00
Carlos Sánchez López
062bc0d3f2
Fix zlib-ng build failure caught in the sdk CI (#104750)
* Fix zlib-ng build failure caught in the sdk repo.
Fixed by converting its NativeLibrary entry in Microsoft.NETCore.Native.Unix.targets to a NetCoreAppNativeLibrary, and place it after System.IO.Compression.Native, to ensure the linker detects the symbols, since it is unable to look back.
2024-07-12 10:50:22 -07:00
Theodore Tsirpanis
fa6c8b08e6
Ignore type resolution failures when checking for attributes in StackTrace.ToString. (#104530)
* Guard the call to `IsDefined(typeof(CompilerGeneratedAttribute))` from throwing.

An `IsDefinedSafe` method was added that returns false if checking for the attribute throws, and other usages in the file were updated as well. This also allows us to remove a big try catch block.

* Guard getting the `StateMachineAttribute`s from throwing.
2024-07-12 10:48:43 -07:00
Ahmet Ibrahim Aksoy
d15e757575
Add missing cancellation throw in SendPingAsync path (#104780) 2024-07-12 19:47:03 +02:00
Gordon Ross
c9f7f954d4
Turn off USE_REGIONS for sunos and illumos (#104301) 2024-07-12 19:38:58 +02:00
Ahmet Ibrahim Aksoy
a19fc08e6c
Get response headers from LoopbackServer implementation (#104774) 2024-07-12 19:37:35 +02:00
Gordon Ross
e587186273
Clean up procfs.h mess on sunos and illumos (#104304)
Applications should include <procfs.h> not <sys/procfs.h>
If there's actually some need to directly include sys/procfs.h
then one should #define	_STRUCTURED_PROC	1
as explained in the procfs.h file
2024-07-12 19:35:52 +02:00
Pavel Savara
4112bfa316
[browser] fix minification (#104787) 2024-07-12 19:19:10 +02:00
Radek Zikmund
25f82f314b
Replace Ubuntu 18 images with Ubuntu 20 in ARM 64 runs (#104689)
* Disable (No)ClientCert_DefaultValue_ResumeSucceeds only on Ubuntu 18 ARM

* Update ubuntu images to 20.04 instead

* Use Ubuntu 22.04

* Revert "Use Ubuntu 22.04"

This reverts commit 0d421162f420cc1d1107b80453e787c8013da864.
2024-07-12 18:34:34 +02:00
Aman Khalid
72d00a898c
ARM64-SVE: Add FloatingPointExponentialAccelerator (#104649) 2024-07-12 11:59:01 -04:00
Sven Boemer
8dc7b9e965
Fix issue link for an expected difference in warning behavior (#104760)
These warnings are intentionally only produced by Native
AOT. Analyzer doesn't detect reflection access to Requires*
attributes other than RequiresUnreferencedCode, per discussion in
https://github.com/dotnet/linker/issues/2739. Replacing the issue
links so we can close that issue.

Fixes https://github.com/dotnet/linker/issues/2739
2024-07-12 08:36:59 -07:00
Sven Boemer
bf54567d4e
Uncomment disabled test that has been fixed (#104764) 2024-07-12 08:21:18 -07:00
Larry Ewing
8a28b8c334
Update downlevel Versions.props (#104685) 2024-07-12 10:04:46 -05:00
Anton Firszov
f9eda07950
Enable DiagnosticsTest for HTTP3 (#104641) 2024-07-12 16:17:53 +02:00
Tomasz Sowiński
edf167216a
Turn off "V" in zlib-ng compilation (#104776)
Our target ISA is rv64gc, not gcv. If kernel can't detect RISC-V extensions, zlib-ng defaults has_rvv to true, which crashes on hardware without vector instructions like VisionFive 2.
2024-07-12 07:02:13 -07:00
Pavel Savara
a955d599c2
[Wasi] switch to preview 2 (#104683)
Co-authored-by: Joel Dice <joel.dice@fermyon.com>
Co-authored-by: SingleAccretion <62474226+SingleAccretion@users.noreply.github.com>
2024-07-12 15:42:14 +02:00
Tanner Gooding
07de38f27b
Ensure mono wasm jiterpreter handles v128_bitcast (#104698) 2024-07-12 06:34:02 -07:00
Jakob Botsch Nielsen
b8ac8b2d7f
JIT: Refine post-dominance check in strength reduction (#104687)
When strength reduction has to find an insertion point for the new
primary IV update it needs to find a block that post-dominates all the
users of the IV. This was using `optReachable` before, but that is
conservative since it finds paths that may exit the loop. This
implements a more precise check.
2024-07-12 15:00:12 +02:00
Larry Ewing
61f08d36ac
[wasm] Bump the stj version to avoid error (#104751)
* Bump the stj version to avoid error

* System.Net.Http.Json does not have version 8.0.4, changing to net9 prev 5

---------

Co-authored-by: Ilona Tomkowicz <32700855+ilonatommy@users.noreply.github.com>
2024-07-12 13:11:52 +02:00
Stephen Toub
b54bfdd041
Some more cleanup to regex NonBacktracking (#104766)
* Rent object[] rather than (uint,uint)[][] from the ArrayPool

* Remove unnecessary TInputReader generic from functions

* Add more comments and do some renames

* Remove unused TFindOptimizationsHandler from FindEndPositionDeltasNFA

* Fix a stray input reader

* Some more renames

* Avoid duplicated reads of input character and nullability info

* Remove initialStateId from TryFindNextStartingPosition and make initial accelerators more similar

* Remove unused initialStatePos / initialStatePosCandidate

It's only ever written and not actually used for anything.

* Remove unnecessary generic args and remove resulting dead code

Multiple XxDfa / XxNfa methods took a TStateHandler, but it was only ever DfaStateHandler for XxDfa or NfaStateHandler for XxNfa. We can just use the types directly in those methods, rather than generically parameterizing. Doing that revealed all but one of the members of IStateHandler weren't needed on the interface. And removing those revealed a bunch of dead code on DfaStateHandler/NfaStateHandler, which were removed, as well as arguments to some methods that weren't used.

* Put GetStateFlags back in IStateHandler and use it to avoid duplication at call sites

* Put out argument last in TryCreateNewTransition

* Store state to local in FindStartPositionDeltasDFA

* Merge IAcceleratedStateHandler into IInitialStateHandler

* Remove MintermClassifier.IntLookup
2024-07-12 06:38:53 -04:00
Tom Deseyn
9b09bcfada
System.Runtime.Serialization.Formatters: fix target framework check for source-build. (#104735)
* System.Runtime.Serialization.Formatters: fix target framework check for source-build.

The inbox implementation should no longer include a working binary formatter.

The check used to build a working formatter was '$(TargetFramework)' == '$(NetCoreAppMinimum)'.

Because NetCoreAppMinimum gets set to TargetFramework in the source-build configuration,
the source-build configuration unintentionally included a working binary formatter.

* Don't build the net8.0 target when DotNetBuildSourceOnly.

* Join lines.
2024-07-12 11:46:35 +02:00
Matous Kozak
42b2b19e88
[Apple-Mobile][Globalization] Refactoring of CalendarData.iOS and new DateTimeFormatInfo* tests (#102464)
* enable ShortDatePattern tests + refactor

* LongDatePattern correct format

* LongDatePattern tests

* fix EnumDatePatterns AddRange for Apple Hybrid

* remove duplicate invariant ShorDatePattern test

* remove duplicate en-US LongDatePattern case

* MonthDayPattern test cases

* add _ICU suffix to DatePattern names

* DayNames ICU test cases

* AbbreviatedDayNames ICU tests

* Move GetCalendarInfoNative to EnumCalendarInfo ICU

* MonthNames test suit for ICU

* AbbreviatedMonthGenitiveNames ICU test suit

* AbbreviatedMonthNames ICU test suit

* MonthGenitive ICU test suit

* refactor CalendarData.iOS.cs
to use more of the shared CalendarData.ICU code

* refactor new DateTiemFormatInfo* API tests
2024-07-12 09:42:55 +02:00
Michal Strehovský
c09ec6552f
Delete FEATURE_READYTORUN_COMPILER ifdef (#104727)
#103361 resurrected this long-deleted ifdef (crossgen1-specific code).
2024-07-12 09:37:33 +02:00
Ahmet Ibrahim Aksoy
27e9b9db7a
[HTTP/2] Throw meaningful exception if we get GOAWAY while reading response body (#104707)
* Throw HttpProtocolException in case we get a GOAWAY frame while waiting for next frame on response

* Fix helper method names

* Apply suggestions from code review

Co-authored-by: Miha Zupan <mihazupan.zupan1@gmail.com>

* Code review feedback

* Revert method names

* Fix test with the new behavior

---------

Co-authored-by: Miha Zupan <mihazupan.zupan1@gmail.com>
2024-07-12 06:11:59 +02:00
Mike McLaughlin
0d5a9e7a59
Fix ISOSDACInterface::GetThreadData reading the GC alloc context. (#104762)
* Fix ISOSDACInterface::GetThreadData reading the GC alloc context.

The RuntimeThreadLocals struct that the gc_alloc_context is in wasn't being added
to dump in Thread::EnumMemoryRegions.
2024-07-11 19:38:54 -07:00