Pull Request on 2026年02月21日

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

注意点

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



#124681 Clarify wording for suppressing CI failure modes

  • 作成者: @danmoseley
  • 作成日時: 2026年02月20日 23:30:17(UTC)
  • マージ日時: 2026年02月21日 00:55:32(UTC)
  • ラベル: area-Meta

概要

CI ワークフロードキュメンテーション内で、CI 失敗モードの抑制に関する提案の表現を明確化しました。失敗分析ドキュメントの 4 行を更新し、より正確な表現に改善しています。

変更内容

  • docs/workflow/ci/failure-analysis.md: CI 失敗の抑制に関する説明文の表現を改善(+2行/-2行)

パフォーマンスへの影響

影響なし(ドキュメント変更のみ)

関連Issue

なし

その他

本変更は CI ワークフロードのドキュメント改善であり、開発環境での失敗分析プロセスに関する説明の妥当性と明確性の向上を目的としています。


#124675 Remove unused src/native/managed/cdacreader directory

  • 作成者: @Copilot
  • 作成日時: 2026年02月20日 20:49:31(UTC)
  • マージ日時: 2026年02月21日 00:23:31(UTC)
  • ラベル: area-Diagnostics-coreclr

概要

src/native/managed/cdacreader ディレクトリは未使用で空の成果物であったため削除されました。このディレクトリは親ディレクトリのビルドターゲットに転送するだけの Directory.Build.targets ファイルのみを含んでおり、実際のプロジェクト、ソースコード、ビルドスクリプトからの参照はありませんでした。

変更内容

  • src/native/managed/cdacreader/Directory.Build.targets ファイルおよび空のディレクトリを削除(3行削除)

パフォーマンスへの影響

影響なし

このディレクトリはビルドシステムにおいて実際には使用されていなかったため、削除によるパフォーマンス上の変化はありません。むしろビルド時の不要な処理を削減する可能性があります。

関連Issue

なし

その他

本変更は .NET ランタイムのリポジトリのクリーンアップであり、ビルドシステムの保守性を向上させることを目的としています。API変更やランタイム動作への影響はなく、純粋なコードベースの整理です。


#124673 [Wasm RyuJit] fix issue in RewriteLocalStackStore

  • 作成者: @AndyAyersMS
  • 作成日時: 2026年02月20日 20:19:41(UTC)
  • マージ日時: 2026年02月21日 15:23:37(UTC)
  • ラベル: area-CodeGen-coreclr

概要

WebAssembly向けのRyuJit JITコンパイラにおいて、ローカルスタックストア操作の再書き込み処理でtype bashing前に元の型情報をキャプチャするように修正しました。これにより、型情報の損失によって引き起こされていた問題を解決します。

変更内容

  • src/coreclr/jit/regallocwasm.cpp: RewriteLocalStackStore関数の実装を修正
    • TYP_I_IMPLへの型変換前に元の型情報を保存するようにロジックを調整
    • 変更行数: +7/-4(合計11行)

パフォーマンスへの影響

影響なし。本修正は正確性の向上を目的としており、パフォーマンス上の変化は想定されていません。

関連Issue

なし

その他

  • 本修正はWebAssemblyコンパイルターゲット(regallocwasm.cpp)に限定された変更です
  • 型情報の保持は後続の処理で正確な型ハンドリングを可能にするため、バグ修正として機能します
  • JITコンパイラの内部実装変更(公開APIへの影響なし)

#124575 [Wasm RyuJit] codegen for some intrinsics

  • 作成者: @AndyAyersMS
  • 作成日時: 2026年02月18日 23:20:06(UTC)
  • マージ日時: 2026年02月21日 15:26:50(UTC)
  • ラベル: arch-wasm area-CodeGen-coreclr

概要

WebAssembly (Wasm) RyuJit のコードジェネレータに数学関連の組み込み関数(intrinsics)のサポートを追加しました。これらの intrinsics は WebAssembly ネイティブ操作に直接マップされます。

変更内容

  • src/coreclr/jit/codegenwasm.cpp (+133行): Wasm 数学 intrinsics のコード生成ロジックを実装
  • src/coreclr/jit/importercalls.cpp (+46行/-8行): intrinsics 呼び出しのインポーター処理を追加・改善
  • src/coreclr/jit/valuenum.cpp (+6行/-1行): 値番号付けロジックを更新して新しい intrinsics に対応

パフォーマンスへの影響

Wasm の直接操作にマップされることで、数学関数の呼び出しオーバーヘッドが削減されます。特に WebAssembly ターゲットでの数学演算において、関数呼び出しスタックの構築を避けることで、実行速度とメモリ効率が向上する見込みです。

関連Issue

明記されていません。

その他

  • 変更はコンパイラレベルの最適化であり、ランタイム動作には影響なし
  • Wasm プラットフォーム固有の改善のため、他のプラットフォームへの影響なし
  • 複数のレビュワー(特に tannergooding)による丁寧なレビューが実施されています

#124534 [Wasm RyuJit] Null checks for calls, overflow checks for int to int casts, resolve stack ordering, more

  • 作成者: @AndyAyersMS
  • 作成日時: 2026年02月18日 03:30:09(UTC)
  • マージ日時: 2026年02月21日 02:04:37(UTC)
  • ラベル: arch-wasm area-CodeGen-coreclr

概要

WebAssembly向けRyuJITコンパイラの複数のバグ修正を含むPRです。crossgen実行時に発見された問題に対応し、null checks、overflow checks、スタック順序、戻り値型の分類などを修正しています。主な変更はcodegenwasm.cpp、regallocwasm.cpp、lowerwasm.cppに集中しており、WebAssembly JIT生成コードの正確性を向上させています。

変更内容

  • codegenwasm.cpp (+131/-10): null checks for calls、delegate invoke処理、NOT命令のスタック順序修正
  • regallocwasm.cpp (+50/-11): レジスタ割り当て関連のスタック順序とnull check処理の改善
  • lowerwasm.cpp (+27/-1): int to int castのoverflow checks実装
  • gentree.cpp/h (+28/-0, +2/-0): 構造体の戻り値型分類修正(primitives返却時)
  • stacklevelsetter.cpp (+7/-0): スタックレベル設定の調整
  • lower.cpp/h: 下位レベルコンパイラインフラの小規模な修正
  • compiler.cpp (+1/-1): 軽微な変更

パフォーマンスへの影響

直接的なパフォーマンス改善は記載されていません。変更内容は主に正確性の向上(null checks追加、overflow checks追加、スタック順序の修正)に焦点を当てており、安全性の強化によるオーバーヘッドが若干発生する可能性があります。ただし、WebAssembly JIT生成コードの信頼性向上がもたらす間接的な効果(不正な動作の防止)は重要です。

関連Issue

なし

その他

  • このPRはcrossgen(事前コンパイルツール)実行時の問題検出に基づいており、WebAssembly backend特有のバグ修正です
  • 複数のレビュワー(SingleAccretion、jakobbotsch、adamperlin)による詳細なレビューが行われており、品質管理が徹底されています

#124514 JIT: Add a "default value analysis" for async hoisting

  • 作成者: @jakobbotsch
  • 作成日時: 2026年02月17日 14:31:53(UTC)
  • マージ日時: 2026年02月21日 14:00:00(UTC)
  • ラベル: area-CodeGen-coreclr

概要

JIT コンパイラにデフォルト値解析機能を追加し、async ホイスティング時に初期化されていないローカル変数を continuation にコピーすることを回避します。これにより、async/await を含むメソッドで生成されるマシンコードサイズを削減し、パフォーマンスを向上させます。

変更内容

  • src/coreclr/jit/async.cpp (+383/-8)

    • デフォルト値解析の実装を追加(新しい解析パス)
    • async 中断ポイント周辺で continuation にホイストされるローカル変数の最適化
    • デフォルト値を保持しているローカル変数のスキップ処理を追加
  • src/coreclr/jit/jitconfigvalues.h (+2/-0)

    • 解析を制御するための JIT 設定値を追加

パフォーマンスへの影響

改善: コード例のベンチマークでは、生成されるマシンコードサイズが 544 バイトから 471 バイトに削減(13.4% 削減)。具体的な改善点:

  • 不要なメモリコピー操作(rep movsq 等)を排除
  • スタックメモリ割り当てを 104 バイトから 96 バイトに削減(8 バイト節約)
  • 不要なレジスタ操作(vzeroupper 等)を削除

これにより、async メソッドのメモリフットプリントと実行時のオーバーヘッドが削減されます。

関連Issue

Issue #124512

その他

  • 既存の async ホイスティング最適化と統合されるため、互換性への影響なし
  • JIT 設定値の追加により、必要に応じて解析の動作を制御可能

目次