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

134677 commits

Author SHA1 Message Date
Elinor Fung
04a40c1d59
[cdac] Start Loader contract and implement ISOSDacInterface::GetModuleData in cDAC (#104257)
- Start a `Loader` contract - currently contains what is needed for GetModuleData
- Implement `ISOSDacInterface::GetModuleData` in cDAC
- Store base address and is reflection emit bit on `Module` for easier diagnostics access
2024-07-09 08:36:24 -07:00
Elinor Fung
eae15423f3
Switch uses of DomainAssembly that just need Assembly to use Assembly (#104334) 2024-07-09 08:34:53 -07:00
Jakob Botsch Nielsen
528b6fcb79
JIT: Handle retbuf definitions precisely in physical promotion's liveness (#104551)
Finding the actual type defined by the call requires going from the `LCL_ADDR` to the `CALL` node, which was never implemented.
This implements the logic by simply searching for the parent in the containing statement.

Fix #86711
2024-07-09 17:31:55 +02:00
Pavel Savara
844e6fe254
[browser][MT] troubleshooting deadlocks (#104539) 2024-07-09 16:58:36 +02:00
Radek Doulik
ddd9617134
[wasm] Fix mono_wasm_load_runtime cwrap signature (#104356)
Fixes: `Uncaught ExitStatus: Assertion failed: stringToUTF8Array expects a string (got number)`
2024-07-09 16:27:33 +02:00
dotnet-maestro[bot]
82600adc0e
[main] Update dependencies from dotnet/hotreload-utils, dotnet/icu, dotnet/runtime, dotnet/runtime-assets, dotnet/sdk (#104469)
* Update dependencies from https://github.com/dotnet/hotreload-utils build 20240701.1

Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
 From Version 9.0.0-alpha.0.24324.1 -> To Version 9.0.0-alpha.0.24351.1

* Update dependencies from https://github.com/dotnet/runtime-assets build 20240702.1

Microsoft.DotNet.CilStrip.Sources , System.ComponentModel.TypeConverter.TestData , System.Data.Common.TestData , System.Drawing.Common.TestData , System.Formats.Tar.TestData , System.IO.Compression.TestData , System.IO.Packaging.TestData , System.Net.TestData , System.Private.Runtime.UnicodeData , System.Runtime.Numerics.TestData , System.Runtime.TimeZoneData , System.Security.Cryptography.X509Certificates.TestData , System.Text.RegularExpressions.TestData , System.Windows.Extensions.TestData
 From Version 9.0.0-beta.24324.1 -> To Version 9.0.0-beta.24352.1

* Update dependencies from https://github.com/dotnet/icu build 20240702.1

Microsoft.NETCore.Runtime.ICU.Transport
 From Version 9.0.0-preview.7.24324.1 -> To Version 9.0.0-preview.7.24352.1

* Update dependencies from https://github.com/dotnet/runtime-assets build 20240702.1

Microsoft.DotNet.CilStrip.Sources , System.ComponentModel.TypeConverter.TestData , System.Data.Common.TestData , System.Drawing.Common.TestData , System.Formats.Tar.TestData , System.IO.Compression.TestData , System.IO.Packaging.TestData , System.Net.TestData , System.Private.Runtime.UnicodeData , System.Runtime.Numerics.TestData , System.Runtime.TimeZoneData , System.Security.Cryptography.X509Certificates.TestData , System.Text.RegularExpressions.TestData , System.Windows.Extensions.TestData
 From Version 9.0.0-beta.24324.1 -> To Version 9.0.0-beta.24352.1

* Update dependencies from https://github.com/dotnet/hotreload-utils build 20240701.1

Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
 From Version 9.0.0-alpha.0.24324.1 -> To Version 9.0.0-alpha.0.24351.1

* Update dependencies from https://github.com/dotnet/icu build 20240702.1

Microsoft.NETCore.Runtime.ICU.Transport
 From Version 9.0.0-preview.7.24324.1 -> To Version 9.0.0-preview.7.24352.1

* Update dependencies from https://github.com/dotnet/runtime-assets build 20240702.1

Microsoft.DotNet.CilStrip.Sources , System.ComponentModel.TypeConverter.TestData , System.Data.Common.TestData , System.Drawing.Common.TestData , System.Formats.Tar.TestData , System.IO.Compression.TestData , System.IO.Packaging.TestData , System.Net.TestData , System.Private.Runtime.UnicodeData , System.Runtime.Numerics.TestData , System.Runtime.TimeZoneData , System.Security.Cryptography.X509Certificates.TestData , System.Text.RegularExpressions.TestData , System.Windows.Extensions.TestData
 From Version 9.0.0-beta.24324.1 -> To Version 9.0.0-beta.24352.1

* Update dependencies from https://github.com/dotnet/hotreload-utils build 20240701.1

Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
 From Version 9.0.0-alpha.0.24324.1 -> To Version 9.0.0-alpha.0.24351.1

* Update dependencies from https://github.com/dotnet/icu build 20240702.1

Microsoft.NETCore.Runtime.ICU.Transport
 From Version 9.0.0-preview.7.24324.1 -> To Version 9.0.0-preview.7.24352.1

* Update dependencies from https://github.com/dotnet/runtime-assets build 20240702.1

Microsoft.DotNet.CilStrip.Sources , System.ComponentModel.TypeConverter.TestData , System.Data.Common.TestData , System.Drawing.Common.TestData , System.Formats.Tar.TestData , System.IO.Compression.TestData , System.IO.Packaging.TestData , System.Net.TestData , System.Private.Runtime.UnicodeData , System.Runtime.Numerics.TestData , System.Runtime.TimeZoneData , System.Security.Cryptography.X509Certificates.TestData , System.Text.RegularExpressions.TestData , System.Windows.Extensions.TestData
 From Version 9.0.0-beta.24324.1 -> To Version 9.0.0-beta.24352.1

* Update dependencies from https://github.com/dotnet/hotreload-utils build 20240701.1

Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
 From Version 9.0.0-alpha.0.24324.1 -> To Version 9.0.0-alpha.0.24351.1

* Update dependencies from https://github.com/dotnet/runtime build 20240707.2

Microsoft.DotNet.ILCompiler , Microsoft.NET.Sdk.IL , Microsoft.NETCore.App.Runtime.win-x64 , Microsoft.NETCore.ILAsm , runtime.native.System.IO.Ports , System.Reflection.Metadata , System.Reflection.MetadataLoadContext , System.Text.Json , Microsoft.SourceBuild.Intermediate.runtime.linux-x64
 From Version 9.0.0-preview.6.24323.2 -> To Version 9.0.0-preview.7.24357.2

* Update dependencies from https://github.com/dotnet/sdk build 20240708.3

Microsoft.SourceBuild.Intermediate.sdk , Microsoft.DotNet.ApiCompat.Task
 From Version 9.0.100-preview.7.24323.5 -> To Version 9.0.100-preview.7.24358.3

* Update dependencies from https://github.com/dotnet/icu build 20240708.1

Microsoft.NETCore.Runtime.ICU.Transport
 From Version 9.0.0-preview.7.24324.1 -> To Version 9.0.0-preview.7.24358.1

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2024-07-09 13:59:56 +00:00
Alexander Köplinger
e8d29484f0
Remove .gdnbaselines file (#104594)
We've removed the files which caused the suppressions in https://github.com/dotnet/runtime/pull/104553
2024-07-09 13:51:51 +00:00
Ilona Tomkowicz
0bfb733c64
[wasi] Fix ItemGroup concatenation in wasi (#104549)
* fix

---------

Co-authored-by: campersau <buchholz.bastian@googlemail.com>
2024-07-09 14:42:50 +02:00
Viktor Hofer
ce92511c37
Update solution files to include all CoreLib dependencies (#104561)
VS requires all dependencies to be listed in a solution
file. If they aren't present, they don't get built which
usually fails the build then.

Update the three CoreLib solution files:
- coreclr
- mono
- nativeaot
2024-07-09 14:39:52 +02:00
Pavel Savara
9fb2c80a28
[browser] host should not forward env variables (#104557) 2024-07-09 14:12:00 +02:00
Jakob Botsch Nielsen
dd4b757bd5
JIT: Support retbuf optimization for non 'lvIsTemp' locals (#104467)
The retbuf optimization allows us to avoid address exposure for retbuf
definitions; instead we consider them to be just defined (and not exposed) by
the calls.

This optimization was previously only enabled for `lvIsTemp` locals, i.e. the
locals created by `lvaGrabTemp(true)`. The reason was that the definition of the
actual retbuf happened when we saw the `LCL_ADDR` node; if there were additional
uses after the `LCL_ADDR` node, then they would think they were referring to the
`LCL_ADDR` definition. The `lvIsTemp` gave us reasonable confidence that there
were no such additional uses.

This PR fixes the root cause of the problem and enables the optimization for
non-`lvIsTemp` locals. To do that it teaches the various liveness phases to
ignore the `LCL_ADDR` nodes when it gets to them and to instead handle the
definition at the point of the parent `CALL` node.
2024-07-09 11:51:04 +00:00
Marek Habersack
048c8ed16f
[android] Don't include JNI_OnLoad in libSystem.Security.Cryptography.Native.Android.a (#103231)
I'm working on a feature in .NET For Android which will allow us to link
all the native bits into a single shared library at application build
time.  In order to make it possible, no archive (`.a`) may contain any
`JNI_OnLoad` functions (called by `JavaVM` when initializing a Java
extension DSO), because our runtime already contains one and there Can
be Only One(tm).

`libSystem.Security.Cryptography.Native.Android` is currently the only
BCL support native library which contains `JNI_OnLoad` and thus it
prevents us from linking it into our runtime.  This PR changes things
a bit my moving the initialization code to a separate
function (`AndroidCryptoNative_InitLibraryOnLoad `) which remains in the `.a` archive and
can be called by `.NET For Android` runtime from its own `JNI_OnLoad` as
well as by the `libSystem.Security.Cryptography.Native.Android.so` from
its `JNI_OnLoad`, which this PR moves to a separate source file that is
compiled only into the shared version of the crypto support library.
2024-07-09 13:39:09 +02:00
mikelle-rogers
5b5d7919a6
Get ThreadContext for AVX registers (#104514)
* some logs

* debugging the adventure

* using the XSTATE_SUPPORTED macro

* use minipal getcpufeatures

* add conditional in MachExceptionInfo constructor

* fix whitespace and remove logs

* whitepace

* remove conditional checks and rely on Fallthrough

* remove uneeded dependencies

---------

Co-authored-by: Diag <diag@Toms-Mac-mini.lan>
2024-07-09 10:34:31 +02:00
Radek Zikmund
1164d2fe49
Fix handling SECBUFFER_EXTRA with renegotiation after handshake. (#103419)
* Add failing test

* WIP

* Propagate processed length from ASC as well

* Don't test renegotiation on unsupported platforms

* Commit forgotten change

* Remove unnecessary code

* Fix failures on Linux

* Fix Tls 13 post-handshake-auth byte-by-byte case on Linux
2024-07-09 10:12:43 +02:00
Radek Zikmund
141d3a3a0c
Remove unused test server deployment scripts (#104553) 2024-07-09 09:36:30 +02:00
Marie Píchová
d6767ce945
[QUIC] Fixed some tests leaking unobserved exceptions (#104444)
* Fixed some tests leaking unobserved exceptions

* Feedback
2024-07-09 08:47:57 +02:00
Kunal Pathak
9882188fbe
Fix GatherPrefetch and Prefetch APIs (#104494) 2024-07-08 20:33:47 -07:00
Jan Kotas
e125386a5a
Fix syntax of exports file with no exported symbols on Linux (#104339)
Fixes #104325
2024-07-08 18:31:08 -08:00
mikelle-rogers
13cf2649ad
CodeQL spillStack (#104376) 2024-07-08 17:32:58 -07:00
Manish Godse
35d505e50a
updating mono reflection area path ownership (#104568)
* update mono reflection ownership

* removing whitespace
2024-07-08 17:03:45 -07:00
Andy Gocke
f0ff6d6948
Revert "Add more complete linux build instructions (#101631)" (#104581)
This reverts commit 55747a5866.
2024-07-08 16:38:49 -07:00
Andy Gocke
55747a5866
Add more complete linux build instructions (#101631)
I'm trying to make it slightly easier to install the needed requirements, and add some validation if a user hasn't installed the requirements.

Also, I validated that these instructions still work for Ubuntu 24.04 and have noted that other installs are only community-supported.
2024-07-08 23:15:02 +00:00
Carlos Sánchez López
cf08d43a93
Migrate to zlib-ng, part 2: consume it in runtime (second attempt) (#104454)
* Reapply "Migrate to zlib-ng, part 2: consume it in runtime (#102403)" (#104414)
* Apply jkotas comment suggestion in configureplatform.cmake
* Delete unnecessary comment in zlib-ng.cmake
* Fix windows nativeaot failure happening when executing:

build.cmd -ci -arch x64 -os windows  -s clr.nativeaotlibs+clr.nativeaotruntime+libs+packs -c Release /p:BuildNativeAOTRuntimePack=true /p:SkipLibrariesNativeRuntimePackages=true
2024-07-08 23:11:47 +00:00
Andy Gocke
21cde6987f
Update pr-guide with staleness requirement (#104576) 2024-07-08 14:47:24 -07:00
Emmanuel André
edab50b38e
Add CancellationToken support for LoadIntoBufferAsync (#103991)
* Add CancellationToken support for LoadIntoBufferAsync

* Add documentation

* Rework cancellation token in tests

* Move to outerloop test using delays

* Use IgnoreExceptions helper in tests

---------

Co-authored-by: Miha Zupan <mihazupan.zupan1@gmail.com>
2024-07-08 14:23:45 -07:00
Elinor Fung
8181785b2f
[LibraryImportGenerator] Use basic forwarder in down-level support if any parameters can't be marshalled (#104416)
In down-level support, when determining marshalling generators for types, we fall back to just forwarding the parameter without erroring. This means that we end up generating a stub that marshal some parameters and just silently forwards others when all of these are true:
- target framework is down-level (below .NET 7)
- the signature is not blittable (parameters require marshalling and/or SetLastError=true)
- no parameters are identified via an `ITypeBasedMarshallingInfoProvider` as missing marshalling support
- at least one parameter cannot be marshalled and falls back to just forwarding the parameter

This is not a problem in non-down-level scenarios, as we error if we can't marshal any parameters. This is also not a problem if any parameters are identified as unsupported via an `ITypeBasedMarshallingInfoProvider`, as we do correctly check that case and simply forward to `DllImport`.

This change makes it so that in down-level scenarios, if any type falls back  to forwarding, we print a basic `DllImport` instead of a stub with mixed marshalling and forwarding.
2024-07-08 13:59:38 -07:00
Jakob Botsch Nielsen
a0f0c6ca26
JIT: Propagate physical promotion liveness in post-order (#104554)
We now have a DFS tree available in physical promotion. This mean that
like normal liveness we can maximize the information propagated on every
iteration by running physical promotion's dataflow in post-order.
2024-07-08 22:57:35 +02:00
Anton Firszov
8b9ea5e180
Swap MetricsHandler and DiagnosticsHandler (#104455)
To support Exemplars, http.request.duration must be recorded before stopping the HTTP request Activity.
2024-07-08 22:17:08 +02:00
Eirik Tsarpalis
e4d9e266b7
Clean up JSON property lookup logic and add alternate key lookup support. (#103836)
* Clean up JSON property lookup logic and add alternate lookup support.

* Ensure PropertyRef cache doesn't contain duplicates.

* Remove usings.

* Revert back to using original caching algorithm.

* Incorporate suggestions to key generation algorithm.

* Address feedback.

* Simplify more PropertyRef methods.
2024-07-08 21:16:32 +01:00
Aman Khalid
f99194cb7f
JIT: Ensure EH clauses with same try region are reported contiguously to the VM (#104531)
The CORINFO_EH_CLAUSE_SAMETRY flag indicates to the VM that a given EH clause maps to the same try region as the previous EH clause. However, the JIT's internal invariants may result in an EH table ordering such that clauses mapped to the same try region aren't contiguous, thus breaking the functionality of this flag. To address this without changing the JIT's EH invariants, ensure the JIT reports clauses with the same try region contiguously to the VM, and sets CORINFO_EH_CLAUSE_SAMETRY accordingly.

Fixes #101772.
2024-07-08 16:00:21 -04:00
Jan Vorlicek
dd2120b9f8
Remove global spinlock for EH stacktrace (#103076)
* Remove global spinlock for EH stacktrace

The global spinlock that was used to ensure that stack trace and the
associated dynamic methods array were updated and read atomically.
However, for the new EH, it has shown to cause a high contention in case
many threads were handling exceptions at the same time.

This change replaces the two arrays by one object member in the
exception class. It contains reference to either the byte[] of the
stack trace (when there are no dynamic methods on the stack trace) or an
object[] where the first element contains the stack trace byte[]
reference and the following elements contain what used to be in the
dynamic array. That allows atomic updates and reads of the stack trace
and dynamic method keepalive references without a need of a lock.

The original code was quite convoluted, it was difficult to reason about
and it had some races in it that were hidden behind the global lock. So
I have decided to rewrite the whole thing from scratch.

The way it ensures that it is race free is that whenever it updates the
exception stack trace and the one that's on the exception was created by
a different thread, it creates a deep copy of both the stack trace and
the keepalive array. When making the copy, it also handles a case when
a frame that needs a keepalive entry is on the stack trace part, but the
keepalive array extracted from the exception is stale (the other thread
needed to resize the keepalive array, but not the stack trace). In that
case, the stack trace is trimmed at first such entry found.

Since the case when multiple threads are throwing the same exception and
so they are modifying its stack trace in parallel is pathological
anyways, I believe the extra work spent on creating the clones of the arrays
is a good tradeoff for ensuring easy to reason about thread safety.

I have also removed a dead code path from the
StackTraceInfo::SaveStackTrace.

Finally, since with the previous iteration of this change, a bug in
building the stack trace was found, I have added a coreclr test to
verify stack trace for an exception matches the expectations.

* Fix MUSL build

* Fix x86 build

* Fix several issues

* Missing calls to IsOverflow at few places
* Added a flag on StackTraceElement to indicate that the element needs a
  keepalive entry. It removes the need to call IsLCGMethod / Collectible
  check on the method table stored in the element and eliminates a
  possible problem with the method being collected in one place.
* Returned missing call to StackFrameInfo::Init to the x86 code path
* Removed obsolete comment and code line

* Few changes based on feedback

* Add keep alive items count to the stack trace header.
* Implement the concept of frozen stack traces to eliminate copies in
  the ExceptionDispatchInfo storing / restoring exceptions.

* Rename keepalive to keepAlive

* Handle possible array size overflow

In the StackTraceArray::Allocate

* Fix typo

* Change the size / keepAlive fields in stack trace to uint32_t

Plus a build break fix

* Remove SaveStackTracesFromDeepCopy

Also rename GetStackTracesDeepCopy to GetFrozenStackTrace and move the
return argument to return value.

* Remove dummy field and an unused function

* Cleanup based on feedback

* Move the race handling into GetStackTrace only

Plus an unused method removal and a little naming / contract cleanup

* Add VolatileLoad/Store around the size / keep alive count

Also remove the memory barrier from the StackTraceArray::Append since it
is not needed after that change.

* Add comment on why trimming the stack trace by keep alive is needed

I have also realized that when we need to trim, the keepAlive array is
always fully populated, so we don't need to check for cases where there
would be NULL in an entry of the array.
2024-07-08 21:52:13 +02:00
William Sanders
673a6645a4
set scope and build validation in dev when no options provided (#99199) 2024-07-08 14:36:26 -05:00
Alexander Köplinger
a008f7c04f
Fix cross-compiling CoreCLR from macOS arm64 to x64 (#104556)
It got uncovered by https://github.com/dotnet/runtime/pull/103801.

This showed up in the VMR since we use arm64 macOS build agents there.
2024-07-08 21:05:48 +02:00
dotnet-maestro[bot]
90bd757ba6
[main] Update dependencies from dotnet/roslyn (#104363)
* Update dependencies from https://github.com/dotnet/roslyn build 20240702.5

Microsoft.SourceBuild.Intermediate.roslyn , Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
 From Version 4.11.0-3.24329.1 -> To Version 4.11.0-3.24352.5

* Update dependencies from https://github.com/dotnet/roslyn build 20240702.5

Microsoft.SourceBuild.Intermediate.roslyn , Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
 From Version 4.11.0-3.24329.1 -> To Version 4.11.0-3.24352.5

* Update dependencies from https://github.com/dotnet/roslyn build 20240702.5

Microsoft.SourceBuild.Intermediate.roslyn , Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
 From Version 4.11.0-3.24329.1 -> To Version 4.11.0-3.24352.5

* Update dependencies from https://github.com/dotnet/roslyn build 20240702.5

Microsoft.SourceBuild.Intermediate.roslyn , Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
 From Version 4.11.0-3.24329.1 -> To Version 4.11.0-3.24352.5

* Update dependencies from https://github.com/dotnet/roslyn build 20240702.5

Microsoft.SourceBuild.Intermediate.roslyn , Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
 From Version 4.11.0-3.24329.1 -> To Version 4.11.0-3.24352.5

* Update dependencies from https://github.com/dotnet/roslyn build 20240705.3

Microsoft.SourceBuild.Intermediate.roslyn , Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
 From Version 4.11.0-3.24329.1 -> To Version 4.12.0-1.24355.3

* Update dependencies from https://github.com/dotnet/roslyn build 20240705.3

Microsoft.SourceBuild.Intermediate.roslyn , Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
 From Version 4.11.0-3.24329.1 -> To Version 4.12.0-1.24355.3

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2024-07-08 20:44:59 +02:00
Eirik Tsarpalis
90d4c7d41a
Improve JsonNode.DeepEquals numeric equality. (#104255)
* Attempt at improving JsonNode.DeepEquals numeric equality.

* Implement arbitrary-precision decimal equality comparison.

* Address feedback

* Add more comments.

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

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

* Address feedback

* Improve comments

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

* Trim frac trailing zeros before trimming leading zeros.

* Add handling for exponent values > Int32

---------

Co-authored-by: Stephen Toub <stoub@microsoft.com>
2024-07-08 17:57:59 +01:00
Steve Harter
670d11f4d3
Use ConcurrentDictionary to avoid threading issues (#104407) 2024-07-08 11:43:55 -05:00
Huo Yaoyuan
1c51cf0580
Delete dead AVX detection code in vm (#104544) 2024-07-08 09:06:40 -07:00
Buyaa Namnan
101c0daf5a
Remove unnecessary endianness dependent logic (#104332)
* Remove unnecessary endianness logic

* Revert back to the old more performant approach

* Write 2 values once
2024-07-08 08:23:32 -07:00
Aleksey Kliger (λgeek)
e3363265b2
[cdac] RuntimeTypeSystem contract; rename ContainsPointers -> ContainsGCPointers (#103444)
* Implement GetThreadStoreData in cDAC

* [dac] Return canonical MethodTable instead of EEClass

   Instead of storing the EEClass pointer in DacpMethodTableData, store the canonical method table instead.

   Correspondingly, update GetMethodTableForEEClass to expect a canonical method table pointer instead of an EEClass

   Also update cDAC to do likewise

* document GetMethodTableData string baseSize adjustment

* Apply suggestions from code review

Co-Authored-By: Aaron Robinson <arobins@microsoft.com>

* [vm] rename ContainsPointers flag to ContainsGCPointers

   also rename getter/setter methods in MethodTable

* code style suggestions from code review

* DAC: always set wNumVirtuals and wNumVtableSlots to 0

   This information can be retreived from the MethodTable using normal lldb/windbg primitives and doesn't need to be part of the DAC API contract

* Remove NumVirtuals and NumVtableSlots from RuntimeTypeSystem.md

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

* "untrusted" -> "non-validated"

* pull test target helpers out

   goal is to be able to use this for testing contracts that depend on some data in the heap

* Add one FreeObjectMethodTable unit test

* validate that a mock system object is a valid method table

* code review feedback and more tests:

   1. rename AttrClass data descriptor field to CorTypeAttr
   2. fixup HasComponentSize / RawGetComponentSize comments and code
   3. update "system.object" mock methodtable with more field values
   4. update "system.string" mock methodtable with more field values

* Update src/coreclr/gc/env/gcenv.object.h

   Co-authored-by: Elinor Fung <elfung@microsoft.com>

* Update src/native/managed/cdacreader/src/Contracts/Metadata_1.MethodTableFlags.cs

   Co-authored-by: Elinor Fung <elfung@microsoft.com>

* move non-validated MethodTable handling to a separate class

* clear up ComponentSize contract spec and impl

* rename Metadata -> RuntimeTypeSystem

* add validation failure test; change validation to throw InvalidOperationException

* Update src/native/managed/cdacreader/src/Contracts/RuntimeTypeSystem_1.cs

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

* Add a generic instance test

* add array instance test

---------

Co-authored-by: Elinor Fung <elfung@microsoft.com>
Co-authored-by: Aaron Robinson <arobins@microsoft.com>
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
2024-07-08 09:09:23 -04:00
Ahmet Ibrahim Aksoy
e0d8b0deeb
Refactor WinHttpHandler test to use LoopbackServer.CreateClientAndServer (#104400) 2024-07-08 14:27:43 +02:00
Omair Majid
dbe63a7d90
Handle top-level UseSystemLibs argument from the VMR (#104440)
This will be used by https://github.com/dotnet/sdk/pull/41984

It's another attempt at https://github.com/dotnet/runtime/pull/101797
2024-07-08 14:11:51 +02:00
Miha Zupan
2d9203420a
Reduce allocations in Quic/HTTP3 (#104394)
* Reduce allocations in Quic/HTTP3

* Also wait for WritesClosed when there's no content
2024-07-08 05:03:36 -07:00
Ilona Tomkowicz
26b6161c6b
[wasm] Re-try when browser's WBT fail with System.TimeoutException (#104481) 2024-07-08 14:02:48 +02:00
Pavel Savara
819826683d
[wasi] enable WASMTIME_BACKTRACE_DETAILS (#104446) 2024-07-08 12:38:24 +02:00
Ilona Tomkowicz
27d1ab0393
[browser] Add test case for maxParallelDownloads (#104476) 2024-07-08 11:55:19 +02:00
Tomas Weinfurt
e71e0f4f84
update proxy setting on registry changes (#103364)
* update proxy setting on registry changes

* udpate

* build fixes

* console

* registry

* winhttp

* invalid

* feedback

* feedback

* 'feedback'

* Apply suggestions from code review

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

* MemberNotNull

---------

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
2024-07-07 21:22:12 -07:00
xtqqczze
4e278fe17f
Use XmlResolverIsNetworkingEnabledByDefault property in AotCompilerCommon.props (#104520) 2024-07-07 09:47:43 -07:00
Huo Yaoyuan
7b712815b5
Convert Array.IsSimpleCopy and CanAssignArray type to managed (#104103)
* Revert "Push back changes around IsSimpleCopy and CanAssignArrayType"

This reverts commit 4ce4f5118c20f438c1e33a5a73d626f1180c86d5.

* Reduce use range of CorElementType

* Add test for pointer array

* Rearrange test

* NativeAot compat

* Mono compat

* Disable test on mono

* Don't lookup cast cache in QCall
2024-07-07 09:22:08 -07:00
xtqqczze
acfb91f9a9
Remove link to fixed GitHub issue (#104521) 2024-07-07 10:31:05 -04:00
Tanner Gooding
4addcaa7e3
Add some helper functions for getting the intrinsic ID to use for a given oper (#104498)
* Add some helper functions for getting the intrinsic ID to use for a given oper

* Make the Unix build happy

* Make the Arm64 build happy

* Respond to PR feedback

* Ensure we don't use EVEX unnecessarily

* Ensure zero diffs for x64
2024-07-06 17:35:46 -07:00