James Newton-King [Tue, 8 Aug 2023 09:06:26 +0000 (17:06 +0800)]
Fix host debug view not showing services before start (#89610)
Egor Bogatov [Tue, 8 Aug 2023 08:10:39 +0000 (10:10 +0200)]
Change generation for NonGC objects for debugger (#89927)
Eirik Tsarpalis [Tue, 8 Aug 2023 07:50:11 +0000 (10:50 +0300)]
Fix analyzer warning that is breaking the build (#90136)
Mike McLaughlin [Tue, 8 Aug 2023 03:12:16 +0000 (20:12 -0700)]
Serialize createdump core dump generation (#90130)
* Serialize createdump core dump generation
Only allow one thread at a time to generate a core dump.
Issue: https://github.com/dotnet/runtime/issues/82989
* Code review feedback. Move serializing code into PROCCreateCrashDump
* Code review feedback - put while (true) around poll()'s
Steve Pfister [Tue, 8 Aug 2023 03:02:08 +0000 (20:02 -0700)]
[iOS] Remove cmake build dependency for library mode (#89869)
This change removes cmake as a build dependency and instead uses clang directly when building for iOS/tvOS/Macatalyst library mode.
Will Smith [Tue, 8 Aug 2023 02:43:48 +0000 (19:43 -0700)]
[JIT] Do not force creation of a new IG if the current IG has no instructions (#89876)
* Added 78891 test
* Fix name
* Fix test
* Feedback
* 78891 test is process isolated to use the environment variables. When enabling GC in the emitter, if the current IG has no instructions, do not force a new IG.
* Remove extend flag
* Quick cleanup
* Quick cleanup
* Update Runtime_78891.csproj
* Feedback
* Fix test
* Fix test
* Reset flags
* Fix test
* Fixing test again...
* Only set the NOGCINTERRUPT flag accordingly
Aaron Robinson [Tue, 8 Aug 2023 02:00:24 +0000 (19:00 -0700)]
Replace `SetErrorMode` with `SetThreadErrorMode`. (#90122)
* Replace SetErrorMode with SetThreadErrorMode.
Replaces all possible locations.
Removed SetErrorMode from PAL.
Egor Bogatov [Tue, 8 Aug 2023 01:11:30 +0000 (03:11 +0200)]
Check IsBaselineSimdIsaSupported in LocalAddressVisitor (#90099)
Juan Hoyos [Tue, 8 Aug 2023 00:46:45 +0000 (17:46 -0700)]
Update DAC's CMakeLists to create longname pdb (#90109)
Thays Grazia [Tue, 8 Aug 2023 00:05:30 +0000 (21:05 -0300)]
[wasm][debugger] Support indexing Dictionary by string key (#90108)
* Enabling tests, they are working.
* Adding more tests.
Jackson Schuster [Tue, 8 Aug 2023 00:01:45 +0000 (19:01 -0500)]
Make [In] the default for blittable arrays that are pinned (#90054)
* Make [In] the default for blittable arrays that are pinned
Miha Zupan [Mon, 7 Aug 2023 23:53:21 +0000 (01:53 +0200)]
Simplify invalid hostname check in DomainNameHelper (#90088)
Ankit Jain [Mon, 7 Aug 2023 23:24:51 +0000 (19:24 -0400)]
[wasm] perf: Use node 16.x, and update v8 paths to track that (#90113)
Anton Firszov [Mon, 7 Aug 2023 22:39:59 +0000 (00:39 +0200)]
add units to http metrics (#90020)
Wasiim Hosenbocus [Mon, 7 Aug 2023 22:27:30 +0000 (18:27 -0400)]
Inconsistent DebuggerDisplay formatting - Fix space, equal for name/value and Indirect Value (#89370)
* Fix space, equal for name/value in DebuggerDisplay
Task 1 - Replace colons with equal, added spaces in between key/value
* Fix failing test
* Update src/libraries/System.Speech/src/Result/SemanticValue.cs
Co-authored-by: James Newton-King <james@newtonking.com>
* Update src/libraries/System.Threading/src/System/Threading/Barrier.cs
Co-authored-by: James Newton-King <james@newtonking.com>
* Update src/libraries/System.Threading/src/System/Threading/CountdownEvent.cs
Co-authored-by: James Newton-King <james@newtonking.com>
* Changes to indirect value in Debugger
Changing string in indirect value; either part of a variable or a method
* Revert Stopwatch debug string
---------
Co-authored-by: James Newton-King <james@newtonking.com>
Jakob Botsch Nielsen [Mon, 7 Aug 2023 22:13:53 +0000 (00:13 +0200)]
SPMI: Fix build (#90118)
Jackson Schuster [Mon, 7 Aug 2023 21:58:17 +0000 (16:58 -0500)]
GetUnmanagedValues[Source|Destination] by marshal direction, not stub direction (#90057)
Jakob Botsch Nielsen [Mon, 7 Aug 2023 21:02:32 +0000 (23:02 +0200)]
SPMI: Throw distinguished exception for recorded exceptions (#89978)
Switch back to this scheme, since only looking for the managed exception
code does not handle crossgen2/ilc (they throw exceptions across the
JIT-EE interface as normal C++ exceptions).
I've verified that the JIT does not look closely at the exception codes
thrown in any of the places it does EH, which comes down to
`impJitErrorTrap` and `runWithErrorTrap`. So changing the exception code
should not result in any behavior differences.
Ilona Tomkowicz [Mon, 7 Aug 2023 20:51:42 +0000 (22:51 +0200)]
[browser][non-icu] `HybridGlobalization` calendar data (#89255)
* Calendar WIP.
* Genitive months.
* Short pattern.
* NativeCalendarName does not exist on WebAPI - use EnglishCalendarName.
* Fix failures in Locales caused by calendars data removal.
* Fix to previous commit.
* Whitespace.
* Implemented Eras.
* Populate NativeName with EnglishName.
* Fix tests.
* Typos + comments removal + block failing test.
* AM/PM designators are not in ICU anymore.
* ShortTimePattern is ready.
* Fix some failing tests.
* LongTimePatterns is ready.
* Ask about all culture info from JS at once.
* Fix remaining tests.
* Calendar Globalization tests fixed.
* Adding test files to projects.
* Build fix.
* Fix the fix.
* .
* Fix tests.
* Load locale info on request + fix Browser scenario tests.
* Fix test on v8.
* Forgotten clean-up.
* Small cleanup in ts.
* V8 11 is behaves more like browser.
* Fixed skipped failing tests.
* Syntax
* V8 returns the same as Browser.
* This API is not affected, no need to test. + Add documentation.
* Revert unintentional change.
* Feedback.
* @radical's feedback + fix after removing unnecessary set.
* Fix.
* Feedback.
* Fix tests.
Benjamin Petit [Mon, 7 Aug 2023 19:55:25 +0000 (21:55 +0200)]
Improve performance in DI (#89964)
Maoni Stephens [Mon, 7 Aug 2023 19:19:55 +0000 (12:19 -0700)]
make sure to only enable things meant for DATAS when it's on (#90008)
also reverted a couple of things that were supposed to be temporary
Eric StJohn [Mon, 7 Aug 2023 19:02:15 +0000 (12:02 -0700)]
Updating JSON Package Readme (#90102)
* Updating Json package readme
* Update src/libraries/System.Text.Json/src/PACKAGE.md
Co-authored-by: Eirik Tsarpalis <eirik.tsarpalis@gmail.com>
* Apply suggestions from code review
Co-authored-by: Eirik Tsarpalis <eirik.tsarpalis@gmail.com>
* Remove sharplab comment
* Update PACKAGE.md
* Update PACKAGE.md
* Remove TODO
---------
Co-authored-by: Eirik Tsarpalis <eirik.tsarpalis@gmail.com>
Mitchell Hwang [Mon, 7 Aug 2023 18:38:26 +0000 (14:38 -0400)]
[libs][Android] Filter out backwards timezones only with valid tzlookup file (#89933)
* [libs][Android] Filter out backwards timezones only with valid tzlookup file
* Address feedback
* [libs][Android] Skip NoBackwardTimeZones on Android API under 26
Tarek Mahmoud Sayed [Mon, 7 Aug 2023 18:36:16 +0000 (11:36 -0700)]
Fix referencing options source gen project in tests (#90104)
Thays Grazia [Mon, 7 Aug 2023 18:14:41 +0000 (15:14 -0300)]
[wasm][debugger] Enable Exception tests. (#90095)
* Enable Exception tests.
* Fix ExceptionTests.
Eric Mutta [Mon, 7 Aug 2023 18:12:33 +0000 (21:12 +0300)]
Implement RandomAccess.FlushToDisk() (#89100)
Fix #86836
Co-authored-by: Dan Moseley <danmose@microsoft.com>
Jiri Cincura ↹ [Mon, 7 Aug 2023 17:11:59 +0000 (19:11 +0200)]
Put crossgen perf into "Ubuntu.1804.Amd64.Tiger.Perf". (#90091)
* Because crossgen need LTTng and 22.04 is not compatible.
* Windows using same queue.
Huo Yaoyuan [Mon, 7 Aug 2023 17:08:23 +0000 (01:08 +0800)]
Convert CMakeSettings.json to CMakePresets.json for coreclr (#89513)
dotnet-maestro[bot] [Mon, 7 Aug 2023 16:57:11 +0000 (09:57 -0700)]
[main] Update dependencies from dotnet/roslyn-analyzers (#89630)
* Update dependencies from https://github.com/dotnet/roslyn-analyzers build
20230727.4
---------
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Larry Ewing <lewing@microsoft.com>
Co-authored-by: Ankit Jain <radical@gmail.com>
Co-authored-by: Buyaa Namnan <bunamnan@microsoft.com>
Jackson Schuster [Mon, 7 Aug 2023 16:22:10 +0000 (11:22 -0500)]
Upgrade DNNE to build incrementally (#89594)
* Upgrade DNNE dependency to 2.0.3 to support incremental builds properly
James Newton-King [Mon, 7 Aug 2023 16:08:11 +0000 (00:08 +0800)]
Integrate HttpClientFactory and metrics (#86888)
* Integrate HttpClientFactory and metrics
* React to rebase
* Fix tests
* PR feedback
* Clean up
* Fix tests
Mike Voorhees [Mon, 7 Aug 2023 16:06:20 +0000 (12:06 -0400)]
Improve duplicate assembly resolving (#89958)
`GetAssembly` opens a new assembly and stream every time it is called and keeps them open for the duration of the run.
`RootAssemblyFile.LoadAssemblyFile` sort of handled an already loaded assembly, but it left a new `AssemblyDefinition` instance and `MemoryStream` open every time it happened.
`CacheAssembly` was easy to make a mistake with. Forget to do the delicate dance that `RootAssemblyFile.LoadAssemblyFile` goes to already loaded assemblies and you can easily overwrite an already cached assembly. Guard against mistakes rather than quitely overwriting the assembly that was already cached.
Why force callers of `CacheAssembly` to check if something is cached already? Handle that case internally.
With these changes the logic in `RootAssemblyFile.LoadAssemblyFile` is simplified and an extra copy of the assembly is no longer left open in the scenario where an assembly is specified multiple times.
Jiri Cincura ↹ [Mon, 7 Aug 2023 15:02:30 +0000 (17:02 +0200)]
Fix wasm perf setup (#90093)
* Fixes bash expansion of ${this.version()}.
Eirik Tsarpalis [Mon, 7 Aug 2023 10:57:35 +0000 (13:57 +0300)]
Add JsonSerializerOptions.MakeReadOnly(bool) overload. (#90013)
DoctorKrolic [Mon, 7 Aug 2023 10:52:08 +0000 (13:52 +0300)]
Add `JsonNode.ParseAsync` public API (#90006)
* Add `JsonNode.ParseAsync` public API
* Regenerate ref assemblies
* Change implementation to use unrented document
Mike Voorhees [Mon, 7 Aug 2023 07:42:42 +0000 (03:42 -0400)]
Improve test failure messages (#89967)
Elinor Fung [Mon, 7 Aug 2023 05:06:59 +0000 (22:06 -0700)]
Check for <framework_name>.deps.json when enumerating framework paths (#90035)
This adds a check for the framework's .deps.json instead of just the existence of the directory. To avoid extra file checks in the normal/happy path (where all framework version folder are valid), when resolving, it only does the check after resolving the best version match. And if that version directory isn't valid, it tries resolving again without it.
Zoltan Varga [Mon, 7 Aug 2023 00:18:07 +0000 (20:18 -0400)]
[mono][aot] Use g_strcasecmp () to check whenever aot input assemblies are loaded from the correct location. (#90065)
Fixes https://github.com/dotnet/runtime/issues/90030.
Weihan Li [Sun, 6 Aug 2023 22:07:22 +0000 (06:07 +0800)]
TimeProvider GetLocalNow enhancement (#90066)
Co-authored-by: Tarek Mahmoud Sayed <tarekms@microsoft.com>
Tanner Gooding [Sun, 6 Aug 2023 21:38:50 +0000 (14:38 -0700)]
Fix an assert and clean up a codegen issue (#90067)
Jakob Botsch Nielsen [Sun, 6 Aug 2023 21:09:54 +0000 (23:09 +0200)]
SPMI: Capture EE API exceptions in getNewHelper, and simplify the API shape a bit (#89852)
We have various tests where getNewHelper throws an EE exception, so
capture these and rethrow them as part of SPMI.
It would be nice with a more general approach to this (conceptually all
EE APIs could throw exceptions), but this at least handles it for our
own libraries.
Contributes to #47540 and #47546.
Also clean up the API shape of getNewHelper slightly, since this requires
a JIT-EE GUID change anyway; the only used member of the token is the class,
so pass a class handle instead. The second parameter was also removed.
Rik Steenkamp [Sun, 6 Aug 2023 17:07:56 +0000 (19:07 +0200)]
Fix CompositeChangeToken & CancellationTokenSource deadlock (#90078)
Jan Kotas [Sun, 6 Aug 2023 15:05:28 +0000 (08:05 -0700)]
Add note about creating arrays using newobj (#90070)
Contributes to #90038
Jan Kotas [Sun, 6 Aug 2023 15:04:35 +0000 (08:04 -0700)]
Rename area-ILVerification to area-Tools-ILVerification (#89698)
* Rename area-ILVerification to area-Tools-ILVerification
Fixes #89693
* Update src/coreclr/tools/ILVerify/README.md
Co-authored-by: Kevin Jones <vcsjones@github.com>
VincentWu [Sun, 6 Aug 2023 11:29:39 +0000 (21:29 +1000)]
[RISCV] Store 2*XLEN ValueType half in Reg and half on stack when only A7 available (#90072)
* update makefile
* add format file
* use mul inst instead of emulate mul
process stack size larger than imm32
* emit get_throw_trampoline
* mono_riscv_throw_exception
* fix error of stack trace
* test case
* output inst idiv
fix mono_riscv_emit_branch_exc
* implement mono_arch_get_throw_corlib_exception
* fix rdiv
* move ArgOnStack arg at prologue
lowering OP_XOR_IMM&OP_IXOR_IMM
* fix emit_imm
* test imm
* update test case
* use swich to process return value
* fix unwind inst def_cfa
* fmt
* lowering OP_LMUL_IMM
* make file for webapiclient
* lowerng&output
- OP_FCONV_TO_I8
- OP_LXOR_IMM
- OP_ISHR
* lowerng&output
- relaxed_nop
- float_cle
- long_shl
- OP_ICONV_TO_R_UN
- OP_LCONV_TO_I2
- OP_FBGE
- OP_IDIV_IMM
* fix this_pointer in vcall with valuetype returned
- The ABI specify that If the reture value would have been passed by reference, the caller will allocates memory for the return value, and passes the address as an implicit first parameter.
- The Mono will treat first parameter as this_pointer reference to `mono_vcall_trampoline()`. They are conflict a bit.
* process param type: ArgVtypeOnStack & ArgVtypeByRef
* lowering OP_LCONV_TO_I2
* OP_IREM_UN_IMM
OP_ATOMIC_LOAD_U1
OP_IREM_UN_IMM
* fix output of OP_IREM & OP_IREM_UN
OP_IREM -> riscv_remw
OP_IREM_UN -> riscv_remuw
* use `lw` to load u4 value on the stack
https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/master/riscv-cc.adoc#integer-calling-convention
* optmise lw+zext -> lwu
* fix patch_full
use mono_riscv_emit_loadu to emit lwu
fix rem
* fix `mono_arch_build_imt_trampoline` when `item->is_equals==false`
* FIXME: reg got crashed wetween `this` and return ref
* fix `mono_arch_build_imt_trampoline`
* float_sub & float_div
* OP_FNEG,OP_LADD_OVF,OP_FBEQ, OP_COND_EXC_OV
* fix mono_arch_emit_outarg_vt
* process ArgVtypeOnStack in emit_move_args
* add sample status
* fix valid imm check of OP_L.*_IMM
* OP_LCONV_TO_R_UN
* update
* fix the param order stored o stack
* fix the param size of MONO_TYPE_I & MONO_TYPE_U when RV64
* add test task for makefile
* update .clang-format
* fmt
* fix merge
* fix
* set cfa for callee saved regs
* fix the position of param passed by stack
* toll-calculator
* fix
* OP_FADD & OP_LCONV_TO_OVF_I
* ArgOnStackR8
* OP_FBLE
* check need needs_emulation for D&F
* mixins-with-interfaces
* OP_LXOR_IMM
* get_delegate_virtual_invoke_impl
* fix OP_ADDCC
* fix get_delegate_virtual_invoke_impl
* endfilter
* update
* update test file
* test ArgVtypeByRef
* fix VT arg of ArgVtypeByRef
* fix return value of valueType
* OP_FBGE & OP_FBLE for OP_RCOMPARE
* update
* lowering OP_FCONV_TO_I2
* lowering OP_RCONV_TO_I2
* OP_ATOMIC_ADD_I8
* OP_COND_EXC_IGT and OP_LCONV_TO_OVF_I4
* update
* fix add_valuetype
* update
* process param types of ArgVtypeInMixed
* update
* atomic_store_i8
* update
* fix divuw
* update
* rcall
* update testcase
* OP_FBNE_UN
* OP_FCONV_TO_I8
* update
* update test
* update
* clean
* remove changes
* fmt
* clean
Adeel Mujahid [Sun, 6 Aug 2023 11:28:08 +0000 (14:28 +0300)]
Fix mono's Wsingle-bit-bitfield-constant-conversion (#90068)
* Fix mono's Wsingle-bit-bitfield-constant-conversion
* Address CR feedback
Jan Vorlicek [Sun, 6 Aug 2023 10:07:55 +0000 (12:07 +0200)]
Recover some lost EH performance on Unix amd64 (#90033)
* Improve EH performance on Unix amd64
Few months ago, a change to enable AVX512 on Unix was merged in.
That change has enlarged the CONTEXT structure significantly and
it was found that it has caused 6..17% regressions in exception handling
microbenchmarks.
This change gets some of the lost performance back by adding custom
copy constructor and assignment operator to the CONTEXT structure
and preventing copying of the AVX / AVX512 stuff if the source
context doesn't have it. I have observed 3..9% gain on my machine.
Close #84308
* Fix gcc build and size for non-xstate case
* Fix yet another gcc break
* Fix build break
* Revert the gcc fixes and disable the warning
The zeroing of CONTEXT structure is used at too many places and
it is valid, so rather than trying to modify all the places by
using placement new, just disable the warning for gcc.
Katelyn Gadd [Sat, 5 Aug 2023 21:09:13 +0000 (14:09 -0700)]
[wasm] Fix startup without emcc -g option (#89872)
When compiling without the emcc -g switch, the "env" module becomes "a", which caused startup to break.
Co-authored-by: Pavel Savara <pavelsavara@microsoft.com>
Vladimir Sadov [Sat, 5 Aug 2023 14:57:33 +0000 (07:57 -0700)]
Do not suppress inlining of random threadstatics (#90055)
Aman Khalid [Sat, 5 Aug 2023 06:15:42 +0000 (23:15 -0700)]
Re-enable some JIT tests (#89739)
* JIT/opt/ObjectStackAllocation/ObjectStackAllocationTests/ for Crossgen
* JIT/Regression/JitBlue/Runtime_34170/Runtime_34170/ for Crossgen ARM32
Andrew Au [Fri, 4 Aug 2023 22:54:06 +0000 (15:54 -0700)]
Move the background marking of UOH objects inside more space lock (#86802)
Andrew Au [Fri, 4 Aug 2023 22:53:05 +0000 (15:53 -0700)]
Make sure all new GCDacVars are reported only for v2 (#90043)
Tom McDonald [Fri, 4 Aug 2023 22:42:51 +0000 (18:42 -0400)]
Delete dangling thread session states (#89955)
* Delete dangling thread session states
Co-Authored-By: Johan Lorensson <lateralusx.github@gmail.com>
* Update ep-session.c
---------
Co-authored-by: David Mason <davmason@microsoft.com>
Co-authored-by: Johan Lorensson <lateralusx.github@gmail.com>
Tarek Mahmoud Sayed [Fri, 4 Aug 2023 22:27:20 +0000 (15:27 -0700)]
Introducing TimeZoneInfo.GetSystemTimeZones(bool skipSorting) (#89985)
Anton Firszov [Fri, 4 Aug 2023 22:03:01 +0000 (00:03 +0200)]
Improve reliability of HttpRequestError.NameResolutionError (#89948)
* map TryAgain to NameResolutionError
* Quic: always resolve DNS in managed code
* oops
* ignore ScopId when comparing ipv6 endpoints in tests
* do not reuse QuicAddr
* Skip NameResolutionError() test on Windows7
Miha Zupan [Fri, 4 Aug 2023 21:52:04 +0000 (23:52 +0200)]
Fix HttpListener path parsing for trailing % (#90028)
Jakob Botsch Nielsen [Fri, 4 Aug 2023 21:42:50 +0000 (23:42 +0200)]
SPMI: Restore CORINFO_CALL_INFO stub lookup correctly (#90016)
SPMI was not restoring the runtimeLookupFlags/runtimeLookupArgs of the
embedded CORINFO_LOOKUP_KIND, leaving them set to garbage. This would
cause misses when replaying getReadyToRunHelper where those members are
used as the key.
Mark Plesko [Fri, 4 Aug 2023 21:32:52 +0000 (14:32 -0700)]
Revert "Disable MonitoringIsEnabled with issue 75302 (#75306)" (#89966)
Appears to have been fixed by #74959
Fixes #75302
This reverts commit
a174882750130433b03afcf8ac30318c2fbc527f
Ankit Jain [Fri, 4 Aug 2023 21:21:07 +0000 (17:21 -0400)]
[wasm] CI: Don't trigger non-wasm runtime tests when wasm-test-runner (#89957)
.. changes. There is a separate subset `wasm_runtimetests` for
triggering wasm runtime tests. So, `runtimetests` subset used by
non-wasm jobs should ignore wasm-test-runner changes.
Ilona Tomkowicz [Fri, 4 Aug 2023 21:18:47 +0000 (23:18 +0200)]
[wasm][wbt] Split WBT classes to speed up CI job execution. (#89926)
IcuSharding and BuildPublish on Blazor always take the longest. I split them more or less into equal test count per class (~20 in icu, ~10 in build publish).
This PR changes the times on wbt linux CI when we split into BuldPublish and BuildPublishDefaultTemplate:
Build time: ~1,5min -> ~1,5min
Run time: ~53min -> ~45min
Original time values taken from build [
20230802.154](https://dev.azure.com/dnceng-public/public/_build/results?buildId=361726) with 495 301 tests.
It's fine but the BuildPublish is the only test that keeps running till the end, around 30th minute all the other wbt are done already, so trying the 3-file split approach:
- BuildPublishTestsFromWasmTemplate,
- BuildPublishTestsFromBlazorTemplate (the same test set as BuildPublishDefaultTemplate, just renamed to better describe the contents) and
- BuildPublish,
each <10 tests.
Build time: ~1,5min -> ~1,5min
Run time: ~53min -> 53 min - it seems 3 files split did not work as expected, @radical, it might be an outliner ~~but in this situation it does not look worthy to merge the changes~~.
[build
20230804.3](https://dev.azure.com/dnceng-public/public/_build/results?buildId=363212&view=logs&jobId=
9c08ee28-c5cd-54b8-6ae3-
9fcb797291cc&j=
0b2e5ab0-105d-5e21-8497-
262338385634)
Okay, on the re-run it's already fine, [35 min as expected](https://dev.azure.com/dnceng-public/public/_build/results?buildId=363553&view=logs&jobId=
10714551-d8dc-5291-8d0a-
07fdfc20529c&j=
1fa93050-f528-55d3-a351-
f8bf9ce5adbf&t=
a9f1a437-3b59-5900-1137-
ec6cae9a530c).
On windows it changed ~60min -> 42 min.
Elinor Fung [Fri, 4 Aug 2023 18:48:56 +0000 (11:48 -0700)]
Use the same tracked contexts for event pipe and ETW in nativeaot (#89902)
- Make tracking for event pipe and ETW enabled/status use the same contexts
- Switch to using the .NET ETW provider GUIDs instead of .NET Native
- Implement ep_rt_providers_validate_all_disabled (uses the contexts)
Stephen Toub [Fri, 4 Aug 2023 18:17:04 +0000 (14:17 -0400)]
Avoid extra console write for clearing on Unix (#89026)
* Avoid extra console write for clearing on Unix
* Fix ordering from original PR
* Add test that the data we defined is expected
Koundinya Veluri [Fri, 4 Aug 2023 17:53:11 +0000 (10:53 -0700)]
Update the event used for the tiered compilation background thread (#89972)
Updated the event to use `ClrEventStatic` instead of `ClrEvent`, as the former is intended for global variables and does not have a destructor. There may be a possibility for races with the destructor in shutdown scenarios.
Fixes https://github.com/dotnet/runtime/issues/89749
Tomas Weinfurt [Fri, 4 Aug 2023 17:38:29 +0000 (10:38 -0700)]
use approved SocketAddress API instead of direct internal access (#89841)
* use approved SocketAddress API instead of internal access
* feedback
* cleanup
Egor Bogatov [Fri, 4 Aug 2023 16:09:20 +0000 (18:09 +0200)]
Fix PermuteVar32x16x2 optimization (#90005)
Steve Pfister [Fri, 4 Aug 2023 16:01:04 +0000 (09:01 -0700)]
[workloads] Use native arm64 aot compilers for iOS, tvOS, maccatalyst, and android where possible (#89961)
As a result of https://github.com/dotnet/runtime/pull/89027 and https://github.com/dotnet/runtime/pull/74715, we can now build native arm64 cross compilers on linux and macos. This change adds the right references to the workload manifest so that they can be installed with maui and the mobile SDK's.
win-arm64 is the only arm64 platform left and that is a work in progress.
Contributes to https://github.com/dotnet/runtime/issues/82495
Fixes https://github.com/dotnet/maui/issues/4476
Thays Grazia [Fri, 4 Aug 2023 15:01:44 +0000 (12:01 -0300)]
Rework on 88919 as suggested by @vitek-karas (#89960)
Pavel Savara [Fri, 4 Aug 2023 14:44:27 +0000 (16:44 +0200)]
[browser] doc feedback (#89951)
Steve Harter [Fri, 4 Aug 2023 14:28:06 +0000 (09:28 -0500)]
Add test for TypeIdentifierAttribute (#89882)
Filip Navara [Fri, 4 Aug 2023 13:41:50 +0000 (15:41 +0200)]
Match IsUnwindable and GetReturnAddressHijackInfo conditions (#89998)
Jan Kotas [Fri, 4 Aug 2023 13:15:47 +0000 (06:15 -0700)]
Revert "For perf, use the new ConstructorInvoker APIs for ActivatorUtilities.CreateFactory (#89573)" (#89992)
This reverts commit
c41696644436d6ba8d7bc6f06b20273d99d8dc70.
Milos Kotlar [Fri, 4 Aug 2023 13:11:20 +0000 (15:11 +0200)]
[mono][ios] Disable failing eventpipe gcdump test on apple mobile platforms (#90002)
* Disable failing eventpipe test on apple mobile platforms
* Add tracking issue
Jan Kotas [Fri, 4 Aug 2023 12:36:56 +0000 (05:36 -0700)]
Light up for newer arm64 hardware capabilities (#89991)
Fixes #89937
Milos Kotlar [Fri, 4 Aug 2023 11:44:05 +0000 (13:44 +0200)]
[nativeaot][ios] Improve Native AOT test coverage on apple mobile platforms (#89301)
* Enable TestLinqExpressions test
* Test maccatalyst job on Native AOT
* Test other smoke runtime tests on Native AOT
* Add tracking issue for disabled tests
Viktor Hofer [Fri, 4 Aug 2023 10:42:53 +0000 (12:42 +0200)]
Move Microsoft.NET.WebAssembly.WebCil into tasks (#89999)
Fixes https://github.com/dotnet/runtime/issues/89987
Repo task projects need to reside under src/tasks as the
TasksConfiguration property applies to these projects. By having a
referenced task project outside of src/tasks, it's easy to get
binclashes because of a project being built for different configurations
(Debug vs Release).
Drew Scoggins [Fri, 4 Aug 2023 09:35:11 +0000 (02:35 -0700)]
Roll Ubuntu 18.04 queue to 22.04 (#89995)
Eric StJohn [Fri, 4 Aug 2023 06:49:30 +0000 (23:49 -0700)]
Exclude NETFramework targets file during source build (#89974)
Jan Kotas [Fri, 4 Aug 2023 05:50:54 +0000 (22:50 -0700)]
Make ImplementsInterfaceOfSelf more precise for canonical subtypes (#89969)
Fixes #89918
Jackson Schuster [Fri, 4 Aug 2023 04:08:23 +0000 (21:08 -0700)]
Make marshaller types specific to each scenario (#89894)
Make the marshaller types for the test interfaces only include the necessary methods for each scenario to catch any generated code that uses a method from another scenario
Larry Ewing [Fri, 4 Aug 2023 03:58:04 +0000 (22:58 -0500)]
Try Vector128 before Vector (#89797)
Michal Strehovský [Fri, 4 Aug 2023 03:35:57 +0000 (12:35 +0900)]
Fix trimming issue in the cpuid test (#89989)
Jackson Schuster [Fri, 4 Aug 2023 03:21:24 +0000 (20:21 -0700)]
Add diagnostic when the size of an array that is marshalled to the callee is an 'out' parameter. (#89827)
Jackson Schuster [Fri, 4 Aug 2023 03:18:35 +0000 (20:18 -0700)]
Move ThrowForHR to start of NotifyForSuccessFulInvoke (#89970)
Michal Strehovský [Fri, 4 Aug 2023 03:13:21 +0000 (12:13 +0900)]
Don't generate symbols if user doesn't want them (#89840)
This has two changes:
* Stop looking at `DebugSymbols` property. It doesn't look like the SDK actually looks at this (anymore?) either. Setting this to false still produces managed symbols. The only thing that works is setting `DebugType`.
* Don't generate DBG file if debugging symbols are not generated. The user expectation when debugging symbols are disabled is that they don't get the extra file on disk. The DBG file would still have debug information for the native runtime. We may or may not run objcopy to strip symbols.
I considered also running objcopy when StripSymbols is set to false but DebugType is set to none like we discussed in #88780 but maybe that goes too far - I'd expect users would only set StripSymbols to a non-default value in case they e.g. don't want to install objcopy and we'd need yet another property to say "no really don't run objcopy". So I made this orthogonal to that.
Miha Zupan [Fri, 4 Aug 2023 02:22:50 +0000 (04:22 +0200)]
Prefer vectorized ProbabilisticMap over Latin1CharSearchValues (#89981)
Anton Firszov [Thu, 3 Aug 2023 23:36:41 +0000 (01:36 +0200)]
forward innerException's error code to retryable HttpRequestException (#89963)
If we are doing a retry because of a protocol error, or some other HttpIOException, we should forward the error code to the retryable HttpRequestException
Anton Firszov [Thu, 3 Aug 2023 23:33:07 +0000 (01:33 +0200)]
[HTTP Metrics] Shorter version tags (#89959)
Addressing https://github.com/dotnet/runtime/pull/89809#discussion_r1283541867
Ankit Jain [Thu, 3 Aug 2023 22:49:59 +0000 (18:49 -0400)]
[wasm] WBT: Use project ids that are safe for use as identifiers (#89945)
* [wasm] WBT: Use project ids that are safe for use as identifiers
For every test project, a random id is used which is
`Path.GetRandomFileName()`. In some cases this `id` gets used in a
generated C/C# source file, and that can cause failures.
For example the following fails with:
```
blz_checkfingerprinting_Release_zqkzgkui.ref/Program.cs(3,48): error CS1001: Identifier expected [/root/helix/work/workitem/e/wbt/blz_checkfingerprinting_Release_zqkzgkui.ref/blz_checkfingerprinting_Release_zqkzgkui.ref.csproj]
blz_checkfingerprinting_Release_zqkzgkui.ref/Program.cs(3,48): error CS1002: ; expected [/root/helix/work/workitem/e/wbt/blz_checkfingerprinting_Release_zqkzgkui.ref/blz_checkfingerprinting_Release_zqkzgkui.ref.csproj]
blz_checkfingerprinting_Release_zqkzgkui.ref/Program.cs(3,51): error CS1031: Type expected [/root/helix/work/workitem/e/wbt/blz_checkfingerprinting_Release_zqkzgkui.ref/blz_checkfingerprinting_Release_zqkzgkui.ref.csproj]
```
because the id, `blz_checkfingerprinting_Release_zqkzgkui.ref`, was used
as a namespace (line 3).
```
using Microsoft.AspNetCore.Components.Web;
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
using blz_checkfingerprinting_Release_zqkzgkui.ref;
```
Fix up the generated random ids to make them safer. The code is taken
from `WasmAppBuilder/ManagedToNativeGenerator.cs`.
Fixes https://github.com/dotnet/runtime/issues/86533 .
* Apply the same for wasi
Ankit Jain [Thu, 3 Aug 2023 22:49:19 +0000 (18:49 -0400)]
[wasm] Remove hardcoded references to `net8.0` from WasmApp*targets (#89699)
Look for `System.Runtime.dll` to find the runtime pack directory with the assemblies, so we don't need to figure out the tfm for the path.
- Cannot use `System.Private.CoreLib.dll` because that is in `native/` instead of `lib/net8.0`
- Cannot use `RuntimePackAsset` because in many places that item isn't available.
- AOT on helix where we run only the wasm targets on the proxy project.
- Runtime tests which currently dump all the assemblies, and other bits into a single directory, not following the directory structure of a runtime pack. This also means the `RuntimePackAsset` cannot easily be synthesized.
With lots of feedback from @viktorhofer
Fixes https://github.com/dotnet/runtime/issues/79109 .
Andrew Au [Thu, 3 Aug 2023 22:39:57 +0000 (15:39 -0700)]
Dynamic events (#89371)
Sven Boemer [Thu, 3 Aug 2023 22:20:16 +0000 (15:20 -0700)]
Fix build race condition in ILLink.Tasks (#89949)
Avoid copying props/targets to the same output
location for different TFMs. Instead copy them to
the build output in a TFM-specific directory, and
import the targets from that directory when needed.
Manish Godse [Thu, 3 Aug 2023 21:56:33 +0000 (14:56 -0700)]
Remove Runtime composite package from being built. (#89946)
* Remove Runtime composite package from being built.
* delete now unused projects.
Hamish Arblaster [Thu, 3 Aug 2023 21:44:07 +0000 (07:44 +1000)]
Fix `LocalBuilder.IsPinned` always returning `false` on CoreCLR runtime (#89411)
Huo Yaoyuan [Thu, 3 Aug 2023 21:28:25 +0000 (05:28 +0800)]
Hide GetTypeInfo
Michal Strehovský [Thu, 3 Aug 2023 21:19:25 +0000 (06:19 +0900)]
Split off system libraries into a separate ItemGroup (#89916)
Should help with https://github.com/dotnet/runtime/pull/88294#issuecomment-
1663268829.
Jackson Schuster [Thu, 3 Aug 2023 20:19:56 +0000 (13:19 -0700)]
Expect ThrowForHR to throw Exception on nativeAOT (#89939)
Alexander Köplinger [Thu, 3 Aug 2023 19:35:59 +0000 (21:35 +0200)]
Disable objc_msgSend stubs in clang (#89932)
Applies the same fix as https://github.com/xamarin/xamarin-macios/pull/16231.
We recently started seeing the same issue in our runtime builds, see https://github.com/dotnet/runtime/issues/89925. This is because the AzDO build machines use Xcode 14 now but the Helix machines are still using Xcode 13 so linking an Xcode-14-built static library fails.
This happens in e.g. libSystem.Native.a or libSystem.Globalization.Native.a (the two libraries where we're using Objective-C).
Fixes https://github.com/dotnet/runtime/issues/89925
Jeremy Kuhne [Thu, 3 Aug 2023 19:22:53 +0000 (12:22 -0700)]
Pass through ComWrappers based objects to COM type descriptor (#89887)
WinForms hosts the the COM type descriptor. It has been updated to work with ComWrappers based objects- adding the check for them in TypeDescriptor.
There are hard dependencies on Windows in the current implementation. We can potentially update to conditionalize these. https://github.com/dotnet/winforms/issues/9291 tracks.
There is no automated test as it would require adding a dependency upstream to WinForms.
Anton Firszov [Thu, 3 Aug 2023 19:02:33 +0000 (21:02 +0200)]
Adjust DNS metrics (#89813)
Adjust DNS metrics according to https://github.com/lmolkova/semantic-conventions/blob/dotnet8-metrics/docs/dotnet/dotnet-dns-metrics.md
Jeremy Koritzinsky [Thu, 3 Aug 2023 18:50:08 +0000 (11:50 -0700)]
Add the interop tags to the "add to the AppModel project" automation (#89221)