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

135291 commits

Author SHA1 Message Date
Jeremy Koritzinsky
1563fec7ea
Implement basic (recommended against) support for inheriting from COM interfaces defined in different assemblies (#105119) 2024-08-06 14:27:43 -07:00
Pavel Savara
edbb2ba06d
[browser] http streaming request server error (#105709)
* wip

* more
2024-08-06 15:44:49 -05:00
Dong-Heon Jung
6b558d950e
Lower expected object count in gcheapenumerationprofiler test (#106008) 2024-08-06 16:20:04 -04:00
Tanner Gooding
5fb42a458b
Ensure we aren't containing nodes that shouldn't be contained (#105993)
* Ensure we aren't containing nodes that shouldn't be contained

* Adding regression tests for the other resolved issues

* Ensure the tests use the right `Isa.IsSupported` checks
2024-08-06 13:01:17 -07:00
Parker Bibus
7dd55a0aa6
Add release/9.0 to the trigger includes for perf and perf_slow. (#106032) 2024-08-06 12:41:30 -07:00
Elinor Fung
c5a89d4429
[cdac] Implement ISOSDacInterface::GetObjectData getting COM RCW/CCW (#105846)
- Add `SyncTableEntry`, `SyncBlock`, `InteropSyncBlockInfo` data descriptors, `SyncTableEntries` global
- Get the sync block corresponding to a given object address in `Object` contract
- Add `GetComData` to `Object` contract
- Finish implementation of `ISOSDacInterface::GetObjectData` such that it populates the RCW/CCW
- Add test helpers for mocking out sync blocks
2024-08-06 12:38:18 -07:00
Jeremy Koritzinsky
a5635ff00c
Fix JitStackChecks failures (#105711) 2024-08-06 11:56:31 -07:00
Mitchell Hwang
50d6cad649
[EventPipe] Handle EventPipe Enable calls during shutdown (#105842) 2024-08-06 13:25:56 -04:00
Edward Neal
6cdc448779
Respect general-purpose bit flags when decoding ZipArchiveEntry names and comments (#103271)
If bit 11 in the general purpose bit flags is set, forces the use of UTF-8 instead of the encoding specified in the ZipArchive constructor.
2024-08-06 10:06:57 -07:00
Tanner Gooding
0ea5ea712e
Ensure embedded masking is handled for emitIns_R_R (#105972) 2024-08-06 09:58:58 -07:00
Tanner Gooding
c28adf1c26
Ensure we consistently broadcast the result of simd dot product (#105888) 2024-08-06 09:58:19 -07:00
Alan Hayward
b6ab4637e6
ARM64-SVE: Fix SVE API formatting for FFR APIs (#106017) 2024-08-06 12:39:47 -04:00
Sven Boemer
d5af5bde0a
Make ReflectionAccessAnalyzer logic more similar to ILLink/ILC (#105956)
ReflectionAccessAnalyzer is analogous to ILLink/ILC's
ReflectionMarker, and will be responsible for producing warnings
about DynamicallyAccessedMembers on types when we fix
https://github.com/dotnet/runtime/issues/102002. These warnings
will not all have the same location since they can be reported on
different members of the type.

To support this, this is changing ReflectionAccessAnalyzer to
create a DiagnosticContext as needed when reporting a warning,
instead of taking it as an argument, which would require all
warnings to share the same location (since DiagnosticContext
holds a Location). This is similar to how ReflectionMarker takes
a MessageOrigin instead of DiagnosticContext.
2024-08-06 09:32:50 -07:00
Andy Ayers
fdb741523a
JIT: Extend USEASG liveness to cover partial writes to retbufs (#105996)
Liveness will add uses for explicit USEASG local stores that are not dead,
but not for similar stores to locals via calls.

Extend the coverage to calls.

Fixes #105667.
2024-08-06 08:38:47 -07:00
Michal Strehovský
478390913f
Merge .managedcode and hydrated sections into well-known sections (#106012)
Contributes to #105959 and #33745.

Certain "antiviruses" seem to consider any executable with non-standard sections malware. So don't emit non-standard sections.

Hello World before this PR: https://www.virustotal.com/gui/file/2f611e8459b612f9071d60aaefb90441079952130a631d28bc537d4ef0ea61bd?nocache=1

Hello World after this PR: https://www.virustotal.com/gui/file/802789e700e3d012bad7d598598199fe09bb1e329ca652fea6984e39228973f3?nocache=1
2024-08-06 17:24:27 +02:00
Alan Hayward
a3663d5175
ARM64-SVE: Generate FMA uses in the correct order #105723 (#105885) 2024-08-06 11:19:54 -04:00
SwapnilGaikwad
8d7e3b58f7
ARM64-SVE: Emit predicated version of the MUL instruction for Sve.Multiply() (#105948)
Fixes: #105736
2024-08-06 10:15:33 -04:00
Ahmet Ibrahim Aksoy
d606c60151
Enable ReceiveAsync_Cancel_Success test (#105995) 2024-08-06 11:07:43 +02:00
eterekhin
c94cacb534
Update IncrementingPollingCounter only on Timer thread (#105548)
* Reset IncrementingPollingCounter on Timer thread

* Made the comment clearer

Co-authored-by: Noah Falk <noahfalk@users.noreply.github.com>

* Simplified counters reset code

---------

Co-authored-by: Noah Falk <noahfalk@users.noreply.github.com>
2024-08-06 01:18:52 -07:00
Michal Strehovský
c60af838c7
Delete some useless RareFlags (#105945)
These are leftovers from universal shared generics and interpreter/JIT prototypes.
2024-08-06 10:12:15 +02:00
Jan Kotas
af5a23cea6
Fix comments around static constructor memory model (#105911)
- Fix comments around static constructor memory model
- Delete unnecessary MemoryBarrier

Contributes to #81151
2024-08-05 19:39:13 -07:00
Thays Grazia
1246154e83
Adding comment suggested by Noah (#105999) 2024-08-05 22:47:31 -03:00
Tanner Gooding
73bffafa95
Ensure side effects are preserved for Arm64 (#105963) 2024-08-05 15:38:10 -07:00
Aman Khalid
684998fec4
ARM64-SVE: Use emitIns_R_R_Imm instead of emitIns_R_R_I to handle large immediates (#105958) 2024-08-05 17:18:32 -04:00
Michal Strehovský
77fb0389ba
Make it possible to run ILC with non-resilient mode (#105951)
Should help with things like #105947 where we're apparently not even able to compile a fallback method body because things are _so_ bad.
2024-08-05 22:24:11 +02:00
Michal Strehovský
b9864802af
Emit logging before recompiling bad IL (#105953)
Should help with cases like #105947 that have inputs so bad we cannot compile fallback method body.
2024-08-05 22:23:37 +02:00
Jeff Handley
22f382e7ef
Mark ericstj as lead for area-System.Formats.Tar (#105990) 2024-08-05 12:57:58 -07:00
Elinor Fung
815650eaa0
Initialize RuntimeEventSource as part of coreclr_initialize instead of only when running an app (#105902)
We were only initializing `RuntimeEventSource` before running an application. This meant that native hosting scenarios - COM, C++/CLI, custom - would never initialize it. As a result, diagnostic tracing tools - like `dotnet-counters` - did not work properly.

This moves the call to `RuntimeEventSource.Initialize` out of `StartupHookProvider.ManagedStartup` and to be part of `coreclr_initialize`.
2024-08-05 12:23:58 -07:00
Mark Plesko
b27a80867e
[GC] Avoid OOM in large-allocation-only workloads (#105521)
A few problems can occur with workloads that only allocate huge objects:
- Regions can be pushed to the global decommit list faster than we can process them.  This can lead to OOM (more easily reproducible using a hard heap limit).
- BGCs don't currently call `distribute_free_regions`, so if only those occur, then the freelist processing never occurs at all.

This change addresses those by doing the following:
- Call `distribute_free_regions` during `background_mark_phase` (while we initially have the VM suspended to avoid complications).
- Currently, `distribute_free_regions` can't hit the `move_highest_free_regions` code path when `background_running_p()`.  Change that check to also require `settings.condemned_generation != max_generation`.
- Slow the movement of huge regions from the freelist to the global decommit list.
  - Add aging to regions in `global_free_huge_regions`.
  - Require an age of MIN_AGE_TO_DECOMMIT_HUGE (2) before including them in a surplus balance.
  - Factor aging code into `age_free_regions`.

Fixes #94175
2024-08-05 12:18:11 -07:00
Jakob Botsch Nielsen
8a46116522
JIT: Fix NumArgs for GetFfr* and CreateTrueMaskAll HW intrinsics (#105943) 2024-08-05 20:59:55 +02:00
Vladimir Sadov
d78082bca2
Partial re-revert of #104336. Only JIT fixes are included. (#105596)
* Partial re-revert of #104336. Only JIT fixes are included.

* fix for stress issues

* comments and some cleanup

* JIT format

* keep existing code for x86
2024-08-05 11:34:01 -07:00
Steve Pfister
bfcca2930b
[mono] Only ship runtime packs that are classified as mobile targets (#104307)
In past .NET releases, we have shipped mono runtime packs for most of our support matrix. Starting in .NET 9, we will pull this back significantly and only ship runtime packs that are targeted at our 'mobile' platforms. This includes apple, android, wasm, and wasi targets.

Contributes to https://github.com/dotnet/docs/issues/41366
2024-08-05 13:55:55 -04:00
Jeremy Koritzinsky
ccfd70d827
Fix copy constructor injection for unsafe value classes (#105779) 2024-08-05 09:54:18 -07:00
Adeel Mujahid
283d5f35df
Enable x86 AOT compilation for components build (#105909)
Now that global.json is pointing to p6 (which has an SDK fix for win-x86), lets try enabling it.
2024-08-05 18:38:50 +02:00
Cameron Aavik
9e6e68d924
Ensure scenario project builds are self contained (#105904) 2024-08-05 09:25:46 -07:00
Elinor Fung
85c1a73056
Move exposed module object from DomainAssembly to Module (#105901)
`DomainAssembly` currently has the exposed object corresponding to its `Module` and `Module` gets it from its `DomainAssembly` - move it to be stored `Module` instead.

`Module::LoadModule` was returning `DomainAssembly` and the common thing callers immediately did was get its `Module` - make it return the `Module` instead.
2024-08-05 09:14:22 -07:00
Egor Bogatov
53a500edf1
Don't use ZR as target in LSE atomics (#105854)
* Don't use ZR as target in LSE atomics

* Update codegenarm64.cpp

* Update lsraarm64.cpp

* Update lsraarm64.cpp
2024-08-05 09:09:40 -07:00
Pavel Savara
ab03e0ffc0
[WASI] bump WASI SDK 24 (#105317)
Co-authored-by: Joel Dice <joel.dice@fermyon.com>
2024-08-05 17:33:33 +02:00
Sven Boemer
d75fbf50bf
Clean up DiagnosticContext (#105848)
Removes an overload from `DiagnosticContext` that makes it possible to
pass in a `Diagnostic`. This overload is undesirable because we want
the `Location` stored in `DiagnosticContext` to always match the
location of the diagnostic.
2024-08-05 08:32:17 -07:00
Aman Khalid
6931b3b729
JIT: Fix over-shifting logic when constant-folding AdvSimd.ShiftRight* and AdvSimd.ShiftLeft* (#105847) 2024-08-05 09:09:55 -04:00
Alexander Köplinger
c2d058947f
[mono] Fail on LLVM version mismatch and add instructions for updating (#105873)
Follow-up to https://github.com/dotnet/runtime/pull/105110.
2024-08-05 11:59:47 +02:00
Michal Strehovský
483db3e224
Avoid scanning isinst checks when building whole program view (#104148)
Before this PR, we were somewhat able to eliminate dead typeof checks such as:

```csharp
if (someType is Foo f)
{
    ExpensiveMethod();
}
```

This work was done in #99761.

However, the optimization only happened during codegen. This meant that when building the whole program view, we'd still look at `ExpensiveMethod` and whatever damage this caused to the whole program view was permanent.

With this PR, the scanner now becomes aware of the optimization we do during codegen and tries to defer injecting dependencies until we will need them. Despite RyuJIT already doing this optimization, I'm also doing it in the SubstitutedILProvider because this optimization _must_ happen, or we'll get codegen failures.

With this change, we detect the conditional branch, and generate whatever dependencies from the basic block as conditional. That way scanning can fully skip scanning `ExpensiveMethod` and the subsequent optimization will ensure the missed scanning will not cause issues at codegen time.
2024-08-05 08:36:26 +02:00
Michal Strehovský
018fb9d8df
Do not emit unsupported thunks for delegates with allows ref struct generics (#105871)
Fixes #105029

I looked into redoing delegate thunk management to be per instance but that would be an unnecessarily big diff. Instead adding a facility to allow `ILStubMethodIL` specialize per-instance if needed and in this specialization generate a throwing method body (that should be unreachable at runtime).
2024-08-05 08:34:49 +02:00
Jan Kotas
312d4fc807
Revert "[NativeAOT] Respect Align8 flag for thread statics (#105905)" (#105920)
This reverts commit 1cc0186c3e.
2024-08-05 08:31:24 +02:00
dotnet-maestro[bot]
d12b7997ea
[main] Update dependencies from dotnet/roslyn-analyzers (#105910)
* Update dependencies from https://github.com/dotnet/roslyn-analyzers build 20240802.1

Microsoft.CodeAnalysis.Analyzers , Microsoft.CodeAnalysis.NetAnalyzers
 From Version 3.11.0-beta1.24378.1 -> To Version 3.11.0-beta1.24402.1

* Update dependencies from https://github.com/dotnet/roslyn-analyzers build 20240802.1

Microsoft.CodeAnalysis.Analyzers , Microsoft.CodeAnalysis.NetAnalyzers
 From Version 3.11.0-beta1.24378.1 -> To Version 3.11.0-beta1.24402.1

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2024-08-04 18:19:26 -04:00
Jakob Botsch Nielsen
dee8a8be71
JIT: Make sure static ctor flag check uses a volatile load (#105832)
Otherwise the hardware is allowed to reorder loads of its static fields
to happen before the initialization check.
2024-08-04 02:22:35 +02:00
Filip Navara
1cc0186c3e
[NativeAOT] Respect Align8 flag for thread statics (#105905)
* Respect Align8 flag for thread statics

* Port WASM test

Co-authored-by: yowl <scott.waye@hubse.com>

---------

Co-authored-by: yowl <scott.waye@hubse.com>
2024-08-03 08:15:15 -07:00
Thays Grazia
a4fe68fcb3
Removing incomplete mono debugger experiment (#105899) 2024-08-02 22:39:22 -03:00
TrueLunacy
1c0ce305ce
Fix field offset not being set for 0-offset (#105894)
PersistedAssemblyBuilder didn't write field offset correctly when field offset
was 0. This fixes that, and adds a test to ensure the behaviour is working.

Fixes #105795
2024-08-02 17:39:53 -07:00
Tanner Gooding
9390b99934
Ensure that we are correctly typing simd comparison nodes (#105883) 2024-08-02 16:59:36 -07:00