Pull Request on 2025年12月22日

dotnet/runtimeにマージされたPull RequestをAIで日本語要約

注意点

このページは、dotnet/runtimeリポジトリにマージされたPull Requestを自動的に収集し、その内容をAIが要約した内容を表示しています。そのため、必ずしも正確な要約ではない場合があります。


目次

  1. #122701 Add native AOT arm64 CFG testing
  2. #122699 [release/9.0-staging] Update dependencies from dotnet/xharness
  3. #122695 Fix Native AOT repro project
  4. #122689 Delete redundant RhpUniversalTransition
  5. #122658 Move managed type system APIs to UTF-8
  6. #122631 Fix up hijacking on x64 platforms in presence of runtime async
  7. #122623 Fix dataflow analysis of lambdas in async methods
  8. #122580 [release/9.0-staging] Update dependencies from dotnet/cecil
  9. #122579 [release/9.0-staging] Update dependencies from dotnet/roslyn-analyzers
  10. #122558 [release/8.0] Update dependencies from dotnet/arcade
  11. #122515 [release/9.0-staging] Update dependencies from dotnet/icu
  12. #122514 [release/8.0-staging] Update dependencies from dotnet/icu
  13. #122508 [release/9.0] Update dependencies from dotnet/emsdk
  14. #122149 Remove implicit string operator from Utf8String

#122701 Add native AOT arm64 CFG testing

  • 作成者: @MichalStrehovsky
  • 作成日時: 2025年12月22日 06:06:32(UTC)
  • マージ日時: 2025年12月22日 14:15:21(UTC)
  • ラベル: area-NativeAOT-coreclr

概要

Native AOT対応のARM64プラットフォームにおいて、CFG(Control Flow Guard)テスティングを追加するPull Requestです。従来はx64でのCFGテストが実施されていましたが、ARM64プラットフォームでも同等のテストカバレッジを確保することで、ネイティブコンパイル時のセキュリティ機能の品質向上を目指しています。

変更内容

  • eng/pipelines/coreclr/runtime-nativeaot-outerloop.yml
    • ARM64向けのネイティブAOT CFGテストが新規追加(+33行)
    • 既存のx64 CETテストレグと同様の構成でARM64版パイプラインを構築
    • 外部ループテスト(outerloop)としてCI/CDパイプラインに統合

パフォーマンスへの影響

影響なし。本変更はテスト基盤の拡充であり、ランタイムのパフォーマンス特性には直接的な影響を及ぼしません。ただしCI/CDパイプラインの実行時間が若干増加する可能性があります。

関連Issue

なし

その他

  • レビュアーのコメントからARM64マシン上の既知のICU関連の問題が言及されており、これらの既知問題を考慮したテスト実行が必要です
  • 本PR は.NET ランタイムのセキュリティ強化(CFG対応)におけるARM64プラットフォーム対応の完全化を示すものです

#122699 [release/9.0-staging] Update dependencies from dotnet/xharness

  • 作成者: @dotnet-maestro[bot]
  • 作成日時: 2025年12月22日 05:02:50(UTC)
  • マージ日時: 2025年12月22日 23:08:35(UTC)
  • ラベル: Servicing-approved area-codeflow

概要

dotnet/xharness の依存関係を更新するPull Requestです。Microsoft.DotNet.XHarness.CLI、TestRunners.Common、TestRunners.Xunit の3つのパッケージをバージョン 9.0.0-prerelease.25601.1 から 9.0.0-prerelease.25615.2 にアップデートします。これはrelease/9.0-stagingブランチへの自動依存関係更新です。

変更内容

  • .config/dotnet-tools.json: ツール定義の更新(1行追加、1行削除)
  • eng/Version.Details.xml: XHarness関連パッケージのバージョン情報を6行更新
  • eng/Versions.props: バージョンプロパティを3行更新

パフォーマンスへの影響

影響なし

関連Issue

関連するIssue: Build failures: macOS-13 based runner images are now retired (#122709)(レビュワーのコメントより)

その他

  • 2025年12月15日にビルドされたxharness release/9.0ブランチの最新版を取り込むもの
  • このPRはMaestro自動化ツールによって自動生成された依存関係更新です
  • レビュワー jeffhandley により確認待機中

#122695 Fix Native AOT repro project

  • 作成者: @eduardo-vp
  • 作成日時: 2025年12月22日 04:33:15(UTC)
  • マージ日時: 2025年12月22日 07:13:45(UTC)
  • ラベル: area-NativeAOT-coreclr

概要

Native AOTのreproプロジェクトをPull Request #122227の変更に合わせて更新したマイナーな修正です。repro.csprojファイルの1行が変更されており、プロジェクト設定の同期が目的と考えられます。

変更内容

  • src/coreclr/tools/aot/ILCompiler/repro/repro.csproj: 1行追加、1行削除(合計2行の変更)
    • 前述のPR #122227に対応するプロジェクト設定の更新

パフォーマンスへの影響

影響なし

関連Issue

  • Pull Request #122227(参照されている関連する変更)

その他

  • 単一ファイルの軽微な修正であり、Native AOT環境での再現プロジェクト(repro)の保守更新です
  • copilot-pull-request-reviewerとMichalSthrovsky(Native AOT担当者)がレビューしています
  • 詳細な変更内容はPR #122227を確認することで、プロジェクト間の整合性を理解できます

#122689 Delete redundant RhpUniversalTransition

  • 作成者: @jkotas
  • 作成日時: 2025年12月21日 20:40:40(UTC)
  • マージ日時: 2025年12月22日 13:41:10(UTC)
  • ラベル: area-NativeAOT-coreclr

概要

.NET Nativeの呼び出し規約変換から残されていた冗長なRhpUniversalTransition関数を削除するPR。テールコール用途のUniversal Transitionのみが必要であるため、汎用版を削除して余分なコードを整理します。複数のアーキテクチャ(x64、ARM、ARM64、i386、LoongArch64、RISC-V)とNativeAOTランタイムに関連する変更が含まれています。

変更内容

  • UniversalTransition: amd64、arm、arm64、i386、loongarch64、riscv64各アーキテクチャの実装ファイル(.S/.asm)から非テールコール版の関数定義を削除
  • CachedInterfaceDispatchAot: インターフェースディスパッチの参照を更新
  • StackFrameIterator.cpp: フレームイテレーターの関連ロジックを簡潔化
  • portable.cpp: ポータブル実装を整理
  • CMakeLists.txt: ビルド設定から不要なファイル参照を削除
  • StubDispatch: 複数アーキテクチャのスタブディスパッチで参照を更新

パフォーマンスへの影響

影響なし。本変更はコード削減による整理であり、機能的な変更ではありません。テールコール最適化版のみ残存するため、パフォーマンスの低下はありません。

関連Issue

#122639

その他

このPRは過去のレガシーコード削除であり、NativeAOTランタイムの保守性向上に貢献します。複数のアーキテクチャにまたがる変更のため、各プラットフォームでの動作確認が必要と考えられます。


#122658 Move managed type system APIs to UTF-8

  • 作成者: @eduardo-vp
  • 作成日時: 2025年12月19日 06:41:19(UTC)
  • マージ日時: 2025年12月22日 22:00:30(UTC)
  • ラベル: area-crossgen2-coreclr

概要

マネージド型システムAPIをUTF-8ベースに移行し、文字列割り当てを削減するメモリ最適化を実施。複数のコンパイラツールチェーン関連ファイルで、名前マングリング・メタデータ処理・IL生成などの処理をUTF-8操作に統一し、不要な文字列アロケーションを削減。

変更内容

  • 型システムメタデータ処理: EcmaType.csMetadataType.csなどでUTF-8ベースのAPI呼び出しに変更
  • 名前マングリング: IPrefixMangledMethod.csIPrefixMangledSignature.csIPrefixMangledType.csのインターフェースをUTF-8対応に拡張
  • IL生成: NativeAotILProvider.csで大幅な変更(182行追加/202行削除)、UTF-8処理の最適化
  • マーシャリング: PInvokeDelegateWrapper.Mangling.csCalliMarshallingMethodThunk.Mangling.csなどでUTF-8処理に統一
  • 相互運用: UnmanagedCallingConventions.csでUTF-8ベースのAPI呼び出しに改善
  • テスト: DevirtualizationTests.csTypeNameParsingTests.csなどテストファイルの対応

パフォーマンスへの影響

改善: UTF-8ベースの操作により文字列アロケーション削減。特にIL生成パイプラインやメタデータ処理で複数の文字列操作が発生していた箇所が効率化される。AOT(Ahead-of-Time)コンパイルやリフレクション処理のメモリ使用量削減が期待できる。

関連Issue

#122363 - マネージド型システムAPIのUTF-8移行に関連するissue

その他

本PRはより大規模なUTF-8移行イニシアティブの一部。.NET Compilerツールチェーン全体でメモリ効率を改善する方針の継続的な取り組み。NativeAotILProviderの変更が最大の差分であり、今後のパフォーマンス計測が推奨される。


#122631 Fix up hijacking on x64 platforms in presence of runtime async

  • 作成者: @MichalStrehovsky
  • 作成日時: 2025年12月18日 08:21:29(UTC)
  • マージ日時: 2025年12月22日 22:13:35(UTC)
  • ラベル: area-NativeAOT-coreclr runtime-async

概要

x64プラットフォームでランタイム非同期実行時のハイジャッキング処理を修正するPRです。GC割り込み時に継続レジスタ(continuation register)を適切に保存・復元することで、非同期GCが正常に動作するようにします。これはNative AOTランタイムがJIT/VM側の非同期GC対応に合わせるための変更です。

変更内容

  • src/coreclr/nativeaot/Runtime/amd64/AsmMacros.inc (+1行)

    • マクロ定義の追加
  • src/coreclr/nativeaot/Runtime/amd64/GcProbe.S (+26/-14行)

    • ハイジャッキング処理で継続レジスタの保存・復元機能を追加
  • src/coreclr/nativeaot/Runtime/amd64/GcProbe.asm (+22/-19行)

    • Windows版アセンブリで同様のハイジャッキング修正を実施
  • src/coreclr/nativeaot/Runtime/unix/unixasmmacrosamd64.inc (+1行)

    • Unix向けマクロ定義の追加

パフォーマンスへの影響

影響なし。本変更は正確性の修正であり、保存・復元するレジスタセットは既存の非揮発性レジスタに1つレジスタを追加するのみです。

関連Issue

  • #122492(メインIssue)
  • #122526(x64での修正が必要な理由)
  • #121871(他プラットフォーム対応がブロックされている)

その他

  • 本修正はx64プラットフォーム限定です。他の64ビットプラットフォーム対応は#121871の解決を待機中です。
  • レビュアーコメントでは、レジスタ報告機能は非同期呼び出しの有無に関わらず常に実行されることが確認されています。

#122623 Fix dataflow analysis of lambdas in async methods

  • 作成者: @MichalStrehovsky
  • 作成日時: 2025年12月17日 22:43:56(UTC)
  • マージ日時: 2025年12月22日 06:36:34(UTC)
  • ラベル: linkable-framework area-NativeAOT-coreclr

概要

async メソッド内のラムダ式に対するデータフロー分析のバグを修正するPull Requestです。#122450と同様の修正パターンに従っており、ILLink と Roslyn analyzer で共有されているコードに async バリアントを理解させるのではなく、実装レベルでの対応を施しています。

変更内容

  • CompilerGeneratedState.cs: async メソッド内のラムダ式のデータフロー追跡に関する修正(4行追加)
  • RuntimeAsyncMethods.cs: async メソッドシナリオのテストケース追加(13行追加)

パフォーマンスへの影響

影響なし

関連Issue

#122450(同様の修正パターンの先行PR)

その他

  • このPRは既知の不具合を段階的に解決するアプローチを採用しており、完全な解決策よりも実用的な修正を優先しています
  • ILC(Intermediate Language Compiler)関連の貢献者向けの変更となります
  • データフロー分析は AOT コンパイル時の最適化と安全性検証に関わる重要な機能です

#122580 [release/9.0-staging] Update dependencies from dotnet/cecil

  • 作成者: @dotnet-maestro[bot]
  • 作成日時: 2025年12月16日 02:04:08(UTC)
  • マージ日時: 2025年12月22日 23:04:52(UTC)
  • ラベル: Servicing-approved area-codeflow

概要

dotnet/cecilリポジトリからの依存関係を更新するPull Requestです。Microsoft.SourceBuild.Intermediate.cecilとMicrosoft.DotNet.Cecilを、バージョン0.11.5-alpha.25566.3から0.11.5-alpha.25614.3へアップデートします。このアップデートは2025年12月15日に生成されたcecilのrelease/9.0ブランチからの自動更新です。

変更内容

  • eng/Version.Details.xml (+4/-4): バージョン詳細情報の更新(8行変更)
  • eng/Versions.props (+1/-1): バージョンプロパティの更新(2行変更)

変更内容は依存関係のバージョン番号の更新に限定されており、バージョン管理ファイルのみが修正されています。

パフォーマンスへの影響

影響なし。本PR は依存関係のメタデータ更新のみであり、実装コードの変更を含みません。

関連Issue

macOS-13ランナーイメージ廃止に関連するビルド失敗(#122709)が報告されています。

その他

  • 自動化ツール(dotnet-maestro[bot])による定期的な依存関係更新です
  • レビュワーは jeffhandley です
  • release/9.0-stagingブランチへの更新であり、.NET 9.0向けの整理統頓です

#122579 [release/9.0-staging] Update dependencies from dotnet/roslyn-analyzers

  • 作成者: @dotnet-maestro[bot]
  • 作成日時: 2025年12月16日 02:03:45(UTC)
  • マージ日時: 2025年12月22日 23:08:19(UTC)
  • ラベル: Servicing-approved area-codeflow

概要

dotnet/roslyn-analyzersの依存パッケージをバージョンアップするPull Requestです。Microsoft.CodeAnalysis.AnalyzersおよびMicrosoft.CodeAnalysis.NetAnalyzersが更新されました。2025年12月15日時点でのビルド20251215.3に基づいており、release/9.0-stagingブランチへの自動更新です。

変更内容

  • eng/Version.Details.xml: Microsoft.CodeAnalysis.Analyzersを3.11.0-beta1.25173.3から3.11.0-beta1.25615.3へ更新(+4/-4行)
  • eng/Versions.props: Microsoft.CodeAnalysis.NetAnalyzersを9.0.0-preview.25173.3から9.0.0-preview.25615.3へ更新(+2/-2行)
  • 計2ファイル、8行の変更

パフォーマンスへの影響

影響なし。このPRは依存パッケージのバージョン更新であり、パフォーマンス特性の変更ではありません。

関連Issue

macOS-13 based runner images are now retired (#122709) - ビルド失敗に関連

その他

  • dotnet-maestroボットによる自動化されたPRです
  • レビュワーはjeffhandley
  • 最新コメント(2025年12月22日)ではmacOS-13ランナーの廃止に関するビルド失敗が報告されています
  • ソースコード比較: roslyn-analyzers/compare/16865ea619...7576c1d00a

#122558 [release/8.0] Update dependencies from dotnet/arcade

  • 作成者: @dotnet-maestro[bot]
  • 作成日時: 2025年12月15日 14:46:03(UTC)
  • マージ日時: 2025年12月22日 22:59:21(UTC)
  • ラベル: Servicing-approved area-codeflow

概要

このプルリクエストは、dotnet/arcadeリポジトリの依存関係を更新するものです。2025年12月11日のビルド20251211.2に基づいており、Microsoft.DotNet.Arcade.Sdkを含む17個のNuGetパッケージを8.0.0-beta.25562.3から8.0.0-beta.25611.2へ更新しています。また、Microsoft.DotNet.XUnitConsoleRunnerは2.5.1-beta.25562.3から2.5.1-beta.25611.2に更新されています。

変更内容

  • eng/Version.Details.xml: 依存関係の詳細バージョン情報を更新(36行追加/削除)
  • eng/Versions.props: バージョン定義を更新(15行追加/削除)
  • global.json: グローバルバージョン設定を更新
  • eng/common/internal-feed-operations.ps1、nuget-verification.ps1、post-build-utils.ps1、tools.ps1: スクリプト内の参照を更新
  • テンプレートファイル群: source-build.yml、source-index-stage1.yml、setup-maestro-vars.ymlなどのビルドテンプレートを更新

パフォーマンスへの影響

影響なし

関連Issue

その他

このプルリクエストは自動生成マージツール(dotnet-maestro[bot])による依存関係の自動更新です。レビュー時にmacOS-13ランナーイメージの廃止に関連するビルド失敗が報告されています。


#122515 [release/9.0-staging] Update dependencies from dotnet/icu

  • 作成者: @dotnet-maestro[bot]
  • 作成日時: 2025年12月13日 02:03:51(UTC)
  • マージ日時: 2025年12月22日 23:07:54(UTC)
  • ラベル: Servicing-approved area-codeflow

概要

dotnet/icuリポジトリからの依存関係を更新するPull Requestです。Microsoft.NETCore.Runtime.ICU.Transportパッケージをバージョン9.0.0-rtm.25574.1から9.0.0-rtm.25612.1に更新しており、release/9.0-stagingブランチに対する自動更新です。

変更内容

  • eng/Version.Details.xml: Microsoft.NETCore.Runtime.ICU.Transportの依存関係情報を更新(2行変更)
  • eng/Versions.props: バージョン番号を新しいビルド版に更新(1行変更)

パフォーマンスへの影響

影響なし

関連Issue

  • Build failures: macOS-13 based runner images are now retired (#122709)

その他

  • このPRは自動化されたdotnet-maestroボットによって作成されています
  • レビュワーはjeffhandleyです
  • 最新コメント(2025-12-22)で、macOS-13ランナーイメージの廃止に関連するビルド失敗への対応がされています
  • 変更はICU(国際化コンポーネント)の定期的な依存関係更新であり、セキュリティパッチやバグ修正を含む可能性があります

#122514 [release/8.0-staging] Update dependencies from dotnet/icu

  • 作成者: @dotnet-maestro[bot]
  • 作成日時: 2025年12月13日 02:02:14(UTC)
  • マージ日時: 2025年12月22日 22:57:53(UTC)
  • ラベル: Servicing-approved area-codeflow

概要

dotnet/icu リポジトリからの依存関係を更新するPull Requestです。Microsoft.NETCore.Runtime.ICU.Transport パッケージをバージョン 8.0.0-rtm.25565.1 から 8.0.0-rtm.25612.3 に更新しています。これは .NET 8.0 リリースブランチの定期的な依存関係更新で、国際化(ICU)ライブラリの最新版を取り込むものです。

変更内容

  • NuGet.config: 1行削除(ソース設定の変更)
  • eng/Version.Details.xml: バージョン情報の更新(2行変更)
  • eng/Versions.props: ICU Transport のバージョン番号更新(1行変更、8.0.0-rtm.25565.1 → 8.0.0-rtm.25612.3)

パフォーマンスへの影響

影響なし(依存関係パッケージのバージョン更新のみ)

関連Issue

Build failures: macOS-13 based runner images are now retired (#122709) - ビルド環境に関する別途の問題が報告されています。

その他

  • 自動更新による Pull Request(dotnet-maestro[bot] 作成)
  • Maestro による依存関係自動化システムを使用した更新
  • 2025年12月12日時点の最新 ICU ビルド(Build 20251212.3)を取り込んでいます
  • レビュワーは jeffhandley により対応されています

#122508 [release/9.0] Update dependencies from dotnet/emsdk

  • 作成者: @dotnet-maestro[bot]
  • 作成日時: 2025年12月12日 21:24:26(UTC)
  • マージ日時: 2025年12月22日 23:07:16(UTC)
  • ラベル: Servicing-approved area-codeflow

概要

dotnet/emsdkリポジトリからの依存関係更新PRです。release/9.0ブランチにおいて、Emscripten関連のワークロードマニフェストとソースビルド中間パッケージを更新しています。2025年12月12日のビルド(20251212.7)に基づいており、NuGetおよびバージョン設定ファイルが修正されています。

変更内容

  • NuGet.config (+1/-1): NuGetの設定情報を更新
  • eng/Version.Details.xml (+5/-5): 依存関係の詳細バージョン情報を更新
    • Microsoft.SourceBuild.Intermediate.emsdk: 9.0.12-servicing.25602.39 → 9.0.12-servicing.25612.7
    • Microsoft.NET.Workload.Emscripten.Current.Manifest-9.0.100.Transport: 9.0.12-servicing.25602.39 → 9.0.12-servicing.25612.7
    • Microsoft.NET.Workload.Emscripten.Current.Manifest-9.0.100: 9.0.12 → 9.0.12
  • eng/Versions.props (+1/-1): バージョンプロパティを更新

パフォーマンスへの影響

影響なし

関連Issue

macOS-13 based runner images are now retired (#122709) - レビュワーのコメントで参照されており、ビルド失敗に関連する可能性があります。

その他

  • 自動化ツール(dotnet-maestro[bot])によって作成された依存関係更新PR
  • レビュワー: jeffhandley
  • コミット: da7afc4a474321285376824845554c836e14def5 (dotnet/emsdk)

#122149 Remove implicit string operator from Utf8String

  • 作成者: @am11
  • 作成日時: 2025年12月03日 16:45:33(UTC)
  • マージ日時: 2025年12月22日 13:26:44(UTC)
  • ラベル: community-contribution area-NativeAOT-coreclr

概要

Utf8String型の暗黙的な文字列変換演算子を削除するPR。複数のファイルで暗黙的な変換が明示的な文字列またはバイト配列コンストラクタに置き換えられています。これにより不要なメモリ割り当てを防ぎ、コード内のメモリ割り当てをより明示的にします。

変更内容

  • Utf8String.cs: 暗黙的な文字列変換演算子を削除、Utf8StringBuilderに新しいメソッドを追加
  • Object Writer関連: CoffObjectWriter、ElfObjectWriter、MachObjectWriter、PEObjectWriterで暗黙的変換を明示的な呼び出しに変更
  • Native AOT コンパイラ: DependencyAnalysis配下の複数ノード(ExternEETypeSymbolNode、ExternMethodSymbolNode等)で明示的な変換を導入
  • Dwarf/Debug情報: DwarfBuilder、DwarfInfoWriterで暗黙的変換を削除
  • その他: NativeAotNameMangler、NodeFactory、RyuJit関連など約40ファイルで同様の変更

パフォーマンスへの影響

改善:不要なメモリ割り当てを削除。暗黙的な変換では意図しない.ToString()呼び出しが発生する可能性があり、その削減により割り当てを最小化します。

注意点:Type.Nameのような値型プロパティ(マルチバイト文字を含む可能性)は意図的に変更せず、レビュー済みのコードのみを修正しています。

関連Issue

  • #122160: 関連する変換削除作業
  • #122480: グローバリゼーション関連の修正予定

その他

  • このPRは段階的なUTF-8移行作業の一部。暗黙的変換演算子の削除により、stringまたはbyte[]コンストラクタの使用が「レビュー済みで最適化完了」の標識となります
  • レビュアーとの議論で、過度なメモリ割り当てが発生する箇所の最適化を実施済み