1. 03 9月, 2023 1 次提交
  2. 02 9月, 2023 16 次提交
    • D
      Update dependencies from... · d5c03add
      dotnet-maestro[bot] 提交于
      Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build 20230901.6
      
      optimization.linux-arm64.MIBC.Runtime , optimization.linux-x64.MIBC.Runtime , optimization.windows_nt-arm64.MIBC.Runtime , optimization.windows_nt-x64.MIBC.Runtime , optimization.windows_nt-x86.MIBC.Runtime , optimization.PGO.CoreCLR
       From Version 1.0.0-prerelease.23431.4 -> To Version 1.0.0-prerelease.23451.6
      d5c03add
    • D
      Update dependencies from... · c1ba5c50
      dotnet-maestro[bot] 提交于
      Update dependencies from https://github.com/dotnet/source-build-reference-packages build 20230901.1 (#91493)
      
      Microsoft.SourceBuild.Intermediate.source-build-reference-packages
       From Version 8.0.0-alpha.1.23424.1 -> To Version 8.0.0-alpha.1.23451.1
      Co-authored-by: Ndotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
      c1ba5c50
    • D
      [main] Update dependencies from dnceng/internal/dotnet-optimization (#91203) · b798ea33
      dotnet-maestro[bot] 提交于
      * Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build 20230827.2
      
      optimization.linux-arm64.MIBC.Runtime , optimization.linux-x64.MIBC.Runtime , optimization.windows_nt-arm64.MIBC.Runtime , optimization.windows_nt-x64.MIBC.Runtime , optimization.windows_nt-x86.MIBC.Runtime , optimization.PGO.CoreCLR
       From Version 1.0.0-prerelease.23426.6 -> To Version 1.0.0-prerelease.23427.2
      
      * Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build 20230829.4
      
      optimization.linux-arm64.MIBC.Runtime , optimization.linux-x64.MIBC.Runtime , optimization.windows_nt-arm64.MIBC.Runtime , optimization.windows_nt-x64.MIBC.Runtime , optimization.windows_nt-x86.MIBC.Runtime , optimization.PGO.CoreCLR
       From Version 1.0.0-prerelease.23426.6 -> To Version 1.0.0-prerelease.23429.4
      
      * Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build 20230830.6
      
      optimization.linux-arm64.MIBC.Runtime , optimization.linux-x64.MIBC.Runtime , optimization.windows_nt-arm64.MIBC.Runtime , optimization.windows_nt-x64.MIBC.Runtime , optimization.windows_nt-x86.MIBC.Runtime , optimization.PGO.CoreCLR
       From Version 1.0.0-prerelease.23426.6 -> To Version 1.0.0-prerelease.23430.6
      
      * Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build 20230831.4
      
      optimization.linux-arm64.MIBC.Runtime , optimization.linux-x64.MIBC.Runtime , optimization.windows_nt-arm64.MIBC.Runtime , optimization.windows_nt-x64.MIBC.Runtime , optimization.windows_nt-x86.MIBC.Runtime , optimization.PGO.CoreCLR
       From Version 1.0.0-prerelease.23426.6 -> To Version 1.0.0-prerelease.23431.4
      
      ---------
      Co-authored-by: Ndotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
      b798ea33
    • A
      Fix usage of load library (#91483) · ba041aa0
      Aaron Robinson 提交于
      * Use LoadLibraryExW on Windows.
      ba041aa0
    • D
      [main] Update dependencies from dotnet/arcade dotnet/xharness dotnet/emsdk dotnet/sdk (#91323) · c418a28c
      dotnet-maestro[bot] 提交于
      * Update dependencies from https://github.com/dotnet/arcade build 20230829.1
      
      Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitAssert , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.XUnitExtensions
       From Version 8.0.0-beta.23428.2 -> To Version 8.0.0-beta.23429.1
      
      Dependency coherency updates
      
      Microsoft.DotNet.XliffTasks
       From Version 1.0.0-beta.23423.1 -> To Version 1.0.0-beta.23426.1 (parent: Microsoft.DotNet.Helix.Sdk
      
      * Update dependencies from https://github.com/dotnet/xharness build 20230829.1
      
      Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Common , Microsoft.DotNet.XHarness.TestRunners.Xunit
       From Version 8.0.0-prerelease.23421.1 -> To Version 8.0.0-prerelease.23429.1
      
      * Update dependencies from https://github.com/dotnet/emsdk build 20230829.3
      
      Microsoft.NET.Workload.Emscripten.Current.Manifest-9.0.100.Transport
       From Version 9.0.0-alpha.1.23427.1 -> To Version 9.0.0-alpha.1.23429.3
      
      * Update dependencies from https://github.com/dotnet/sdk build 20230830.6
      
      Microsoft.DotNet.ApiCompat.Task
       From Version 9.0.100-alpha.1.23429.3 -> To Version 9.0.100-alpha.1.23430.6
      
      * Dependency coherency updates
      
      runtime.linux-arm64.Microsoft.NETCore.Runtime.ObjWriter,runtime.linux-x64.Microsoft.NETCore.Runtime.ObjWriter,runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.ObjWriter,runtime.linux-musl-x64.Microsoft.NETCore.Runtime.ObjWriter,runtime.win-arm64.Microsoft.NETCore.Runtime.ObjWriter,runtime.win-x64.Microsoft.NETCore.Runtime.ObjWriter,runtime.osx-arm64.Microsoft.NETCore.Runtime.ObjWriter,runtime.osx-x64.Microsoft.NETCore.Runtime.ObjWriter,runtime.linux-arm64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.linux-x64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.linux-musl-x64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.win-arm64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.win-x64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.osx-arm64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.osx-x64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools,runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools,runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools,runtime.linux-musl-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.linux-musl-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools,runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools,runtime.osx-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.osx-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools,runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools
       From Version 16.0.5-alpha.1.23414.1 -> To Version 16.0.5-alpha.1.23423.2 (parent: Microsoft.NET.Workload.Emscripten.Current.Manifest-9.0.100.Transport
      
      * Update dependencies from https://github.com/dotnet/sdk build 20230831.2
      
      Microsoft.DotNet.ApiCompat.Task
       From Version 9.0.100-alpha.1.23429.3 -> To Version 9.0.100-alpha.1.23431.2
      
      * Update dependencies from https://github.com/dotnet/arcade build 20230831.2
      
      Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitAssert , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.XUnitExtensions
       From Version 8.0.0-beta.23428.2 -> To Version 8.0.0-beta.23431.2
      
      Dependency coherency updates
      
      Microsoft.DotNet.XliffTasks
       From Version 1.0.0-beta.23423.1 -> To Version 1.0.0-beta.23426.1 (parent: Microsoft.DotNet.Helix.Sdk
      
      * Update dependencies from https://github.com/dotnet/xharness build 20230831.1
      
      Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Common , Microsoft.DotNet.XHarness.TestRunners.Xunit
       From Version 8.0.0-prerelease.23421.1 -> To Version 8.0.0-prerelease.23431.1
      
      * Update dependencies from https://github.com/dotnet/sdk build 20230831.39
      
      Microsoft.DotNet.ApiCompat.Task
       From Version 9.0.100-alpha.1.23429.3 -> To Version 9.0.100-alpha.1.23431.39
      
      * Dependency coherency updates
      
      runtime.linux-arm64.Microsoft.NETCore.Runtime.ObjWriter,runtime.linux-x64.Microsoft.NETCore.Runtime.ObjWriter,runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.ObjWriter,runtime.linux-musl-x64.Microsoft.NETCore.Runtime.ObjWriter,runtime.win-arm64.Microsoft.NETCore.Runtime.ObjWriter,runtime.win-x64.Microsoft.NETCore.Runtime.ObjWriter,runtime.osx-arm64.Microsoft.NETCore.Runtime.ObjWriter,runtime.osx-x64.Microsoft.NETCore.Runtime.ObjWriter,runtime.linux-arm64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.linux-x64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.linux-musl-x64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.win-arm64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.win-x64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.osx-arm64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.osx-x64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools,runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools,runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools,runtime.linux-musl-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.linux-musl-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools,runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools,runtime.osx-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.osx-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools,runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools
       From Version 16.0.5-alpha.1.23414.1 -> To Version 16.0.5-alpha.1.23423.2 (parent: Microsoft.NET.Workload.Emscripten.Current.Manifest-9.0.100.Transport
      
      ---------
      Co-authored-by: Ndotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
      c418a28c
    • J
    • Y
      Make `--skip-unresolved` the default when not running from SDK (#90512) · 8d13e3e9
      Youssef Victor 提交于
      * Make `--skip-unresolved` the default when not running from SDK
      
      * Fix command-line doc
      
      * Update NullableOnConstraints test
      
      * chore: Update CanPreserveNullableCustomOperators test
      
      * Remove `--skip-unresolved` from targets as it's the default now in command-line linker
      
      * Fix tests that check --skip-unresolved false behavior
      
      ---------
      Co-authored-by: NSven Boemer <sbomer@gmail.com>
      8d13e3e9
    • A
      Bump mono to -std=gnu11 (#91421) · 4110bcea
      Aleksey Kliger (λgeek) 提交于
      Change the mono build to require C11 (with gnu extensions on gcc/clang platforms).
      * Change `g_static_assert` to be `_Static_assert` or `static_assert` as apropriate.
      * Change `_DN_STATIC_ASSERT` to be `static_assert`
      * Add static asserts in `jiterp.c` when it casts between `T*` and `atomic_T*`
      * Add C11 guidance to the mono coding guide doc
      
      Contributes to #90404 
      
      ---
      
      * Bump mono to -std=gnu99; use static_assert
      
      * don't fall back to runtime checks for g_static_assert
      
      * fix static assert that wasn't a constant expression
      
      * use static_assert in shared containers
      
      * bump C standard in offsets-tool.py
      
      * use _Static_assert before C23
      
         Dont' include assert.h in glib.h because some of our older 3P code includes assert.h on its own and there are conflicts
      
      * use CMAKE_C_STANDARD and related properties
      
      * jiterp: static_assert that atomic ops are (less likely) to go wrong
      
         Not every C implementation guarantees that atomic operations on arbitrary types are lock free.  So for example, casting between atomic_ushort* and uint16_t* might not actually be ok to do.  We can't assert that they're inter-castable, but at least assert that they're the same size and that atomic_ushort is always lock-free. There might still be restrictions (for example atomic_ushort might have to be aligned differently) but this should at least catch obvious data corruption.
      
      * Add C11 guidance to the Mono coding guide
      
      * jiterp: long is 32-bits on wasm; use llong
      4110bcea
    • A
      528a5cfa
    • S
      Share more code between ILLink/ILCompiler test infra (#91358) · 5b68fbf4
      Sven Boemer 提交于
      Uses the code sharing infra added in
      24e5bce9. This shares most of the
      logic that was easily shareable in the `TestCasesRunner`
      directory.
      5b68fbf4
    • C
    • E
    • A
      [wasm] Fix perf pipeline (#91446) · 9b2f5336
      Ankit Jain 提交于
      * workloads: Skip updating the targeting pack
      
      This is required because the runtime pack is still 8.0, but updating the
      targeting pack from the local build would make it 9.0, thus causing this
      error for non-wasm apps:
      
      ```
      Unhandled exception. System.IO.FileNotFoundException: Could not load file or assembly 'System.Runtime, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The system cannot find the file specified.
      
      File name: 'System.Runtime, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
      ```
      
      * [wasm] makefile cleanup
      
      * [wasm] Enable non-wasm build tests
      9b2f5336
    • J
      a940b5a2
    • H
      Fix `Item4` is missing in some `ValueTuple`s' `IStructuralEquatable.Equals` (#91461) · 9bf6d02d
      Hamish Arblaster 提交于
      * Add missing comparisons
      
      * Add unit tests
      9bf6d02d
    • S
      JIT: Remove the minopts policy against cctors (#90792) · 31fc3302
      Steve 提交于
      * Introduce a switch to use FullOpts for cctors
      
      * Remove the obsolete policy around cctors
      
      * Revert changes around the new switch
      31fc3302
  3. 01 9月, 2023 23 次提交
    • A
      Improve DevContainer configuration for Codespaces (#91465) · 2aea2440
      Alexander Köplinger 提交于
      Adds a default configuration that comes with all the dependencies preinstalled, but not prebuilt. This reduces confusion if you don't use the "New with options..." dropdown when creating the Codespace since you'd just get a standard Ubuntu container then.
      
      Also install a specific version of dotnet-serve.
      2aea2440
    • P
      [browser] make sure that no errors are lost (#91320) · f6b64151
      Pavel Savara 提交于
      f6b64151
    • H
      Remove some unused headers and functions (#91177) · ccb37d52
      Huo Yaoyuan 提交于
      * Remove winternl.h
      
      * Remove winver.h
      
      * Remove verrsrc.h
      
      * Remove dbghelp.h
      
      * Remove conio.h
      
      * Remove io.h
      
      * FILECFAbsoluteTimeToFileTime
      
      * Delete some unused header files
      
      * More unused structs and macros
      
      * Update fxver.h
      ccb37d52
    • C
      [browser] [wasm] Request Streaming upload (#91295) · 9e16f098
      campersau 提交于
      Co-authored-by: Npavelsavara <pavel.savara@gmail.com>
      9e16f098
    • A
      [ARM64] Add g_GCShadowEnd to JIT_WriteBarrier_Table (#91342) · d8b177e2
      Alexander Soldatov 提交于
      * [ARM64] Add g_GCShadowEnd to JIT_WriteBarrier_Table
      
      This change moves address of g_GCShadowEnd to JIT_WriteBarrier_Table like
      others variables used in Write Barrier.
      
      This fix simmilar to RISC-V one https://github.com/dotnet/runtime/pull/90036
      
      * [ARM64] Move GCShadow vars to the end of the wbs block
      
      * Update src/coreclr/vm/arm64/asmhelpers.asm
      
      ---------
      Co-authored-by: NJan Kotas <jkotas@microsoft.com>
      d8b177e2
    • V
      Fix official builds for NativeAOT (#91454) · f4702002
      Viktor Hofer 提交于
      The ILLink ProjectReference output shouldn't be copied to consuming projects.
      
      From the docs:
      > Private	Optional boolean. Specifies whether the reference should be copied to the output folder. This attribute matches the Copy Local property of the reference that's in the Visual Studio IDE.
      f4702002
    • T
      Microsoft.Bcl.Numerics.Tests: fix restore failure when DotNetBuildFromSource. (#91402) · 91ac6b35
      Tom Deseyn 提交于
      * Microsoft.Bcl.Numerics.Tests: fix restore failure when DotNetBuildFromSource.
      
      * Use NetCoreAppCurrent.
      
      * Try fix CI test failures.
      91ac6b35
    • W
      Guarantee that we do not hold onto a strong reference of the watcher when... · f64dac2b
      Will Smith 提交于
      Guarantee that we do not hold onto a strong reference of the watcher when processing events (#91301)
      
      f64dac2b
    • D
      [main] Update dependencies from dotnet/installer (#91391) · dd0fe8a6
      dotnet-maestro[bot] 提交于
      Microsoft.Dotnet.Sdk.Internal
       From Version 9.0.100-alpha.1.23429.7 -> To Version 9.0.100-alpha.1.23431.1
      Co-authored-by: Ndotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
      dd0fe8a6
    • M
      Fix runtime dispatch to static virtuals on interface types (#91374) · 69580089
      Michal Strehovský 提交于
      We were not generating information about static virtuals on interface types. Information about default interface methods normally goes to the class, but if the T we're dispatching on is an interface, this information wasn't generated. The fix is to put this information into dispatch maps and sealed vtables, same way we do for classes.
      
      The test shows what the problem is - if we change `IBar` to be a class, things would work even before this PR.
      69580089
    • M
      Fix LDTOKEN of methods that have modifiers (#91382) · 43f3e60b
      Michal Strehovský 提交于
      When we started generating custom modifiers into metadata format to support new function pointer APIs in #85504, we should have also added it to native layout format. We currently have a mismatch. This is a low risk bugfix to ignore modifiers on the metadata side. We'll want to do a full fix to actually emit and compare this. Tracked in a .NET 9 bug at #91381.
      
      No regression test because I spent too much time being puzzled at why https://github.com/Handlebars-Net/Handlebars.Net/blob/50614fd844e5360eb10e76154aa74da4d7bf12ce/source/Handlebars/Helpers/IHelperDescriptor.cs#L13 is generated as a custom modifier (`[in] !TOptions& modreq([netstandard]System.Runtime.InteropServices.InAttribute) options`) whereas if I do it, I get `[in] !T& 'value'` with a custom attribute. We'll want to write a proper set of tests with ambiguities for the bug I opened anyway.
      43f3e60b
    • M
      Fix arm64/arm32 cross-DAC (#91425) · 0241bc15
      Mike McLaughlin 提交于
      The precode code was incorrectly using the HOST_ARM64, HOST_ARM, etc. defines instead
      of the TARGET_ ones. This means the cross-DAC was using the wrong architectures
      *Precode::Type codes.
      0241bc15
    • T
      Options Source Gen Fixes (#91363) · a8d5e7db
      Tarek Mahmoud Sayed 提交于
      a8d5e7db
    • A
      Add late binding lookup in VB.NET for COM objects (#91399) · 97a98cd7
      Aaron Robinson 提交于
      * Add late binding lookup in VB.NET for COM objects
      97a98cd7
    • E
      Implement IDirectoryContents on PhysicalDirectoryInfo (#91024) · 8aba1868
      Emmanuel André 提交于
      * Implement IDirectoryContents on PhysicalDirectoryInfo
      
      * Update test
      
      * Avoid code duplication
      8aba1868
    • A
      Test hot/cold splitting in runtime-coreclr crossgen2 pipeline (#91217) · 431ac21a
      Aman Khalid 提交于
      Adds job to runtime-coreclr crossgen2 that runs the innerloop test group
      with hot/cold splitting enabled in Crossgen2.
      431ac21a
    • F
      [Mono] Fix offset calculation for nested struct, when pinvoke is enabled (#91292) · cd4a2537
      Fan Yang 提交于
      * Fix offset calculation for nested struct
      
      * Add a test for nested struct with pinvoke
      
      * Move and update test with real c++ implementation
      
      * Exclude newly added test from wasm
      
      * Disable interop tests on android and apple devices
      cd4a2537
    • M
      Remove some manual test scaffolding (#89653) · c540d01d
      Mark Plesko 提交于
      c540d01d
    • E
      Add error message for loading assembly with incompatible architecture (#91289) · 7d7b0fa3
      Elinor Fung 提交于
      - Add an error message explicitly calling out incompatible architecture when we detect that case
      - Propagate the load error when failing to load a PE image
      - Show file path if trying to load from a path, assembly display name otherwise
      7d7b0fa3
    • L
      Revert "[wasm] Add link to docs to interop error messages (#91328)" (#91408) · 1c7adc65
      Larry Ewing 提交于
      This reverts commit 838b21fc.
      1c7adc65
    • M
      new synchronization mechanism for DATAS (#90726) · e4e95dea
      Maoni Stephens 提交于
      The current mechanism has a fundamental flaw which is the idling threads can start running at unpredictable times when they are woken up. This causes all sorts of problems. For example, when a thread gets here in gc_thread_function -
      
      `if (n_heaps <= heap_number)`
      
      if it's true it's supposed to wait. But its execution could be delayed so after it reads n_heaps it can stop for a while since no thread is waiting on this thread anyway... till some time later when a heap count changes happens again and it requires this thread to participating. And now this thread does the comparison and discovers that it needs to wait so it goes idle and all other threads will just be waiting for this thread to join.
      
      Another example is it's not safe to change the heap count for a join from a larger one to a smaller one. It's fine to change from a smaller one to a larger one because all the threads participating will have to run in order for a join to finish. But if no one is waiting on a thread, it could just wake up from the event being set by the last thread joining and not run for a while. Then go back to the respin loop at a point where the color was changed and changed again! So now it thinks it can proceed with a join it does not belong to. And of course that wouldn't work.
      
      The way threads are going idle/waking up is hard to keep track of - not only does it involve the gc_start_event and gc_idle_thread_event, it also uses WaitForGCEvent which is used by SuspendEE/RestartEE which in turn means whenever we want to call these we'd need to care about how that would affect this.
      
      The new mechanism only uses gc_start_event and gc_idle_thread_event, but I changed gc_idle_thread_event to a per heap event. We can easily track which threads are going idling easily - whenever a thread is about to wait on the idle event, we increase the current idle_thread_count. And when we increase the heap count we only set the gc_idle_thread_event for the new heaps that are about to participate so we can deduct that many from idle_thread_count. There's a much simpler code path between "we know we don't need these threads anymore" to "these threads are at a known point" because the next time gc_start_event is set (ie, a GC is requested) we make sure to get these threads to a good known point, ie, we wait till all of them have completed increasing idle_thread_count.
      
      Also fixed a couple of other problems that I hit while testing the new mechanism -
      
      We are setting freeable_uoh_segment and freeable_soh_segment in decommission_heap to DECOMMISSIONED_REGION_P. And this causes us to simply lose the value for them. We should make sure we do push these to the free regions before we start changing the heap count.
      
      We should also call background_delay_delete_uoh_segments before we start changing the heap count so we can get rid of the regions marked with heap_segment_flags_uoh_delete. If we allow these to be rearranged in equalize_promoted_bytes it means the order can change the invariant of the first region never being deleted no longer holds true and we can AV in this method.
      
      I added an new method delay_free_segments to perform both tasks.
      
      The accounting of generation_free_list_space is slightly off for LOH which causes us to hit assert (gen_size >= dd_fragmentation (dd)); in change_heap_count because we were not counting the loh_pad size.
      I also disabled assert (free_list_space_decrease <= dd_fragmentation (dd)); for gen2 since I'm seeing this fired while I'm doing stress runs. I have yet to investigate this since I didn't want to add yet more changes to this PR.
      e4e95dea
    • S
      Use live illink to trim framework (#91233) · faf883db
      Sven Boemer 提交于
      * Use live illink
      
      * Include ILLink.Tasks for subsets that depend on it
      
      Also prevent build-native.proj from importing illink.targets.
      
      * Address feedback
      
      - Don't reference ILLink.Tasks from subsets
      - Use PackageReference from illink.tasks
      - Import props from source directory
      
        Add extensibility to shipping targets to make this possible.
      - Set IsSourceProject false for .proj files
      
      * Fix TFM, Configuration, PrivateAssets
      
      * Address feedback
      
      Avoid needing to reorganize SDK imports
      
      * Fix typo
      
      * Fix configuration in ToolsILLinkDir
      
      * Don't change IsSourceProject
      
      * Update eng/illink.targets
      Co-authored-by: NViktor Hofer <viktor.hofer@microsoft.com>
      
      * Fix tools configuration
      
      * Normalize directory separator chars
      
      We agreed on (at least under src/libraries) to use the Windows directory separator char `\` instead of a forward slash. This helps when looking at binlogs as those then correctly display a path.
      
      ---------
      Co-authored-by: NViktor Hofer <viktor.hofer@microsoft.com>
      faf883db
    • M
      [nodejs] Remove experimental wasm arguments from template (#91384) · 7cdc7fe3
      Marek Fišera 提交于
      * Remove experimental wasm arguments from template and add them to features.md
      
      * Fix WBT
      
      * Use lowercase host in runtimeconfig.template.json
      
      * Override runtimeconfig only for wasmconsole
      7cdc7fe3